转载自:《JVM的新生代、老年代、MinorGC、MajorGC》
JVM中的堆,一般分为三大部分:新生代、老年代、永久代:
1 新生代
主要是用来存放新生的对象。一般占据堆的1/3空间。由于频繁创建对象,所以新生代会频繁触发MinorGC进行垃圾回收。
新生代又分为 Eden区、ServivorFrom、ServivorTo三个区。
- Eden区:Java新对象的出生地(如果新创建的对象占用内存很大,则直接分配到老年代)。当Eden区内存不够[......]
转载自:《JVM的新生代、老年代、MinorGC、MajorGC》
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[......]
转载自:http://www.cnblogs.com/89526cyh/p/6425319.html
spring中的@Transactional基于动态代理的机制,提供了一种透明的事务管理机制,方便快捷解决在开发中碰到的问题。
一般使用是通过如下代码对方法或接口或类注释:
@Transactional(propagation=Propagation.NOT_SUPPORTED)
Propagation支持7种不同的传播机制:
REQUIRED:如果存在一个事务,则支持当前[......]
有的时候,SpringBoot中会发现Configuration的执行顺序不是我们想要的,可以修正这个顺序,如下:
@Configuration
@AutoConfigureBefore(BConfiguration.class)
public class AConfiguration {
@Bean
@ConditionalOnMissingBean(XXX.class)
public XXX XXX() {
return new XX[......]
https://gatling.io/[......]