上一页 1 ··· 5 6 7 8 9 10 11 下一页
摘要: 前言 高效并发是程序员们写代码时一直所追求的,HotSpot虚拟机开发团队也为此付出了很多努力,为了在线程之间更高效地共享数据,以及解决竞争问题,HotSpot开发团队做出了各种锁的优化技术常见的有:自适应自旋锁(Adaptive Spinning)、锁消除(Lock Elimination)、锁粗 阅读全文
posted @ 2018-06-04 23:00 纪莫 阅读(644) 评论(0) 推荐(2) 编辑
摘要: 前言 线程:程序流执行的最小单元。线程是比进程更轻量级的调度执行单位,线程的引入,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源(内存地址、文件I/O等),又可以独立调度(线程是CPU调度的基本单位)。 Java语言定义了5中线程状态,在任意一个时间点,一个线程只能有且只有其中的 阅读全文
posted @ 2018-06-02 19:50 纪莫 阅读(772) 评论(0) 推荐(0) 编辑
摘要: 对于volatile型变量的特殊规则 关键字volatile可以说是Java虚拟机提供的最轻量级的同步机制。 在处理多线程数据竞争问题时,不仅仅是可以使用synchronized关键字来实现,使用volatile也可以实现。 Java内存模型对volatitle专门定义了一些特殊的访问规则,当一个变 阅读全文
posted @ 2018-05-31 01:10 纪莫 阅读(754) 评论(2) 推荐(0) 编辑
摘要: 前言 Java虚拟机规范中定义了一种Java的内存模型,即Java Memoory Model(简称JMM),用来实现让Java程序在各个平台下都能达到一致的内存访问效果。JVM是整个虚拟机,JMM模型属于JVM的一部分。 定义Java内存模型并不是一件容易的事情,即要足够严谨,又要足够宽松。初始的 阅读全文
posted @ 2018-05-30 01:16 纪莫 阅读(658) 评论(0) 推荐(2) 编辑
摘要: 前言 JVM设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外面去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。 类与类加载器 类加载器虽然只用户实现类的加载动作,但它在Java程序中起到的作用却远远不 阅读全文
posted @ 2018-05-28 23:38 纪莫 阅读(716) 评论(0) 推荐(1) 编辑
摘要: 类的整个生命周期的7个阶段是:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸载(Unloading)。 类加载的全过程主要包括:加载、验证、准备、解析、初始化这5个 阅读全文
posted @ 2018-05-27 19:09 纪莫 阅读(1448) 评论(0) 推荐(0) 编辑
摘要: 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是类的加载机制。 在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的。类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括: 加载 阅读全文
posted @ 2018-05-26 01:15 纪莫 阅读(1501) 评论(0) 推荐(0) 编辑
摘要: 先回顾一下上一篇介绍的JVM中常见几种垃圾收集算法: 标记-清除算法(Mark-Sweep)。 复制算法(Copying)。 标记整理算法(Mark-Compact)。 分代收集算法(Generational Collecting)。 如果说收集算法是内存回收的方法论。那么垃圾收集器就是内存回收的具 阅读全文
posted @ 2018-05-22 00:05 纪莫 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 简述 因为各个平台的虚拟机的垃圾收集器的实现各有不同,所以只介绍几个常见的垃圾收集算法。 JVM中常见的垃圾收集算法有以下四种: 标记-清除算法(Mark-Sweep)。 复制算法(Copying)。 标记整理算法(Mark-Compact)。 分代收集算法(Generational Collect 阅读全文
posted @ 2018-05-10 00:39 纪莫 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 策略模式 策略模式的定义是:定义了一系列的算法,把它们一个个的封装起来,并且使它们可相互替换,让算法可以独立于使用它的客户而变化。 设计原则是:把一个类中经常改变或者将来可能会经常改变的部分提取出来作为一个接口,然后在使用类中包含这个接口的实例,这样使用类的对象就可以随意调用实现了这个接口的类行为。 阅读全文
posted @ 2018-05-06 17:53 纪莫 阅读(728) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 下一页