首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
jvm
秃了也弱了
创建于2023-11-02
订阅专栏
jvm
等 4 人订阅
共39篇文章
创建于2023-11-02
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
对象创建的过程细节是怎样的?一起来探讨内存变化细节
1.2.1.new关键字。 (2)调用Xxx的静态方法,返回一个新建的对象。 (3)XxxBuilder/XxxFactory使用工厂模式获取对象。2.Class的newInstance():反射的方式,只能调用空参构造器,权限必须是public,jdk9标记为该方法...
JVM常用启动参数大全(附带解释)
官网说明:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.-XX:HandlePromotionFailure=<boolean>,空间分配担保(大量对象在MinorGC之后仍然还有很多,那么这些对象...
【精选】JVM垃圾回收器详细解读(吐血整理,建议收藏)
1.垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。2.由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。3.从不同角度分析垃圾收集器,可以将GC分为不同的类型。1.(1)串行回收指的是在同一时间段内只允许有一个CP...
java类加载器、双亲委派、沙箱安全机制全都让你整明白(三万字,收藏慢慢啃)
4、Class.forName() 与ClassLoader.1、JDK1.2、JDK1.3、JDK1.4、JDK1. 类加载器是JVM执行类加载机制的前提。 ClassLoader是Java的核心组件,所有的Class都是由ClassLoader进行加载的,Clas...
你只知道JVM栈,知不知道栈帧、局部变量表、slot、操作数栈?
由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。 优点是跨平台、指令集小,编译器容易实现;缺点是性能下降,实现同样的功能需要更多的指令。 即:栈解决程序的运行问题,即程序如何执行,或者说如何处理数据。堆...
java的System.gc()的理解
什么是System.什么是System.1.在默认情况下,通过System.gc()或者Runtime.getRuntime().gc()的调用,会显式触发Full GC,同时对老年代和新生代进行回收,尝试释放被丢弃对象占用的内存。2.然而,System.gc()调用附带一个免责...
java-垃圾回收的并行与并发
1.在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理器上运行。2.并发不是真正意义上的“同时进行”,只是CPU把一个时间段划分成几个时间片段(时间区间),然后在这几个时间区间之间来回切换,由于CPU 处理的速度非常快,只要时间间...
【精选】java类的完整生命周期详解
在Java中数据类型分为基本数据类型和引用数据类型。基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载。 其中,验证、验证、准备、解析3个部分统称为链接(Linking)。 所谓加载,简而言之就是将Java类的字节码文件加载到机器内存中,并在内存中构...
使用jprofile做jvm内存分析之jprofile安装
本文只做jprofile的安装。链接:https://pan.baidu.自己选取要下载的版本。 安装完成后,在idea这个位置会出现jprofile的图标,点击即可运行。 具体使用方式此处略。
class文件反编译-指令字节码对照表
使用javap -c Xxxxx.class可以查看class文件的字节码指令。
【精选】带你看明白class二进制文件!
1.2.3.1.2.3.4.5.6.1. 源代码经过编译器编译之后便会生成一个字节码文件,字节码是一种二进制的类文件,它的内容是JVM的机器码指令,而不像C、C++经由编译器直接生成机器码。2. Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的操作码(o...
【精选】java垃圾回收算法超详细全解-CSDN博客
1.在堆里存放着几乎所有的java对象实例,在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活的对象,哪些是已经死亡的对象。只有被标记为已经死亡的对象,GC才会在执行垃圾回收时,释放掉其所占用的内存空间,因此这个过程我们可以成为垃圾标记阶段。2.那么在JVM中究竟是如何标记一...
使用MAT做jvm的GC Roots溯源
MAT是Memory Analyzer的简称,它是一款功能强大的Java堆内存分析器。用于查找内存泄漏以及查看内存消耗情况。 MAT是基于Eclipse开发的,是一款免费的性能分析工具。 http://www.eclipse.org/mat/可下载并使用MAT...
jps无法查看到已经运行的java进程(已解决)
jps类似linux的ps命令,不同的是ps是用来显示进程,而jps只显示java进程,准确的说是当前用户已启动的部分java进程信息,信息包括进程号和简短的进程command。用ps -ef|grep java能看到启动的java进程,但是用jps查看却不存在该进程的id。生产...
【精选】jvm性能监控、故障处理命令行工具详解(jps、jstat、jinfo、jmap、jhat、jstack)(宝藏博文)
所有的java命令都可以使用-help或者-option查看帮助、选项,类似于linux系统命令的–help。jps(JVM Process Status Tool)功能和UNIX的ps命令类似:可以列出正在运行的java虚拟机进程,并显示虚拟机执行主类(Main Class,m...
【精选】jvm执行引擎全解,java解释器即时编译器,全都讲明白
1.执行引擎是Java虚拟机核心的组成部分之一。2.“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引...
java类是如何加载的?不知道classLoader和双亲委派,不是一个合格的程序员
类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。 ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine(执行引擎)决定。 加载的类信息存放于一块成为方法区...
【精选】java强引用、软引用、弱引用、虚引用-Java的引用类型总共有四种,你都知道吗
1.我们希望能描述这样一类对象:当内存空间还足够时,则能保留在内存中;如果内存空间在进行垃圾收集后还是很紧张,则可以抛弃这些对象。2.3.在JDK1.2版之后,Java对引用的概念进行了扩充,将引用分为强引用(Strong Reference)、软引用(Soft Referenc...
使用JProfiler查看GC Roots
1.2.3.