以下均整理自网络 Java SE 1. Java基础 1. 语法特性 2. 关键字 3. 面向对象 4. 集合部分 2. Java进阶 1. 线程 2. 锁 3. JDK 4. 反射 5. JVM 6. GC 7. IO和NIO,AIO Java EE 1. Spring 1. AOP与事务,权限控 ...
分类:
编程语言 时间:
2020-05-16 16:40:57
阅读次数:
137
原文 Java 堆内存被划分为新生代和老年代两部分,因此 JVM 通常采用分代回收算法。新生代主要使用复制和标记-清除垃圾回收算法 ,老年代主要使用标记-整理垃圾回收算法。JVM 中针对新生代和年老代分别提供了多种不同的垃圾收集器。 根据线程特点,可以将收集器分为三类: 串行收集器:Serial 收 ...
分类:
其他好文 时间:
2020-05-15 10:05:25
阅读次数:
70
原文 Java 堆从 GC 的角度还可以细分为: 新生代(Eden 区、Survivor From 区和 Survivor To 区,默认情况下年轻代按照 8 : 1 : 1 的比例来分配)和老年代。 1|0新生代 新生代用来存放新创建的对象,默认占据堆 1/3 的空间; 由于新创建对象都会在新生代 ...
分类:
其他好文 时间:
2020-05-15 09:30:11
阅读次数:
68
1. 事故发生 某天晚上,收到系统CPU占用过高报警,立刻登录服务器查看cpu信息(top,命令即可),此时CPU占用率高达750%+, 查看GC日志,频繁的发生Full GC, 并且一次Full GC市场可达到6s,立刻使用jmap命令dump文件(命令:jmap dump:file=heap.b ...
分类:
其他好文 时间:
2020-05-14 23:53:23
阅读次数:
91
GC垃圾收集算法 堆空间 分代: 年轻代: Eden区: 对象创建的区域: gc最频繁,99%的对象都是在这里创建和销毁的,经过一次youngGC,Eden区基本就空了 Survival区: from: 经过一次youngGC,Eden和to区还存活的对象放入from区, from和to区角色互换 ...
分类:
编程语言 时间:
2020-05-14 19:39:29
阅读次数:
73
(本文中的全部观点,仅代表个人观点)主线程、用户线程、守护线程的区分:主线程:一个进程只有一个主线程(Main),其他都是子线程。(重点:个人认为主线程也是用户线程!!!)用户线程:非守护线程(这个解释有点......废话)守护线程:与系统,程序共存亡的线程就是守护线程。最常见的就是GC垃圾回收器。... ...
分类:
编程语言 时间:
2020-05-14 15:46:12
阅读次数:
65
1.内存的增长主要在binary上 1.binary有两处存储位置 --1. size <= 64 字节(bytes)时,存储在进程的单独heap中,bianry叫做Heap-binary。 --2. size > 64 字节(bytes)时,存储在虚拟机分配出来的单独heap中,bianry叫做R ...
分类:
其他好文 时间:
2020-05-14 10:48:28
阅读次数:
76
1、jmap命令概述 Jmap是一个可以输出内存中所有对象的工具。可以将JVM中的heap(堆),以二进制形式输出成文本。打印出某个java进程内存内所有‘对象‘’的情况。 2、基本命令 pid:java进程号 1、jmap -heap pid : 打印heap的概要信息,GC使用的算法,heap的 ...
分类:
其他好文 时间:
2020-05-13 13:52:41
阅读次数:
176
文章链接:https://www.jianshu.com/p/1e375fb40506 Garbage collection(GC) 现在的高级语言如java,c#等,都采用了垃圾收集机制,而不再是c,c++里用户自己管理维护内存的方式。自己管理内存极其自由,可以任意申请内存,但如同一把双刃剑,为大 ...
分类:
编程语言 时间:
2020-05-12 21:59:35
阅读次数:
101
Java8新特性 https://blog.csdn.net/sanri1993/article/details/101176712 jdk1.7和1.8的区别: 添加了红黑树,增加查询效率 gc算法(垃圾回收算法) https://www.jianshu.com/p/3fc4450e1bbd st ...
分类:
编程语言 时间:
2020-05-12 13:58:05
阅读次数:
69