![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 97
lingengy
这个作者很懒,什么都没留下…
展开
-
JVM工具
记录了“堆内存使用情况”、“线程”、“类”、“CPU使用情况”共四个资源的实时情况;并且在时间范围可以选择从1分钟到1年的显示情况。原创 2022-08-25 12:18:47 · 1311 阅读 · 1 评论 -
jvm参数调优
一、了解JVM参数JVM参数类型:常见垃圾回收器组合参数设定:(1.8)GC常用参数Parallel常用参数CMS常用参数G1常用参数二、调优1、调优前的基础概念:2、什么是调优?3、调优,从规划开始三、日志详解ps日志CMSG1四、案例分析案例1案例2原创 2022-08-25 12:13:51 · 1010 阅读 · 0 评论 -
JVM运行时数据区和CPU优化以及线程原子操作
文章目录一、JVM运行时数据区二、CPU性能优化手段1、缓存缓存同步协议2、运行时指令重排优化带来的问题3、内存屏障三、多线程中的问题四、原子操作1、什么是原子操作:2、竞态条件与临界区3、CAS(Compare and swap)机制CAS存在的问题一、JVM运行时数据区线程独占: 每个线程都会有它独立的空间,随线程生命周期而创建和销毁。线程共享: 所有线程能访问这块内存数据,随虚拟机或...原创 2019-06-21 16:19:41 · 641 阅读 · 0 评论 -
锁的分类和synchronized底层原理
文章目录一、JAVA中锁的概念1、自旋锁2、乐观锁3、悲观锁4、独享锁(写)5、共享锁(读)6、可重入锁、不可重入锁7、公平锁、非公平锁二、synchronized的底层原理1、一、JAVA中锁的概念1、自旋锁是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。自旋锁有两种表现形式:1、AtomicI......原创 2019-06-24 00:46:40 · 903 阅读 · 0 评论 -
Java类的加载过程
应用程序根据自身需要自定义的ClassLoader,如Tomcat、Jboss都会根据j2ee规范实现ClassLoader。原创 2022-08-20 06:36:55 · 8809 阅读 · 0 评论 -
java中内存泄漏和内存溢出是什么
一、内存泄漏memory leak :是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出。第一步,修改JVM启动参数,直接增加内存。(-Xms,-Xmx参数一定不要忘记加。)第二步,检查错误日志,查看“OutOfMemory”错误前是否有其 它异常或错误。第转载 2022-07-05 15:52:00 · 1833 阅读 · 0 评论 -
JVM总结之垃圾回收
文章目录垃圾回收一、java堆内存的细分1、分代收集算法2、新生代2.1、Eden 区2.2、Survivor From 区2.2、Survivor To 区3、老年代4、元数据5、对象分配6、对象晋级二、垃圾回收1、怎么定位垃圾1.1、引用计数法1.2、可达性分析2、怎么回收垃圾2.1、标记清除算法(Mark-Sweep)2.2、复制算法(copying)2.3、标记整理算法(Mark-Comp...原创 2019-10-19 21:08:07 · 736 阅读 · 0 评论 -
JVM总结之JVM内存结构
文章目录JVM内存结构1、线程私有部分① 程序计数器② 虚拟机栈③ 本地方法区2、线程共享部分① 堆② 方法区(永久代)运行时常量池(Runtime Constant Pool)堆和栈的区别3、直接内存4、jdk1.6、jdk1.7和jdk1.8内存结构区别为什么去除方法区java虚拟机是是每个java程序员学习的重点。JVM内存结构JVM的内存结构主要由两大部分组成:1、线程私有部分:程......原创 2019-10-19 16:00:43 · 747 阅读 · 0 评论