上一页 1 2 3 4 5 6 ··· 9 下一页
摘要: 程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后也会消失,因此不需要对这三个区域进行垃圾回收。垃圾回收主要是针对 Java 堆和方法区进行。 判断一个对象是否可回收 1. 引用计数 给对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时 阅读全文
posted @ 2018-03-29 15:41 温暖的向阳花 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 一、概述 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。经过这么长时间的发展,Java GC机制已经日臻完善, 阅读全文
posted @ 2018-03-29 15:38 温暖的向阳花 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 关联文章: 关于Spring IOC (DI-依赖注入)你需要知道的一切 关于 Spring AOP (AspectJ) 你该知晓的一切 《Spring入门经典》这本书无论对于初学者或者有经验的工程师还是很值一看的,最近花了点时间回顾了Spring的内容,在此顺带记录一下,本篇主要与spring I 阅读全文
posted @ 2018-03-28 20:07 温暖的向阳花 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 关联文章: 关于Spring IOC (DI-依赖注入)你需要知道的一切 关于 Spring AOP (AspectJ) 你该知晓的一切 本篇是年后第一篇博文,由于博主用了不少时间在构思这篇博文,加上最近比较忙,所以这篇文件写得比较久,也分了不同的时间段在写,已尽最大能力去连贯博文中的内容,尽力呈现 阅读全文
posted @ 2018-03-28 15:53 温暖的向阳花 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 一、前言 在分析jdk1.8后的HashMap源码时,发现网上好多分析都是基于之前的jdk,而Java8的HashMap对之前做了较大的优化,其中最重要的一个优化就是桶中的元素不再唯一按照链表组合,也可以使用红黑树进行存储,总之,目标只有一个,那就是在安全和功能性完备的情况下让其速度更快,提升性能。 阅读全文
posted @ 2018-03-28 15:33 温暖的向阳花 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 关联文章: 深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(enum) 深入理解Java注解类型(@Annotation) 深入理解Java类加载器(ClassLoader) 深入理解Java并发之synchronized实现原理 Java并发编程-无锁CAS与Uns 阅读全文
posted @ 2018-03-27 17:14 温暖的向阳花 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 关联文章: 深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(enum) 深入理解Java注解类型(@Annotation) 深入理解Java类加载器(ClassLoader) 深入理解Java并发之synchronized实现原理 Java并发编程-无锁CAS与Uns 阅读全文
posted @ 2018-03-27 16:11 温暖的向阳花 阅读(305) 评论(0) 推荐(0) 编辑
摘要: Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。 如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共 阅读全文
posted @ 2018-03-27 16:03 温暖的向阳花 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: (1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。 (2)一个线程持有锁会导致其它所有需要此锁的线程挂起。 (3)如果一个优先级高的线程等待一个优先级低的线 阅读全文
posted @ 2018-03-22 21:26 温暖的向阳花 阅读(7507) 评论(1) 推荐(0) 编辑
摘要: 在jdk1.8中主要做了2方面的改进 改进一:取消segments字段,直接采用transient volatile HashEntry<K,V>[] table保存数据,采用table数组元素作为锁,从而实现了对每一行数据进行加锁,进一步减少并发冲突的概率。 改进二:将原先table数组+单向链表 阅读全文
posted @ 2018-03-22 21:14 温暖的向阳花 阅读(172) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页