
Java
文章平均质量分 75
yangcun_88
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
jvm调优常用参数
堆设置-Xms3000m:初始堆大小-Xmx3000m:最大堆大小(一般与初始堆大小设置为相同值,以避免每次垃圾回收完成后JVM重新分配内存)-Xmn:设置年轻代大小为512m。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8-Xss:设置每个线程的堆...原创 2020-03-23 17:08:45 · 346 阅读 · 0 评论 -
JVM指令手册
栈和局部变量操作将常量压入栈的指令aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入栈iconst_2 将int类型常量2压入栈iconst_3 将int类型常量3压入栈iconst_4 将int类型常量4压入栈iconst_5 将int类型常量5压入栈...转载 2020-02-06 23:47:52 · 101 阅读 · 0 评论 -
JVM垃圾回收器-垃圾收集器(三)
Serial收集器在JDK 1.3.1之前是虚拟机新生代收集的唯一选择。这个收集器是一个单线程的收集器,但它的“单线程”的意义并不仅仅是说明它只会使用一个CPU或一条收集线程去完成垃圾收集工作,更重要的是在它进行垃圾收集时,必须暂停其他所有的工作线程(Sun将这件事情称之为“Stop The World”),直到它收集结束。Serial它也有着优于其他收集器的地方:简单而高效(与其他收集器的...原创 2020-01-26 16:22:32 · 198 阅读 · 0 评论 -
JVM垃圾回收器算法(二)
标记-清除算法最基础的收集算法是“标记-清除”(Mark-Sweep)算法,如它的名字一样,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象,它的标记过程其实在前一节讲述对象标记判定时已经基本介绍过了。之所以说它是最基础的收集算法,是因为后续的收集算法都是基于这种思路并对其缺点进行改进而得到的。它的主要缺点有两个:一个是效率问题,标记和清除...原创 2020-01-26 15:31:59 · 174 阅读 · 0 评论 -
JVM垃圾回收器算法(一)
一、引用计数算法给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用的。客观地说,引用计数算法(Reference Counting)的实现简单,判定效率也很高,在大部分情况下它都是一个不错的算法。但是,Java语言中没有选用引用计数算法来管理内存,其中最主要的原因是它很难解决对象之间的相互循环引用的问题...原创 2020-01-26 15:10:22 · 164 阅读 · 0 评论 -
IDEA导入Spring源码时出现找不到InstrumentationSavingAgent的错误
注意事项:spring源码编译是有顺序的,顺序如下:core-oxm-context-beans-aspects-aop问题:错误如下:Error:(26, 38) java: 找不到符号符号: 类 InstrumentationSavingAgent位置: 程序包 org.springframework.instrument方法一(来源于网上):解决方法:导入...原创 2020-01-10 14:18:47 · 2538 阅读 · 2 评论 -
详解类加载机制
类加载机制类加载是指将编译好的class文件中的字节码读入到内存,将其放在方法区并创建对应的class对象。类的加载分为加载、链接、初始化三个步骤,其中链接又分为检查、准备、解析三步。如图:加载 (将文件加载到内存的过程)通过类的完全限定名查找此类的字节码文件读取字节流。将这个字节流所代表的静态储存结构转化为方法区的运行时区数据结构在java堆中生成一个代表这个类的java....原创 2019-12-31 23:57:40 · 167 阅读 · 0 评论 -
JVM及JMM内存模型
JVM及JMM内存模型JVM内存模型栈(方法栈)本地方法栈堆方法区程序计数器JMM内存模型JMM保证原子性可见性有序性JVM内存模型栈(方法栈)栈区也叫方法栈,它的线程是私有的,生命周期与线程相同。每个方法执行都会创建一个栈帧,用于存放局部变量表,操作数栈,动态链接,方法出口等信息。每个方法从调用完成到执行完成的过程,就对应一个栈帧在虚拟机栈中的入栈和出栈过程。通俗来说,调用方法时执行入...原创 2019-12-31 16:46:48 · 414 阅读 · 0 评论 -
JVM--栈区
栈的基本概念Java栈有两个,分别是虚拟机栈和本地方法栈。这里以虚拟机栈为例,本地方法栈和虚拟机栈基本相同。特点:线程私有描述的是Java方法执行的内存模型关键知识点:栈帧每个方法执行时会创建一个栈帧(栈帧是方法运行时的基础数据结构)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每个方法从调用到执行完成的过程,就对应一个栈帧在虚拟机栈中的入栈和出栈的过程。栈帧中的局部变量表...转载 2019-12-31 14:07:58 · 113 阅读 · 0 评论