gmHappy

从不敢夜郎自大,但也不至于妄自菲薄,只是想做一个靠本事吃饭的手艺人

java 中Shallow Heap与Retained Heap的区别

Shallow Size Shallow Size是对象本身占据的内存的大小,不包含其引用的对象。对于常规对象(非数组)的Shallow Size由其成员变量的数量和类型来定,而数组的ShallowSize由数组类型和数组长度来决定,它为数组元素大小的总和。 Retained Size Re...

2018-12-19 18:48:16

阅读数 837

评论数 0

referenceQueue用法

何为referenceQueue 在java的引用体系中,存在着强引用,软引用,虚引用,幽灵引用,这4种引用类型。在正常的使用过程中,我们定义的类型都是强引用的,这种引用类型在回收中,只有当其它对象没有对这个对象的引用时,才会被GC回收掉。简单来说,对于以下定义: Object obj = n...

2018-12-19 14:09:45

阅读数 898

评论数 0

weakHashMap 用法

WeakHashMap,此种Map的特点是: 当除了自身有对key的引用外,此key没有其他引用,那么GC之后此map会自动丢弃此值 举例来说:声明了两个Map对象,一个是HashMap,一个是WeakHashMap,同时向两个map中放入a、b两个对象,当HashMap remove掉a ...

2018-12-18 20:22:20

阅读数 870

评论数 0

java 中的引用类型

GC基本原理 GC (Garbage Collection)的基本原理:将内存中不再被使用的对象进行回收,GC中用于回收的方法称为收集器,由于GC需要消耗一些资源和时间,Java在对对象的生命周期特征进行分析后,按照新生代、旧生代的方式来对对象进行收集,以尽可能的缩短GC对应用造成的暂停 (1...

2018-12-18 18:02:31

阅读数 856

评论数 0

java 回调的原理与实现

回调函数,顾名思义,用于回调的函数。回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数。回调函数是一个工作流的一部分,由工作流来决定函数的调用(回调)时机。 回调原本应该是一个非常简单的概念,但是可能因为平时只用系统为我们写好的回调的接口了,自己很少实现回调,所以在自己实现回...

2018-12-18 14:29:29

阅读数 905

评论数 0

JVM 垃圾回收(GC)机制

目录 一、背景 二、 哪些内存需要回收? 1、引用计数算法 2 、可达性分析算法 三、 四种引用状态 1、强引用 2、软引用 3、弱引用 4、虚引用 对象死亡(被回收)前的最后一次挣扎 方法区如何判断是否需要回收 四、垃圾收集算法 1、标记-清除(Mark-Sweep)算...

2018-12-13 15:23:37

阅读数 1014

评论数 0

JVM 运行时数据区域划分

目录          前言 什么是JVM JRE/JDK/JVM是什么关系 JVM执行程序的过程 JVM的生命周期 JVM垃圾回收 JVM的内存区域划分 一.运行时数据区包括哪几部分? 二.运行时数据区的每部分到底存储了哪些数据? 1.程序计数器 2.Java栈 3.本地...

2018-12-13 11:39:42

阅读数 981

评论数 0

java 类加载及实例化的调用顺序

1.没有继承的情况 单独一个类的场景下,初始化顺序为依次为 静态变量和静态代码块(看两者的书写顺序),继承的基类的构造函数,成员变量,被调用的构造函数。 代码呈现: public class Test { public static void main(String[] args) { So...

2018-12-08 11:07:46

阅读数 959

评论数 0

Java JNA (五)—— 释放Memory对象分配的内存

Java进程的内存包括Java NonHeap空间、Java Heap空间和Native Heap空间。 JNA中的Memory对象是从Native Heap中分配空间。但java的GC是针对Java Heap空间设计的,当Java Heap空间不足时会触发GC,但Native Heap空间不够...

2018-12-07 12:19:44

阅读数 1488

评论数 0

JVM Heap Memory和Native Memory

JVM管理的内存可以总体划分为两部分:Heap Memory和Native Memory。前者我们比较熟悉,是供Java应用程序使用的;后者也称为C-Heap,是供JVM自身进程使用的。Heap Memory及其内部各组成的大小可以通过JVM的一系列命令行参数来控制,在此不赘述。Native ...

2018-12-07 11:46:00

阅读数 1052

评论数 0

mybatis resultMap之collection聚集两种实现方式

最近做得项目用到了MyBatis处理一对多的映射关系,下面的两个方法中用到了集合的嵌套查询方法,下面仔细学习一下这两种方式 聚集元素用来处理“一对多”的关系。需要指定映射的Java实体类的属性,属性的javaType(一般为ArrayList);列表中对象的类型ofType(Java实体类);对...

2018-12-04 11:39:44

阅读数 1531

评论数 2

提示
确定要删除当前文章?
取消 删除