初识java

c

1972年诞生,运行快,效率高

用于操作系统开发,编译器,数据库,网络系统等

指针和内存管理对于初学者门槛较高

c++

面向对象,但有很多的复杂特性,操作指针和内存

兼容c

用于图形领域,游戏

java

无指针,无内存管理

可移植性的实现:jvm(java virtual machine)便携式一次,到处运行

高可用,高性能,高并发

中间件将程序员从事务管理、安全管理、权限管理等方面解放出来,专注于业务开发

Java的特性和优势

简单性

面向对象:万物皆对象

可移植性:跨平台 write once, run anywhere

高性能:及时编译

分布式:url(java访问网络资源就如同在本地找文件一样)

动态性:反射机制

多线程:支持交互行为(同时听音乐,看视频)

安全性:防病毒,每次对内存进行检查;异常机制

健壮性

java的三大版本

  1. javaSE:标准版(桌面程序,控制台开发等)

  2. javaME:嵌入式开发(手机,小家电等)

  3. 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 编写 编译 运行

  1. 编写java 代码 hello.java

    public class hello {
       public static void main(String[] args){
           System.out.print("hello world");
      }
    }
  2. 运行:java hello(这里的hello是一个class文件) 得到结构

  3. 编译:javac hello.java 会生成一个class文件

  4. terminal进入到Java文件所在文件夹 

 

java程序运行机制

  • 编译型 compile 执行速度更快

    操作系统

    Java文件(源文件)被编译为class文件(字节码),class文件被执行

  • 解释型

    对速度要求不高,边运行边解释

两者时机不同,编译型为直接一次性将程序编译,解释型为执行什么即读取编译什么,性能有一定的损失,但是比编译型便于更新。

程序运行机制

Java文件(源文件)被编译为class文件(字节码),class文件被执行。class文件传入jvm中的类装载器-->字节码校验器(检测代码是否有错误)--> 解释器 --> 操作系统平台