摘要: 本文部分摘自《深入理解 Java 虚拟机第三版》 CMS 收集器 1. 概述 CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。由于大部分 Java 应用主要集中在互联网网站以及基于浏览器的 B/S 系统的服务端,这类应用通常会较为关注服务的响应速 阅读全文
posted @ 2020-12-26 14:37 低吟不作语 阅读(914) 评论(0) 推荐(0) 编辑
摘要: 本文部分摘自《深入理解 Java 虚拟机第三版》 概述 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的实践者。Java 虚拟机规范中对垃圾收集器的实现做出规定,因此不同的厂商、不同版本的虚拟机所包含的垃圾收集器各有不同。所谓经典就是在 JDK7 Update 4 以后,JDK11 发 阅读全文
posted @ 2020-12-25 11:01 低吟不作语 阅读(438) 评论(0) 推荐(3) 编辑
摘要: 本文部分摘自 On Java 8 面向对象编程 在提及面向对象时,不得不提到另一个概念:抽象。编程的最终目的是为了解决某个问题,问题的复杂度直接取决于抽象的类型和质量。早期的汇编语言通过对底层机器作轻微抽象,到后来的 C 语言又是对汇编语言的抽象。尽管如此,它们的抽象原理依然要求我们着重考虑计算机的 阅读全文
posted @ 2020-12-24 17:05 低吟不作语 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 本文摘自深入理解 Java 虚拟机第三版 垃圾收集发生的区域 之前我们介绍过 Java 内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈三个区域随线程共存亡。栈中的每一个栈帧分配多少内存基本上在类结构确定下来时就已知,因此这几个区域的内存分配和回收都具有确定性,不需要考虑如何回收的问题 阅读全文
posted @ 2020-12-03 21:14 低吟不作语 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 本文摘自深入理解 Java 虚拟机第三版 对象的创建 Java 是一门面向对象的语言,Java 程序运行过程中无时无刻都有对象被创建出来。从语言层面看,创建对象只是一个 new 关键字而已,而在虚拟机中,对象(仅限于普通 Java 对象,不包括数组和 Class 对象等)的创建又是怎么一个过程呢? 阅读全文
posted @ 2020-12-02 15:57 低吟不作语 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 本文摘自深入理解 Java 虚拟机第三版 概述 Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有的区域则是依赖用户线程的启动和结束而创建和销毁。因此,我们可以根据这个特点 阅读全文
posted @ 2020-11-29 15:05 低吟不作语 阅读(335) 评论(0) 推荐(1) 编辑
摘要: 本文部分摘自 On Java 8 基本语法 注解是 Java 5 所引入的众多语言变化之一,是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用,包含在 java.lang.annotation 包中 注解 阅读全文
posted @ 2020-11-26 13:58 低吟不作语 阅读(963) 评论(0) 推荐(2) 编辑
摘要: 本文部分摘自 On Java 8 枚举类型 Java5 中添加了一个 enum 关键字,通过 enum 关键字,我们可以将一组拥有具名的值的有限集合创建为一种新的类型,这些具名的值可以作为常规的程序组件使用,例如: public enum Spiciness { NOT, MILD, MEDIUM, 阅读全文
posted @ 2020-11-25 12:20 低吟不作语 阅读(2899) 评论(2) 推荐(0) 编辑
摘要: 本文部分摘自 On Java 8 概述 在 Java5 以前,普通的类和方法只能使用特定的类型:基本数据类型或类类型,如果编写的代码需要应用于多种类型,这种严苛的限制对代码的束缚就会很大 Java5 的一个重大变化就是引入泛型,泛型实现了参数化类型,使得你编写的组件(通常是集合)可以适用于多种类型。 阅读全文
posted @ 2020-11-22 15:54 低吟不作语 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 本文部分摘自 On Java 8 RTTI RTTI(RunTime Type Information)运行时类型信息,能够在程序运行时发现和使用类型信息,把我们从只能在编译期知晓类型信息并操作的局限中解脱出来 传统的多态机制正是 RTTI 的基本使用:假设有一个基类 Shape 和它的三个子类 C 阅读全文
posted @ 2020-11-18 14:35 低吟不作语 阅读(584) 评论(2) 推荐(0) 编辑