-
Java 类加载之反射机制
Java 反射机制能够动态获取信息、动态调用对象方法,即:在运行过程中: 对任意一个「类」都能知道它的属性和方法; 对任意一个「对象」,都能调用它的任意方法和属性;e.g:public class RobotTest { private String name; public void sayHi(String helloSentence){ System.out.println(helloSentence + "" + name); } priv...…
-
Java 类加载之 ClassLoader
JVM 的组成部分 什么是 ClassLoaderJVM 组成部分 Class Loader: 作用: 加载编译后的 class 文件到内存 RunTime Data Area: JVM 内存模型 Execution Engine: 解析 class 文件中的字节码, 解析后提交到操作系统中执行 Native Interface: 本地接口,融合不同的编程语言的原生库为 Java 所用Q: JVM 如何加载 .class 文件A: JVM 由 4个部分组成,包括 ClassL...…
-
Java虚拟机学习笔记
Java 虚拟机Java 虚拟机 虚拟机是一种抽象化的计算机, 通过在实际的计算机上仿真模拟各种计算机功能来实现;Java 虚拟机 有自己完善的硬件架构,如: 处理器、堆栈、寄存器,还有相应的指令系统;Java 虚拟机 屏蔽了与具体操作系统平台相关的信息, 使得 Java 程序只需要生成在 Java 虚拟机上运行的目标代码(即字节码)就可以在多种平台上不加修改的运行Java 程序之所以可以「一次编译,到处运行」 原因是: - Java 虚拟机对各种不同的操作系统/平台进行了定制;- ...…
-
Java 字节码学习笔记
Java 字节码 Java 字节码结构 Java 字节码增强技术Java 字节码为什么叫 Java 字节码? 字节码文件由十六进制值组成, JVM 以 2 个十六进制值为 1组 进行读取, (2个16进制值表示一个字节); Java 可以一次编译,到处运行的原因: JVM 针对各种操作系统、平台进行了定制; 无论在什么平台,都可以编译生成固定的字节码(.class 文件)供 JVM 使用 字节码很重要通过字节码可以直观的看到 Volatile 关键字如何在字节...…
-
如何理解 java
java 的平台无关性 面向对象 Java 的语言特性 java 类库 GC对于 Java 的理解,每个程序员都会有不同的见解,而且能够说出很多不同维度的理解,如果发散开来一篇文章是说不完的。所以,本文主要是从 Java 的几点特性出发,简单的聊聊对 Java 的理解, 会不断的补充进来一、Java 的平台无关性Java 平台无关性简单理解就是一次编译到处运行,即平台无关性。那么问题来了,java 是如何实现平台无关性的?通常 Java 程序运行会分为编译期和运行时 编译期...…