Mybatis学习总结(一):入门基础详解

一、Mybatis介绍 1.MyBatis是什么?    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,...

Java内存模型详解

一、什么是Java内存模型       Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的访问差异,以实现让Java程序在各种平台下都能...

Java常见的几种内存溢出及解决方案详解

1.JVM Heap(堆)溢出:java.lang.OutOfMemoryError: Java heap space      JVM在启动的时候会自动设置JVM Heap的值, 可以利用JVM提...

Java的类加载机制详解

一、什么是类的加载      类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区...

jvm调优-从eclipse开始详解

一、概述      什么是jvm调优呢?jvm调优就是根据gc日志分析jvm内存分配、回收的情况来调整各区域内存比例或者gc回收的策略;更深一层就是根据dump出来的内存结构和线程栈来分析代码中不合...

Java垃圾回收(GC)机制详解

一、为什么需要垃圾回收   如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配而不回收,但是事实并非如此。所以,垃圾回收是必须的。 二、哪些内存需要回收? 哪些内存需...

JVM分代垃圾回收策略的基础概念详解

一、为什么要分代      分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。   &n...

JVM之内存分配与回收策略详解

前言      对象的内存分配,往大的方向上讲,就是在堆上分配,少数情况下也可能会直接分配在老年代中,分配的规则并不是百分之百固定的,其细节决定于当前使用的是哪种垃圾收集器组合,当然还有虚拟机中与内存相关的参...

JVM的内存区域划分详解

     说到Java内存区域,可能很多人第一反应是“堆栈”。首先堆栈不是一个概念,而是两个概念,堆和栈是两块不同的内存区域,简单理解的话,堆是用来存放对象而栈是用来执行程序的。其次,堆内存和栈内存的...

ConcurrentHashMap原理分析详解

一、出现背景      1、线程不安全的HashMap      因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率...