上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 15 下一页
摘要: 访问权限控制又称「隐藏具体实现」,也就是说,我们可以通过它来决定某个类或者类中的成员在程序中的可见范围。例如,被修饰为 public 的元素在全局范围可见,而被修饰为 private 的元素只能可见于类的内部。 Java 的访问权限控制提供了四种不同的访问权限限定词,用于描述元素在程序中的可见范围。 阅读全文
posted @ 2018-04-11 15:08 Single_Yam 阅读(877) 评论(0) 推荐(1) 编辑
摘要: 今天,我们就来解决一个问题, 一个类实例究竟要经过多少个步骤才能被创建出来 ,也就是下面这行代码的背后,JVM 做了哪些事情? Object obj = new Object(); 当虚拟机接受到一条 new 指令时,首先会拿指令后的参数,也就是我们类的符号引用,于方法区中进行检查,看是否该类已经被 阅读全文
posted @ 2018-04-10 16:20 Single_Yam 阅读(1919) 评论(0) 推荐(2) 编辑
摘要: Java 语言与其他编程语言有一个非常突出的特点, 自动化内存管理机制 。而这种机制离不开高效率的垃圾收集器(Garbage Collection)与合理的内存分配策略,这也是本篇文章将要描述的两个核心点。 引一句周志明老师对 Java 中的内存管理机制的描述: Java 与 C++ 之间有一堵有内 阅读全文
posted @ 2018-04-04 10:31 Single_Yam 阅读(499) 评论(0) 推荐(2) 编辑
摘要: 所谓的「虚拟机字节码执行引擎」其实就是 JVM 根据 Class 文件中给出的字节码指令,基于栈解释器的一种执行机制。通俗点来说,也就是 JVM 解析字节码指令,输出运行结果的一个过程。接下来我们详细看看这部分内容。 方法调用的本质 在描述「字节码执行引擎」之前,我们先从汇编层面看看基于栈帧的方法调 阅读全文
posted @ 2018-03-29 15:37 Single_Yam 阅读(424) 评论(0) 推荐(1) 编辑
摘要: 虚拟机把字节码文件从磁盘加载进内存的这个过程,我们可以粗糙的称之为「类加载」,因为「类加载」不仅仅是读取一段字节码文件那么简单,虚拟机还要进行必要的「验证」、「初始化」等操作,下文将一一叙述。 类加载的基本流程 一个类从被加载进内存,到卸载出内存,完整的生命周期包括:加载,验证,准备,解析,初始化, 阅读全文
posted @ 2018-03-21 17:23 Single_Yam 阅读(761) 评论(0) 推荐(0) 编辑
摘要: 如果计算机的 CPU 只有「x86」这一种,或者操作系统只有 Windows 这一类,那么或许 Java 就不会诞生。Java 诞生之初就曾宣扬过它的初衷,「一次编写,多处运行」,而它之所以能够实现跨平台的一个核心点就在于, Java 引入「字节码」屏蔽了与底层操作系统之间的差异 。 同一段 Jav 阅读全文
posted @ 2018-03-17 11:12 Single_Yam 阅读(1525) 评论(0) 推荐(3) 编辑
摘要: 计算机中使用八位的块,或者说是「字节」,作为最小的寻址单元。你可以将整个存储器视作一个超大的「字节数组」,每个字节都有一个唯一的数字编号,这个编号就是所谓的地址,通过这个地址,我们可以唯一的确定一块数据。但是我们代码中定义的各种数值又是如何转换为二进制串存储在这些「字节」里面的呢?为什么两个整数相加 阅读全文
posted @ 2018-03-14 11:00 Single_Yam 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 我们知道,在计算机内部,所有的信息都是以二进制形式进行存储。无论是字符,或是视频音频文件,最终都会对应到一串由 0 和 1 构成的数字串。所以从我们能看懂的人类信息转变为机器级别的二进制语言的过程就可以理解为一种编码的过程,自然,相反的过程就是所谓的解码的过程。 可以这么说, 所有的乱码都是源于解码 阅读全文
posted @ 2018-03-09 15:05 Single_Yam 阅读(824) 评论(1) 推荐(1) 编辑
摘要: 其实很多 Java 程序员在写了很多代码后,你问他 jre 和 jdk 之间有什么关系,jvm 又是什么东西,很多人不知所云。本篇不会讲述 jvm 底层是如何与不同的系统进行交互的,而主要理清楚三者之间的区别,搞清楚我们写的 xxx.java 文件是被谁编译,又被谁执行,为什么能够跨平台运行。 首先 阅读全文
posted @ 2018-03-05 11:40 Single_Yam 阅读(43191) 评论(3) 推荐(15) 编辑
摘要: 从零开始,系统得梳理一遍一个合格的 Java web 工程师所必备的所有知识体系,如有不当有误之处,望各位指出以共同进步。 我始终坚信一句话,在这里分享给大家,望共勉:一个人的潜力要高于一切。在我们编程行业,一个人的潜力指的就是他的编程内功。为什么大厂更愿意招基础好的人即便它们什么框架也不会? 其实 阅读全文
posted @ 2018-03-04 11:23 Single_Yam 阅读(198) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 15 下一页