转载自:《JVM的新生代、老年代、MinorGC、MajorGC》![[转]Java中的新生代、老年代、永久代和各种GC](https://www.coder4.com/wp-content/uploads/2018/03/1.jpg)
JVM中的堆,一般分为三大部分:新生代、老年代、永久代:
1 新生代
主要是用来存放新生的对象。一般占据堆的1/3空间。由于频繁创建对象,所以新生代会频繁触发MinorGC进行垃圾回收。
新生代又分为 Eden区、ServivorFrom、ServivorTo三个区。
- Eden区:Java新对象的出生地(如果新创建的对象占用内存很大,则直接分配到老年代)。当Eden区内存不够[......]
转载自:《JVM的新生代、老年代、MinorGC、MajorGC》![[转]Java中的新生代、老年代、永久代和各种GC](https://www.coder4.com/wp-content/uploads/2018/03/1.jpg)
JVM中的堆,一般分为三大部分:新生代、老年代、永久代:
1 新生代
主要是用来存放新生的对象。一般占据堆的1/3空间。由于频繁创建对象,所以新生代会频繁触发MinorGC进行垃圾回收。
新生代又分为 Eden区、ServivorFrom、ServivorTo三个区。
jmap是java 7后自带的轻量级内存分析工具,原文介绍可以见官网,《The jmap Utility》
1 堆栈分析
获取GC算法,新生代,老年代,永久代空间占用分析
jmap -heap 29620
Attaching to process ID 29620, please wait...
Debugger attached successfully.
Client compiler detected.
JVM version is 1.6.0-rc-b100[......]
在IDC跨机房,或者docker集群的使用中,经常会有这样的需求:
本地办公网络可以直接访问远程IDC集群的内网。
有两种方案:
路由表是最稳妥的做法,但是双向设置比较繁琐,而且容易出错。
本文介绍的是iptables + openvpn方案。
1、方案:
本地LAN <-- iptables+NAT --> 带openvpn的中转软路由 <-- openvpn --> 远程i[......]
一个简单的实验,具体见 Internet/ConnectionSharing
说一下实验环境,两台vm虚拟机,Ubuntu 16.04
也就是说,我们想让tmp2通过tmp1连接互联网。
这里的做法是让tmp1的网卡2和tmp2的网卡1在同一个网段,然后在tmp1上通过iptables完[......]