一步步深入Java底层原理(一)

接触Java也快半年时间了,但是对Java的底层原理还不是非常清楚,最近在看《Java虚拟机(第二版)》,深有启发,顺便把Java知识梳理一下,以便更好的进行接下来的学习。


Java技术体系划分(按照所服务的平台划分):


  1. Java Card: 支持一些Java小程序(Applets)运行在小内存设备(如智能卡)上的平台。
  2. Java ME(Micro Edition) :支持Java程序运行在移动终端(手机,平板)上的平台,对Java API有所精简,并加入了对移动端的支持,原来叫J2ME。
  3. Java SE(Standard Editon ):支持面向桌面级的应用(如Windows下)的Java平台,提供了完整的Java核心API ,原来叫J2SE。
  4. Java EE(Enterprise Edition):支持多层架构的企业应用(如ERP,CRM应用)的Java平台,除了提供JavaSE平台,还对其做了大量补充并提供了部署支持,原来叫J2EE。


Java 语言是一种具有动态性的解释型编程语言,当指定程序运行的时候, Java 虚拟机就将编译生成的 . class 文件按照需求和一定的规则加载进内存,并组织成为一个完整的 Java 应用程序。
 
javac 是对 .java 文件进行编译 ,生成一个.class文件,具体为(有兴趣的读者可以参见 Java编译原理)
  • 分析和输入到符号表
  • 注解处理
  • 语义分析和生成class文件
.class文件为JVM字节码

java 是 运行 .class 文件  ,是调用JVM虚拟机执行引擎,JVM是基于栈的体系结构来执行class字节码的。

你可能感兴趣的:(Java)