![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 64
牛牛扭扭牛头
这个作者很懒,什么都没留下…
展开
-
深入理解JVM--线程
线程的实现线程有三种实现方式:1.使用内核线程实现(LWP)–KLT(1:1) 2.使用用户线程实现 (N:1)3.使用用户线程+轻量级进程混合实现(N:M)。使用内核线程实现LWP 是Light Weight Process , 不算事内核线程,广义上来说属于用户线程KLT (Kernel-Level Thread) 内核线程。1:1 的关系,完全使用轻量级进程,由内核创建调度,会有一定的开销。使用用户线程完成狭义上的用户线程(UT),完全在用户空间中,由应用程序完成创建,销毁,调度。开原创 2021-12-06 09:29:32 · 215 阅读 · 0 评论 -
深入理解JMV---高效并发
一、JAVA内存模型1 内存模型目标:定义程序中 非栈中 各个变量的访问规则。和计算机的内存模型有点相似,这只是一个内存模型,并非真实存在,相对于堆,栈内存区域,并不是同一层次的划分。2 内存交互操作lock: 主存unlock: 主存read: 从主存读到线程工作内存write: 把store 后的变量放到主存中的变量中load: 把read 的变量值放到工作内存副本中store:工作内存 工作内存---->主存use: 工作内存 --> 执行引擎assign: 工作原创 2021-07-04 17:22:04 · 1624 阅读 · 2 评论 -
深入理解JVM---程序编译与代码优化
一、编译期优化*.java 转 *.class 的过程中的优化主要是解语法糖javac的编译动作主要在JavaCompiler中插入式注解处理器可以作为编译器的插件使用初始化过程在initProcessAnnotations() 方法中,执行过程在processAnnotations()中使用:javax.annotation.processing.AbstractProcessor 覆盖 process()方法从annotations中获取需要处理的注解集合,从roundEnv中获取到原创 2021-07-04 16:00:34 · 75 阅读 · 0 评论 -
深入理解JVM---虚拟机执行子系统
一、类机构**编译:**本地机器码------->字节码 .class分派:同步指令使用管程 Monitor方法级同步方法内部一段字领序列同步二、类加载程序执行,需要将字节码文件加载进入内存。参照之前的jvm内存模型,JVM内存模型与垃圾回收, 应该是先加载进方法区,创建实例对象的时候需要先定位类描述符。加载可以在编译期进行,也可以在运行期动态加载和动态连接。1 类加载时机类的生命周期:必须初始化的情况:new,getstatic,putstatic ,invokest原创 2021-07-04 13:12:52 · 89 阅读 · 1 评论 -
深入理解JVM---工具(性能监控,故障处理)
一、命令行工具1 jps使用ps也能查看,但是如果启动多个虚拟机进程的话,需要jps现实主类的功能来区分开2 jstatjvm Stastics Monitoring Tool显示 本地or远程 jvm进程中的类装载,内存,垃圾收集,JIT编译等运行数据jstat [option vmid [interval[s|ms] [count]] ]也可以使用VisualVm等可视化工具监视3 jinfo查看配置信息jinfo [option] pid4 jmapjmap (Memory M原创 2021-07-04 11:27:38 · 116 阅读 · 0 评论 -
jvm参数及命令记录
参数设置:-XX:+PrintGCDetails -Xms24m -Xmx24m -Xmn8m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC命令:jmap -dump:format=b,file=/Users/wangxiaodi1/Desktop/jmapdump.hprof 75191在线分析:http://www.fastthread.iohttp://gceasy.iohttp://heaphero.io...原创 2020-07-18 22:10:53 · 190 阅读 · 0 评论 -
深入理解JVM---内存模型与垃圾回收
深入理解JVM虚拟机虚拟机内存模型内存分区内存异常内存调优GC判断对象已死垃圾回收算法垃圾收集器垃圾回收相关指令及调优虚拟机内存模型内存分区虚拟机主要分为共享的堆内存 和 每个线程独有的栈内存细分为 堆内存,方法区 虚拟机栈,程序计数器,本地方法栈堆内存:存放对象实例方法区:常量池 和 类方法等信息虚拟机栈:每个线程执行方法的栈帧(stack frame)信息,包括方法的局部变...原创 2019-12-23 23:07:56 · 193 阅读 · 0 评论