
JVM
文章平均质量分 60
Joepis
一入编程深似海,从此。。。(你懂的)
展开
-
理解JVM(四):JVM类加载机制
Class文件我们写的Java代码,经过编译器编译之后,就成为了.class文件,从本地机器码变成了字节码。Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。Class文件中只有2种数据结构:无符号数和表。每个Class文件的头4...原创 2018-08-01 11:36:57 · 211 阅读 · 0 评论 -
理解JVM(五):Java内存模型与线程
Java内存模型JMM(Java Memory Model)是JVM定义的内存模型,用来屏蔽各种硬件和操作系统的内存访问差异。 * 主内存:所有的变量都存储在主内存(Main Memory,类比物理内存)中。 * 工作内存:每条线程有自己的工作内存(Working Memory,类比处理器高速缓存),线程的工作内存中保存了被该线程使用到的变量的主内存副本拷贝,线程对变量的所有操作(读取、赋...原创 2018-08-01 11:37:33 · 434 阅读 · 0 评论 -
理解JVM(三):JVM命令工具
jps(JVM Process Status Tool)虚拟机进程状况工具,可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数所在的类)名称以及这些进程的本地虚拟机唯一ID(Local Virtual Machine Identifier,LVMID)。命令格式:jps[options][hostid]参数: -q:只输出LVMID,省略主类名称...原创 2018-08-01 11:36:24 · 165 阅读 · 0 评论 -
理解JVM(二):垃圾收集算法
判断哪些对象需要被回收引用计数算法: 给对象中添加一个引用计数器,每当有一个地方引用时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。 但是JVM没有使用此方法,因为此方法无法解决2个对象相互循环引用的问题。可达性分析算法: 这个算法的基本思路就是通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路...原创 2018-08-01 11:35:51 · 179 阅读 · 0 评论 -
理解JVM(六):线程安全和锁优化
线程安全的实现方法互斥同步互斥是因,同步是果;互斥是方法,同步是目的。synchronized关键字synchronized关键字是基本的互斥同步手段。它在编译后会在同步代码块前后加入2条字节码指令:monitorenter和monitorexit这两个字节码都需要一个reference类型的参数来指明要锁定和解锁的对象。如果Java程序中的synchronized指定...原创 2018-08-01 11:38:54 · 222 阅读 · 0 评论 -
理解JVM(七):垃圾回收器
一些概念并行(Parallel)指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。并发(Concurrent)指用户线程与垃圾收集线程同时执行(但不一定是并行的,可能会交替执行),用户程序在继续运行,而垃圾收集程序运行于另一个CPU上。吞吐量CPU用于运行用户代码的时间与CPU总消耗时间的比值,即吞吐量=运行用户代码时间/(运行用户代码时间+垃圾收集时...原创 2018-08-01 11:39:22 · 164 阅读 · 0 评论 -
理解JVM(一):内存结构
在JVM中,内存主要被分为5类堆Heap存放关键字new创建的对象和数组。堆内存被所有线程共享。这块内存区由JVM(Java虚拟机)自己管理。当使用new创建对象时,不必指定分配空间的大小,JVM会动态自动分配一块区域;当程序执行过程中,指向此对象的引用消失,此对象就被标记为可被回收状态,将由GC(垃圾回收器)在一个不确定的时间自动回收,释放所占的内存空间。虚拟机栈VM Stack存放8种原创 2017-02-16 15:27:20 · 398 阅读 · 0 评论 -
JDK默认使用的垃圾回收器
查看方法 java -XX:+PrintCommandLineFlags -version 引用《深入理解Java虚拟机:JVM高级特性与最佳实践》的介绍: 所以,jdk8环境下,默认使用 Parallel Scavenge(新生代)+ Serial Old(老年代)-XX:+PrintCommandLineFlagsjvm参数可查看默认设置收集器类型-XX:+Pr...原创 2018-09-10 16:01:09 · 11820 阅读 · 5 评论