- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 浅谈Java引用类型
浅谈Java引用类型本篇主要介绍了Java的几种引用类型,引用是垃圾回收的核心问题。1. 可达性分析可达性分析(Reachability Analysis)是垃圾回收的依据,用来判定对象是否存活,所谓存活即在栈上有没有引用指向堆上的对象。其主要算法为从GC ROOT开始作深度搜索,搜索过得路径为引用链,当一个对象从GC ROOT没有任何引用链与之关联,那么这个对象即符合了垃圾回...
2018-06-17 21:25:51
217
原创 浅谈Java内存溢出
浅谈Java内存溢出博主最近通过《深入理解Java虚拟机》在恶补关于JVM底层实现和内存模型,也将陆续通过博客记录学习心得。本篇主要根据书中提到的几种内存溢出的场景进行总结。1. 内存模型借用网上的图说明JVM的内存模型[3]: 1.1 程序计数器(PC)类比CPU的程序计数器,用于对字节码的读取进行计数,字节码解释器通过该计数器确定需要执行那条字节码,控制程序的分支、循...
2018-06-03 22:14:52
210
原创 JDK1.8源码解析-HashMap (二)
JDK1.8源码解析-HashMap II承接上一篇《JDK1.8源码解析-HashMap I》,本篇主要介绍关于Java8针对HashMap在数据结构上的优化,涉及如何将链表优化成红黑树以及对红黑树的操作。1. 概述在上一篇中我们基于put方法分析了HashMap的底层实现,并且知道当hash产生碰撞,HashMap会以链表存放这些keyHash相同的键值对,并且当链表长度大...
2018-05-13 21:51:41
350
原创 JDK1.8源码解析-HashMap(一)
JDK1.8源码解析-HashMap I本文主要介绍了JDK1.8中HashMap的实现原理,对部分常用的API进行源码解读,网上该主题的资源非常多,作者参考了很多相关文章不在文中一一列举了,在此基础上加入了自己对部分源码的理解。1. HashMap概述根据JDK1.8中HashMap的JavaDo的描述,HashMap可以允许key为null,value为null的键值对,值...
2018-05-06 17:56:26
2182
原创 JavaEE笔记(四)Struts2中的ValueStack 与 ActionContext
JavaEE笔记(四)Struts2中的ValueStack 与 ActionContext在上一篇学习笔记JavaEE笔记(三)Struts2 拦截器的最后一小节中提到了关于Struts2拦截器与过滤器的区别,其中有一条说到,拦截器可以访问ValueStack与Action上下文。 我们没有展开讨论,因为关于这个话题,内容比较复杂而篇幅有限。今天的笔记将着重讨论这个话题。1. What is Va
2016-08-24 22:09:41
1193
原创 JavaEE笔记(三)Struts2 拦截器
JavaEE笔记(三)Struts2 拦截器作为Struts框架的核心功能,拦截器提供了强大的预处理及后置处理功能,通过Action代理对象在调用处理器中利用递归实现整个拦截器链的遍历。而自定义拦截器也使得开发更加具有可扩展性。
2016-08-20 18:24:28
568
原创 JavaEE笔记(一)类加载器(ClassLoader)
JavaEE笔记(一)类加载器(ClassLoader) 简单介绍了Java类加载器的加载机制以及自定义加载器的应用场合。
2016-08-16 22:19:11
469
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人