![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 93
GeorgeLin98
努力!
展开
-
JVM分析工具知识概括
JVM分析工具知识概括题JClassLib 插件jvisualvmJprofilerJVM优化实操总结JClassLib 插件简介:JClassLib是一款java 字节码分析工具打开idea 中的settings > plugins 搜索 jclasslib 插件 进行安装 重启生效重启后点击view > 选择show bytecode with jclasslib,可以看到字节码视图了。jvisualvm简介:JDK中还藏着一个宝贝,它的名字叫做VisualVM,自原创 2021-07-11 20:59:05 · 173 阅读 · 1 评论 -
字节码与类的加载知识概括
字节码与类的加载知识概括Class文件结构字节码指令集与解析类的加载过程详解再谈类的加载器Class文件结构字节码文件的跨平台性:Java语言:跨平台的语言①当Java源代码成功编译为字节码后,如果想在不同的平台上运行,则无须再次编译②这个优势不再那么吸引人了。Python PHP perl ruby lisp等有强大的解释器③跨平台似乎已经快成为一门语言必须的特征Java虚拟机:跨语言的平台:(Java虚拟机不和包括java在内的任何语言绑定,它只与class文件这种二进制文件格式所关联原创 2020-10-07 07:30:37 · 173 阅读 · 0 评论 -
垃圾回收器知识概括
垃圾回收器知识概括GC 分类与性能指标不同的垃圾回收器概述Serial 回收器:串行回收器PaeNew 回收器:并行回收Parallel 回收器:吞吐量优先CMS 回收器:低延迟G1 回收器:区域化分代式垃圾回收器总结GC 日志分析垃圾回收器的新发展GC 分类与性能指标垃圾回收器概述:垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。从不同角度分析垃圾收集器,可以将GC分为不同的类型。原创 2020-10-07 05:46:17 · 321 阅读 · 0 评论 -
垃圾回收相关概念知识概括
垃圾回收相关概念知识概括System.gc() 的理解内存溢出与内存泄漏Stop the World垃圾回收的并行与并发安全点与安全区域再谈引用System.gc() 的理解System.gc() 方法:在默认情况下,通过System.gc()者Runtime.getRuntime().gc() 的调用,会显式触发FullGC,同时对老年代和新生代进行回收,尝试释放被丢弃对象占用的内存。然而System.gc()调用附带一个免责声明,无法保证对垃圾收集器的调用(不能确保立即生效)JVM实现者可以原创 2020-10-07 04:26:14 · 328 阅读 · 0 评论 -
垃圾回收概述和相关算法知识概论
垃圾回收概述和相关算法知识概论垃圾回收概述Java 垃圾回收机制垃圾标记阶段对象的finalization机制MAT与JProfiler的GC Roots溯源清除阶段垃圾算法小结分代收集算法增量收集算法、分区算法垃圾回收概述关于垃圾收集:Java 和 C++语言的区别,就在于垃圾收集技术和内存动态分配上,C语言没有垃圾收集技术,需要我们手动的收集。垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。关于垃圾收集有三个经典问题:①哪些原创 2020-10-07 04:00:30 · 322 阅读 · 0 评论 -
执行引擎、StringTable知识概括
执行引擎、StringTable知识概括执行引擎概述Java 代码编译和执行过程机器码 指令 汇编语言解释器JIT 编译器String 的基本特性String 的内存分配String 的基本操作字符串拼接操作intern() 的使用G1 中的 String 去重操作执行引擎概述执行引擎位置:执行引擎属于JVM的下层,里面包括:解释器、即时编译器、垃圾回收器执行引擎概述:执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物原创 2020-10-07 03:06:55 · 227 阅读 · 0 评论 -
对象的实例化内存布局与访问定位、直接内存知识概括
对象的实例化内存布局与访问定位、直接内存知识概括对象的实例化对象的内存布局对象的访问定位直接内存概述BIO 与 NIO直接内存与 OOM对象的实例化对象实例化:对象创建的方式:new:最常见的方式、单例类中调用getInstance的静态类方法,XXXFactory的静态方法Class的newInstance方法:在JDK9里面被标记为过时的方法,因为只能调用空参构造器,并且权限必须为 publicConstructor的newInstance(Xxxx):反射的方式,可以调用空参的,或者带参原创 2020-10-07 02:08:09 · 132 阅读 · 0 评论 -
方法区知识概括
方法区知识概括栈 堆 方法区的交互关系方法区的理解设置方法区大小与 OOM方法区的内部结构方法区演进细节方法区的垃圾回收运行时数据区总结栈 堆 方法区的交互关系从线程共享与否的角度来看:ThreadLocal:如何保证多个线程在并发环境下的安全性?典型应用就是数据库连接管理,以及独立会话管理栈、堆、方法区的交互关系:Person 类的 .class 信息存放在方法区中person 变量存放在 Java 栈的局部变量表中真正的 person 对象存放在 Java 堆中在 person 对原创 2020-10-07 01:47:29 · 202 阅读 · 0 评论 -
堆知识概括
堆知识概括堆的核心概述设置堆内存大小与 OOM年轻代与老年代图解对象分配过程GC 垃圾回收器堆空间分代思想内存分配策略为对象分配内存堆空间参数设置逃逸分析、栈上分配、同步省略、分离对象或标量替换堆总结堆的核心概述堆与进程:堆针对一个JVM进程来说是唯一的,也就是一个进程只有一个JVM但是进程包含多个线程,他们是共享同一堆空间的对堆的认识:一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。Java堆区在JVM启动的时候即被创建,其空间大小也就确定了,堆是JVM管理的原创 2020-10-07 01:09:17 · 386 阅读 · 0 评论 -
本地方法接口和本地方法栈知识概括
本地方法接口和本地方法栈知识概括本地方法介绍本地方法栈介绍本地方法介绍什么是本地方法?简单地讲,一个Native Method是一个Java调用非Java代码的接囗一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如C。这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern 告知C++编译器去调用一个C的函数。“A native method is a Java method whose implementati原创 2020-10-06 21:06:05 · 284 阅读 · 0 评论 -
虚拟机栈知识概括
虚拟机栈知识概括虚拟机栈概述栈的存储单位局部变量表操作数栈栈顶缓存技术动态链接解析和分派方法返回地址一些附加信息虚拟机栈概述虚拟机栈出现的背景:由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。内存中的栈与堆:首先栈是运行时的单位,而堆是存储的单位栈解决程序的运行问题,即程序如何执行,或者说如何处理数据。堆解决的是数据存储的问题,即数据怎么放,放原创 2020-10-06 20:42:37 · 577 阅读 · 0 评论 -
运行时数据区、线程、程序计数器知识概括
运行时数据区、线程、程序计数器知识概括一级目录一级目录原创 2020-10-06 18:24:58 · 215 阅读 · 0 评论 -
JVM类加载子系统知识概括
JVM类加载子系统知识概括内存结构概述类加载子系统类加载过程JClassLib 插件类加载器的分类双亲委派机制沙箱安全机制其他内存结构概述如果自己想手写一个Java虚拟机的话,主要考虑哪些结构呢?类加载器执行引擎完整框图:类加载子系统类加载器子系统作用:类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。加载的类信息存放于一原创 2020-10-05 00:19:02 · 298 阅读 · 0 评论 -
JVM 和 Java 体系架构知识概括
JVM知识概括一级目录一级目录HotSpot是什么?原创 2020-10-04 20:42:58 · 1334 阅读 · 0 评论