java的反射是我一直非常喜欢的地方,因为有了这个,可以让程序的灵活性大大的增加,同时通用性也提高了很多。反射原理什么的,我就不想做过大介绍了,网上一搜,就一大把。(下面我是只附录介绍下) Reflection 是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Refl ...
分类:
编程语言 时间:
2020-05-31 18:07:38
阅读次数:
61
JVM 深入理解JVM(6)——类加载器 Posted by Crow on August 21, 2017 虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流(即字节码)”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的 ...
分类:
其他好文 时间:
2020-05-30 21:56:40
阅读次数:
64
本文来自作者投稿(原作者:小胖儿),原作者是一位2021届本科毕业生,就读于一所双非(非985、非211)院校,在今年2月份的时候,我曾经帮他指导过简历,并且根据他的简历内容帮他提了一些可能会问到的问题。 4月份的时候说是已经通过了阿里的四面,最近又得知已经顺利的拿到了阿里的Offer,非常为他感到 ...
分类:
其他好文 时间:
2020-05-27 12:02:13
阅读次数:
68
2020-05-21 22:42:36 1.1.1 程序计数器 内存空间小,内存私有,字节码解释器工作就是通过这个计数器的值来选取下一条需要执行指令的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖计数器完成。 1.1.2 Java 虚拟机栈 线程私有,生命周期和线程一致。描述的 ...
分类:
编程语言 时间:
2020-05-22 00:12:20
阅读次数:
68
参考:https://mp.weixin.qq.com/s/DZkGRTan2qSzJoDAx7QJag 建议阅读:《深入理解Java虚拟机》相关章节 多线程下的 原子性 可见性 指令重排序 无法保证(单线程 可以保证) static int mainMemoryVariable=0; 线程1: m ...
分类:
编程语言 时间:
2020-05-21 21:06:23
阅读次数:
50
title: 深入理解Java虚拟机 date: 2020 05 14 10:58:24 tags: JVM,虚拟机 [TOC] 1.运行时数据区域 1.程序计数器 当前线程执行字节码的行号指示器 记录正在执行的虚拟机字节码指令的地址(如果正在执行的是本地方法,则为空) 2.虚拟机栈 虚拟机栈描述的 ...
分类:
编程语言 时间:
2020-05-19 22:46:31
阅读次数:
72
HashMap作为我们日常使用最频繁的容器之一,相信你一定不陌生了。今天我们就从HashMap的底层实现讲起,深度了解下它的设计与优化。常用的数据结构我在05讲分享List集合类的时候,讲过ArrayList是基于数组的数据结构实现的,LinkedList是基于链表的数据结构实现的,而我今天要讲的HashMap是基于哈希表的数据结构实现的。我们不妨一起来温习下常用的数据结构,这样也有助于你更好地理
分类:
编程语言 时间:
2020-05-19 17:59:41
阅读次数:
74
类初始化 在讲类的初始化之前,我们先来大概了解一下类的声明周期。 类的声明周期可以分为7个阶段,但今天我们只讲初始化阶段。 我们我觉得出来使用和卸载阶段外,初始化阶段是最贴近我们平时学的,也是笔试做题过程中最容易遇到的,假如你想了解每一个阶段的话,可以看看深入理解Java虚拟机这本书。 下面开始讲解 ...
分类:
其他好文 时间:
2020-05-14 13:10:43
阅读次数:
57
深入理解Java虚拟机:JVM高级特性与最佳实践Java程序员需要掌握的JVM的知识点有哪些呢?Java程序员需要掌握的JVM的知识点今天分享的这份文档将带着你从这几个问题点出发Java程序是如何运行的?Java虛拟机在其中扮演了怎样的角色?如何让Java程序具有更高的并发性?许多Java程序员都会有诸如此类的疑问。无奈,国内在很长一段时间里都没有一本从实际应用的角度讲解Java虚拟机的著作,本书
分类:
其他好文 时间:
2020-05-12 09:53:16
阅读次数:
51
本文主要通过9000余字对比了《深入理解Java虚拟机》第2版和第3版的内容,给大家做作为一个参考,是否值得够买,凭诸君自己判断。另外附送关于本书的我发现的五个小彩蛋。 ...
分类:
编程语言 时间:
2020-05-11 13:42:12
阅读次数:
64