Java 中语法上实现多态的方式分为两种:1. 重载、2. 重写,重载又称之为编译时的多态,重写则是运行时的多态。 那么底层究竟时如何实现多态的呢,通过阅读『深入理解 Java 虚拟机』这本书(后文所指的书,如无特殊说明,指的都是这本书),对多态的实现过程有了一定的认识。以下内容是对学习内容的记录, ...
分类:
编程语言 时间:
2019-11-07 23:09:51
阅读次数:
107
final 是Java 中重要关键字之一,可以应用于类、方法以及变量上。这篇文章中将讲解什么是 final 关键字?将变量、方法和类声明为 final 代表了什么?使用 final 的好处是什么? final 关键字是什么? final 在 Java 中是一个保留的关键字,可以声明成员变量、方法、类 ...
分类:
编程语言 时间:
2019-10-28 09:16:21
阅读次数:
81
深入理解Java内存模型 【1】CPU和缓存的一致性 ? 我们应该都知道,计算机在执行程序的时候,每条指令都是在CPU中执行的,而执行的时候,又免不了要和数据打交道。而计算机上面的数据,是存放在主存当中的,也就是计算机的物理内存啦。 ? 刚开始,还相安无事的,但是随着CPU技术的发展,CPU的执行速 ...
分类:
编程语言 时间:
2019-10-24 00:08:31
阅读次数:
94
引用计数法高效率,但无法解决循环引用的问题,Python语言在使用可达性分析主流商用程序语言在使用,比如C#,Java,以及Lisp。通过一系列被称为GC Roots的对象作为起点,从这些节点开始向下搜索,搜索所走过的路径称为引用链。当一个对象到GC Roots没有任何引用链相连,对象不可达的,则证... ...
分类:
编程语言 时间:
2019-10-21 09:46:59
阅读次数:
86
本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看 "https://github.com/h2pl/Java Tutorial" 喜欢的话麻烦点下Star、Fork、Watch三连哈,感谢你的支持。 文章首发于我的个人博客: "www.how2playl ...
分类:
编程语言 时间:
2019-10-07 16:07:59
阅读次数:
92
1.《深入理解Java虚拟机:JVM高级特性与最佳实践》本书适合所有Java程序员、系统调优师和系统架构师阅读。 共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。 电子版: 2.《Redis 深度历险:核心原理与 ...
分类:
编程语言 时间:
2019-10-05 11:02:20
阅读次数:
111
java的编译器,解释器和即时编译器概念 置顶 2019-04-20 13:18:55 菠萝科技 阅读数 268更多 分类专栏: java jvm虚拟机 操作系统/linux java的编译器,解释器和即时编译器概念 置顶 2019-04-20 13:18:55 菠萝科技 阅读数 268更多 分类专 ...
分类:
编程语言 时间:
2019-10-03 10:29:20
阅读次数:
118
目录 "为什么要使用异常" "异常基本定义" "异常体系" "初识异常" "异常和错误" "异常的处理方式" ""不负责任"的throws" "纠结的finally" "throw : JRE也使用的关键字" "异常调用链" "自定义异常" "异常的注意事项" "当finally遇上return" ...
分类:
编程语言 时间:
2019-09-28 15:03:22
阅读次数:
92
参考资料:GC算法分类-https://zhuanlan.zhihu.com/p/41666328 《深入理解java虚拟机》第三章垃圾收集器与内存分配策略 一:GC分代--新生代跟老年代 gc活动空间为堆区域,堆按gc处理方式也可以分为新生代跟老年代。 对象内存分配跟使用的垃圾收集器有关,默认是在 ...
分类:
编程语言 时间:
2019-09-15 17:08:04
阅读次数:
110
1、什么是类加载器 虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚 机外部实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的模块称为“类加载器”。 周志明. 深入理解Java虚拟机:JVM高级特性与最佳实践(第2版) 机械工业出 ...
分类:
其他好文 时间:
2019-09-05 13:46:35
阅读次数:
85