摘要: 本文摘自深入理解 Java 虚拟机第三版 对象的创建 Java 是一门面向对象的语言,Java 程序运行过程中无时无刻都有对象被创建出来。从语言层面看,创建对象只是一个 new 关键字而已,而在虚拟机中,对象(仅限于普通 Java 对象,不包括数组和 Class 对象等)的创建又是怎么一个过程呢? 阅读全文
posted @ 2020-12-02 15:57 低吟不作语 阅读(617) 评论(0) 推荐(0)
摘要: 本文摘自深入理解 Java 虚拟机第三版 概述 Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有的区域则是依赖用户线程的启动和结束而创建和销毁。因此,我们可以根据这个特点 阅读全文
posted @ 2020-11-29 15:05 低吟不作语 阅读(374) 评论(0) 推荐(1)
摘要: 本文部分摘自 On Java 8 基本语法 注解是 Java 5 所引入的众多语言变化之一,是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用,包含在 java.lang.annotation 包中 注解 阅读全文
posted @ 2020-11-26 13:58 低吟不作语 阅读(1048) 评论(0) 推荐(2)
摘要: 本文部分摘自 On Java 8 枚举类型 Java5 中添加了一个 enum 关键字,通过 enum 关键字,我们可以将一组拥有具名的值的有限集合创建为一种新的类型,这些具名的值可以作为常规的程序组件使用,例如: public enum Spiciness { NOT, MILD, MEDIUM, 阅读全文
posted @ 2020-11-25 12:20 低吟不作语 阅读(3990) 评论(4) 推荐(0)
摘要: 本文部分摘自 On Java 8 概述 在 Java5 以前,普通的类和方法只能使用特定的类型:基本数据类型或类类型,如果编写的代码需要应用于多种类型,这种严苛的限制对代码的束缚就会很大 Java5 的一个重大变化就是引入泛型,泛型实现了参数化类型,使得你编写的组件(通常是集合)可以适用于多种类型。 阅读全文
posted @ 2020-11-22 15:54 低吟不作语 阅读(599) 评论(0) 推荐(0)
摘要: 本文部分摘自 On Java 8 RTTI RTTI(RunTime Type Information)运行时类型信息,能够在程序运行时发现和使用类型信息,把我们从只能在编译期知晓类型信息并操作的局限中解脱出来 传统的多态机制正是 RTTI 的基本使用:假设有一个基类 Shape 和它的三个子类 C 阅读全文
posted @ 2020-11-18 14:35 低吟不作语 阅读(647) 评论(2) 推荐(0)
摘要: 本文部分摘自 On Java 8 自 Java7 开始,Java 终于简化了文件读写的基本操作,新增了 java.nio.file 库,通过与 Java8 新增的 stream 结合可以使得文件操作变得更加优雅 文件和目录路径 java.nio.file.Paths 类包含一个重载方法 static 阅读全文
posted @ 2020-11-17 15:19 低吟不作语 阅读(2202) 评论(2) 推荐(0)
摘要: 流概述 大多数情况下,我们将对象存储在集合是为了处理他们,使用流可以帮助我们处理对象,无需迭代集合中的元素,即可直接提取和操作元素,并进行查找、过滤、分组、排序等一系列操作 总而言之,流是一种高效且易于使用的处理数据的方式,当结合 Lambda 表达式和方法引用时效果更好 观察下面的例子: publ 阅读全文
posted @ 2020-11-14 18:49 低吟不作语 阅读(8231) 评论(0) 推荐(6)
摘要: 概述 通常,传递给方法的数据不同,结果也不同。同样的,如果我们希望方法被调用时的行为不同,该怎么做呢?结论是:只要能将代码传递给方法,那么就可以控制方法的行为。 说得再具体点,过去我们总是创建包含所需行为的对象,然后将对象传递给想要控制的方法,一般使用匿名内部类来实现。假设现在有这么一个需求:有一个 阅读全文
posted @ 2020-11-13 13:50 低吟不作语 阅读(3153) 评论(1) 推荐(4)
摘要: 内部类 一个定义在另一个类中的类,叫作内部类 1. 概述 内部类允许你把一些逻辑相关的类组织在一起,并控制位于内部的类的可见性,这么看来,内部类就像是一种代码隐藏机制:将类置于其他类的内部,从而隐藏名字与组织代码的模式。 2. 创建内部类 创建内部类的方式就如同你想的一样,把类的定义置于外部类里面 阅读全文
posted @ 2020-10-25 00:29 低吟不作语 阅读(2043) 评论(0) 推荐(2)