(9)jvm
文章平均质量分 76
tomjourney
积善之家 必有余庆
展开
-
jvm的client与server工作模式
【README】JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升.原因是:当虚拟机运行在-client模式的时候,使用的是一个代号为C1的轻量级编译器, 而-server模式启动的虚拟机采用相对重量级,代号为C2的编译器. C2比C1编译器编译的相对彻底,,服务起来之后,性能更高. java -version 可以直接查看出你使用的是client还是 server 【1】client转载 2022-02-13 18:57:57 · 1238 阅读 · 0 评论 -
jvm(12)-java内存模型与线程
【0】README0.1)本文部分文字描述转自“深入理解jvm”,旨在学习“java内存模型与线程” 的基础知识;【1】概述1)并发处理的广泛应用是使得 Amdahl 定律代替摩尔定律称为计算机性能发展源动力的根本原因;2)Amdahl 定律:该定律通过系统中并行化与串行化的比重来描述多处理器系统能获得的运算加速能力;3)摩尔定律:该定律用于描述处理器晶体管数量与运转载 2016-04-03 17:12:21 · 1150 阅读 · 2 评论 -
如何获得即时编译器(JIT)的汇编代码(linux环境下)
1)给定java源代码// 单例模式(分析volatile关键字是如何禁止指令重排序优化的)public class Singleton { private volatile static Singleton instance; public static Singleton getInstance() { if(instance == null) { synchroniz原创 2016-04-04 12:53:00 · 3292 阅读 · 0 评论 -
自定义类加载器(ClassLoader + URLClassLoader)
【0】类加载器0.1)类加载器 的实现public class ClassLoaderTest { public static void main(String[] args) throws Exception { ClassLoader loader = new ClassLoader() { // 自定义类加载器 @Overr原创 2016-04-06 17:47:59 · 3543 阅读 · 0 评论 -
java字节码指令简介(仅了解)
【0】README0.1)本文全文转自 “深入理解jvm”, 旨在了解 java字节码指令 的基础知识;【1】写在前面1)由于jvm 采用面向操作数栈而不是寄存器的结构,所以大多数的指针都不包含操作数,只有一个操作码;2)由于限制了jvm操作码的长度为一个字节(0~255),这意味着指令集的操作码总数不可能操作256个;【2】字节码与数据类型1)下表列举了j转载 2016-03-28 22:08:12 · 1230 阅读 · 0 评论 -
Java虚拟机详解----常用JVM配置参数
【声明】 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/文章来源:http://www.cnblogs.com/smyhvae/p/4736162.html联系方式:smyhvae@163.com 本文主要内容:Trace跟踪参数堆的分配参数栈的分配参数 零、转载 2016-09-03 22:46:29 · 763 阅读 · 0 评论 -
ReviewForJob——java虚拟机的垃圾回收策略(个人总结)
理解jvm的垃圾回收策略,需要解决以下3个问题问题1:哪些内存需要回收?问题2:什么时候进行回收?问题3:怎样来回收?【解决问题1】哪些内存需要回收?jvm的内存区域有5大块:1)程序计数器:线程私有,用于记录 当前线程所执行class 字节码的行号计数器;2)java 虚拟机栈:线程私有,指java 方法执行的 内存模型;3)本地方法栈:线程私原创 2016-10-13 12:26:29 · 619 阅读 · 0 评论 -
jvm内存收集器总结(图片)
原创 2019-04-26 23:05:52 · 246 阅读 · 0 评论 -
jvm MinorGC和查看GC日志
【代码】public class Page93 { private static final int _1MB = 1024 * 1024; public static void main(String[] args) { minorGC(); } /** * vm params: -verbose:gc -Xms20M -Xmx20M -Xmn10M -XX...原创 2019-04-27 09:20:53 · 643 阅读 · 0 评论 -
jvm内存分配与收回策略
【README】基础知识1、 Minor GC/新生代GC:指发生在新生代的垃圾收集动作,因为java对象大多都具备朝生夕灭的特性,所以minor gc比较频繁,一般回收速度也比较快;2、 Major GC/Full GC/老年代GC:发生在老年代的gc,出现了major gc, 经常会伴着出现minor gc(并非绝对)。Major gc的速度一般会比minor gc慢10倍以上...原创 2019-05-06 23:21:30 · 367 阅读 · 0 评论 -
JVM参数设置、分析(转)
转自:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序...转载 2019-05-15 06:37:10 · 185 阅读 · 0 评论 -
jvm高级特性第4章-虚拟机性能监控与故障处理工具
【4.2】jdk命令行工具1、jps:虚拟机进程状况工具;C:\Users\pacoson>jps -l // 输出主类名称12272 sun.tools.jps.Jps12736 chapter3.Page932808C:\Users\pacoson>jps -v // 查看虚拟机进程启动时的参数12736 Page93 -verbose:gc -Xms20M ...原创 2019-05-12 23:16:33 · 555 阅读 · 0 评论 -
jvm(4)-虚拟机性能监控与故障处理工具
【0】README0.1)本文文字描述转自 “深入理解jvm”,旨在了解 虚拟机性能监控与故障处理工具的基础知识(仅仅在于了解);【1】概述1)给一个系统定位问题的时候,知识,经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里说的数据包括:运行日志,异常堆栈,GC日志,线程快照,堆转储快照等;2)JDK的命令行工具:jdk 的bin 目录是jdk的工具目转载 2016-03-25 12:52:12 · 1436 阅读 · 0 评论 -
jvm(3)-垃圾收集器与内存分配策略
【0】README0.1)本文部分文字转自:深入理解jvm,旨在学习 垃圾收集器与内存分配策略 的基础知识;【1】垃圾回收概述1)GC(Garbage Collection)需要完成的3件事情:哪些内容需要回收;什么时候回收;以及如何回收?2)垃圾回收机制关注的内存是:java 堆 和 方法区,因为这部分内存的分配都是动态的;【1.1】对象是否已死(判断转载 2016-03-24 16:34:18 · 601 阅读 · 0 评论 -
jvm(2)-OutOfMemoryError 异常(内存溢出异常)
【0】README0.1)本文转自 深入理解 jvm, 旨在学习 OutOfMemoryError 异常(内存溢出异常) 的触发类型;0)准备知识0.1)除了程序计数器外,虚拟机内存的其他几个运行时区域(方法区+虚拟机栈+本地方法栈+java堆)都有发生 OutOfMemoryError异常的可能性;0.2)如何设置Eclipse 的 VM 参数?转载 2016-03-08 15:37:02 · 567 阅读 · 0 评论 -
jvm(13)-线程安全与锁优化
【0】README0.1)本文部分文字转自“深入理解jvm”, 旨在学习 线程安全与锁优化 的基础知识;0.2)本文知识对于理解 java并发编程非常有用,个人觉得,所以我总结的很详细;【1】概述【2】线程安全1)线程安全定义:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的转载 2016-04-04 10:27:37 · 935 阅读 · 0 评论 -
jvm(11)-晚期(运行期)优化
【0】README0.1)本文部分文字描述转自 “深入理解 jvm”,旨在学习 晚期(运行期)优化 的基础知识;【1】概述1)即时编译器(JIT=just in time compiler)定义:为了提高热点代码的执行效率,在运行时,虚拟机将把这些代码编译成与 本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为即时编译器;2)热点代码:当虚拟机发现某个方法或代转载 2016-04-02 22:03:12 · 2206 阅读 · 0 评论 -
jvm(10)-早期(编译期)优化
【0】README0.1)本文部分文字描述转自 “深入理解jvm”,旨在学习 早期(编译期)优化 的基础知识;0.2)本文部分文字描述转自: http://www.cnblogs.com/zhouyuqin/p/5223180.html 【1】概述1)java中的编译期是一段不确定的操作过程(process),可能是:process1)指一个前端编译器把 *.转载 2016-04-02 16:14:42 · 781 阅读 · 0 评论 -
jvm(8)-虚拟机字节码执行引擎
【0】README0.1)本文转自 “深入理解jvm”,旨在学习 虚拟机字节码执行引擎 的基础知识;【1】概述1)物理机和虚拟机的执行引擎: 物理机的执行引擎是直接建立在处理器,硬件,指令集和操作系统层面上的,而虚拟机的执行引擎则是由自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式;2)在不同的虚拟机实现里面:执行引擎在执转载 2016-04-02 13:05:49 · 1011 阅读 · 0 评论 -
jvm(7)-虚拟机类加载机制
【0】README0.1)本文转自“深入理解jvm”,旨在学习 虚拟机类加载机制 的基础知识;【1】概述1)类加载机制:虚拟机把描述类的数据从Class 文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制;2)在java中: 类型的加载,链接和初始化过程都是在程序运行期间完成的;java里天生可以动态扩转载 2016-04-01 15:58:56 · 887 阅读 · 0 评论 -
jvm(6)-java类文件结构(字节码文件)
【0】README0.1)本文部分文字描述转自 “深入理解jvm”,旨在学习类文件结构 的基础知识;0.2)本文荔枝以及荔枝的分析均为原创;【1】类文件概述1)各种不同平台的虚拟机与所有平台都统一使用存储格式——字节码,他是构成平台无关性的基石;2)时至今日,商业机构和开源机构已经在 java语言外发展出一大批在 jvm 上运行的语言,如 Groovy, JRub原创 2016-03-27 20:25:24 · 2942 阅读 · 0 评论 -
jvm(6)-Class字节码文件结构总结
【0】README0.1)本文总结于 Clas字节码文件,旨在理清 Class字节码文件的大体结构;【1】干货开始对上图的分析(Analysis):A1)offset=0A1.1)头四个字节为CAFEBABE:表示魔数;A1.2)第5、6个字节是0x0:表示Class文件的次版本号;A1.3)第7、8个字节是0x34:表示主版本号;A1.4)第9原创 2016-03-28 15:14:15 · 1466 阅读 · 0 评论 -
jvm(1)-走进java
【0】README0.1)本文转自 深入理解 jvm,旨在了解 java 体系结构;【1】java技术体系1) Sun 官方所定义的java 技术系统包括以下几个组成部分:java 程序设计语言;各种硬件平台上的java 虚拟机;Class 文件格式;java API 类库;来自商业机构和开源社区的第三方j转载 2016-03-08 15:28:30 · 542 阅读 · 0 评论 -
jvm(2)-java内存区域
【0】README0.1)本文转自 深入理解jvm, 旨在学习 java内存区域 的基础知识;【1】运行时数据区域1)jvm 所管理的内存将会包括以下几个运行时数据区域1.1)方法区;(线程共享)1.2)虚拟机栈;(线程私有)1.3)本地方法栈;(线程私有)1.4)java 堆;(线程共享)1.5)程序计数器;(线程私有)Attention) 除了程序计转载 2016-03-07 22:47:40 · 466 阅读 · 0 评论 -
jvm(2)-JVM内存的设置(解决eclipse下out of memory问题)
【0】README0.1)本文转自: http://blog.csdn.net/sjf0115/article/details/8889201一、JVM内存的设置的原理默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.lang.OutOfMemoryError。设置jvm内存的方法,对于单独的.class,可以用下面的方法对Test运行时转载 2016-03-07 22:52:27 · 770 阅读 · 0 评论 -
编译原理三大经典书籍(龙书 虎书 鲸书)
以下内容转自: http://blog.csdn.net/skymingst/article/details/74368921、龙书(Dragon book) 英文名:Compilers: Principles,Techniques,and Tools 作者:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman 中文名:编译原理技术和工具转载 2016-03-03 14:09:55 · 1813 阅读 · 0 评论