JVM
no_明日复明日
天弃自弃之人,天佑自强之心
展开
-
Java体系结构
Java技术体系包括 Java程序设计 各硬件平台上的Java虚拟机 Class文件格式 Java API类库、 来自商业机构或者开源社区的第三方类库 我们通常所说的JDK包括三部分:Java程序设计语言、Java虚拟机、JavaAPI类库 程序运行过程 Code通过编译器生成class文件格式,由JVM负责解析运行。 此处的不一定是Java语言编写的Code,其...原创 2019-01-19 21:28:18 · 396 阅读 · 1 评论 -
HotSpot虚拟机对象
对象的创建 概述 Java是一门面向对象的语言,Java程序运行过程中无时不刻都有对象被创建出来。在语言层面上,创建对象(克隆、反序列化)就是一个new关键字而已,但是在虚拟机层面却不是如此,看一下在虚拟机层面上创建对象的步骤 类加载检查 当JVM检测到有一条new指令时,首先先检查该指令的参数是否在常量池中定位到一个类的符号引用,并检查这个符号引用所代表的类是否已被加载、解析...原创 2019-01-19 22:13:57 · 84 阅读 · 0 评论 -
JVM内存管理
内存管理示意图: 我们通常所说的堆内存和栈内存。堆内存指定是线程共享区的堆;栈内存指的是线程独占区的虚拟机栈,具体说就是虚拟机栈中局部变量表这么一部分。 方法区和堆是分配给进程的,所以就是所有的线程共享。 虚拟机栈、本地方法栈和程序计数器是分配给每个独立线程的,是运行过程中必不可少的资源。 程序计数器 程序计数器是一块较小的内存空间,他可以看做是当前线程所执行的字节码的行号指示器。 ...原创 2019-02-27 20:24:55 · 101 阅读 · 0 评论 -
垃圾回收算法
学习的作用 在高并发的情况下的代码优化就需要垃圾回收、并且需要了解何时回收 如何判断对象为垃圾对象 引用计数法 在对象中添加一个引用计数器,当有地方引用这个对象的时候,引用计数器的值就+1,当引用失效的时候,引用计数器的值就-1。当引用计数器的值为0的时候,就会被回收。 引用计数法很少被使用,因为如果对象A在堆内存中被另一个对象B所引用,对象B又被对象A所引用,那么对象A和对象B的引用计...原创 2019-02-28 22:02:56 · 295 阅读 · 0 评论 -
对象内存分配
概述 Java技术体系中所提到的内存自动化管理最终可以归结为自动化地解决两个问题 对象分配内存 内存分配往大方向上来讲,就是在堆上分配。如果启动了本地线程分配缓存,将按线程优先在TABLE上分配,少数情况下也可能直接分配在老年代中。 回收分配给对象的内存 关于回收内存我们可以使用各种的垃圾收集器、各种垃圾回收算法等来了解。 两种GC Minor...原创 2019-04-30 22:37:35 · 664 阅读 · 0 评论