c
1972年诞生,运行快,效率高
用于操作系统开发,编译器,数据库,网络系统等
指针和内存管理对于初学者门槛较高
c++
面向对象,但有很多的复杂特性,操作指针和内存
兼容c
用于图形领域,游戏
java
无指针,无内存管理
可移植性的实现:jvm(java virtual machine)便携式一次,到处运行
高可用,高性能,高并发
中间件将程序员从事务管理、安全管理、权限管理等方面解放出来,专注于业务开发
Java的特性和优势
简单性
面向对象:万物皆对象
可移植性:跨平台 write once, run anywhere
高性能:及时编译
分布式:url(java访问网络资源就如同在本地找文件一样)
动态性:反射机制
多线程:支持交互行为(同时听音乐,看视频)
安全性:防病毒,每次对内存进行检查;异常机制
健壮性
java的三大版本
-
javaSE:标准版(桌面程序,控制台开发等)
-
javaME:嵌入式开发(手机,小家电等)
-
javaEE:E企业级开发(web端,服务器开发)
java相关概念
JDK : JAVA development kit
JRE : JAVA runtime enviroment
JVM : JAVA virtual machine
JDK concludes JRE and JVM, and related develpment tools.
JRE contains JVM, libraries...
java 编写 编译 运行
-
编写java 代码 hello.java
public class hello {
public static void main(String[] args){
System.out.print("hello world");
}
} -
运行:java hello(这里的hello是一个class文件) 得到结构
-
-
terminal进入到Java文件所在文件夹
java程序运行机制
-
编译型 compile 执行速度更快
操作系统
Java文件(源文件)被编译为class文件(字节码),class文件被执行
-
解释型
对速度要求不高,边运行边解释
两者时机不同,编译型为直接一次性将程序编译,解释型为执行什么即读取编译什么,性能有一定的损失,但是比编译型便于更新。
程序运行机制
Java文件(源文件)被编译为class文件(字节码),class文件被执行。class文件传入jvm中的类装载器-->字节码校验器(检测代码是否有错误)--> 解释器 --> 操作系统平台