Walker_YAM

九和诸侯,一匡天下

排序:
默认
按更新时间
按访问量

通知

博主的 CSDN 博客不再更新,想要阅读最新文章,请移步博客园或者微信公众号。 博客园地址:http://www.cnblogs.com/yangming1996/ 微信公众号:扑在代码上的高尔基 ...

2018-04-15 17:09:01

阅读数:94

评论数:0

访问权限控制

访问权限控制又称「隐藏具体实现」,也就是说,我们可以通过它来决定某个类或者类中的成员在程序中的可见范围。例如,被修饰为 public 的元素在全局范围可见,而被修饰为 private 的元素只能可见于类的内部。 Java 的访问权限控制提供了四种不同的访问权限限定词,用于描述元素在程序中的可见范...

2018-04-11 15:06:28

阅读数:108

评论数:0

关于类的对象创建与初始化

今天,我们就来解决一个问题,一个类实例究竟要经过多少个步骤才能被创建出来,也就是下面这行代码的背后,JVM 做了哪些事情? Object obj = new Object(); 当虚拟机接受到一条 new 指令时,首先会拿指令后的参数,也就是我们类的符号引用,于方法区中进行检查,看是否...

2018-04-10 16:17:50

阅读数:132

评论数:0

垃圾收集机制与内存分配策略

Java 语言与其他编程语言有一个非常突出的特点,自动化内存管理机制。而这种机制离不开高效率的垃圾收集器(Garbage Collection)与合理的内存分配策略,这也是本篇文章将要描述的两个核心点。 引一句周志明老师对 Java 中的内存管理机制的描述: Java 与 C++ 之间有...

2018-04-04 10:28:37

阅读数:56

评论数:0

虚拟机字节码执行引擎

所谓的「虚拟机字节码执行引擎」其实就是 JVM 根据 Class 文件中给出的字节码指令,基于栈解释器的一种执行机制。通俗点来说,也就是 JVM 解析字节码指令,输出运行结果的一个过程。接下来我们详细看看这部分内容。 方法调用的本质 在描述「字节码执行引擎」之前,我们先从汇编层面看看基于栈...

2018-03-29 15:34:50

阅读数:54

评论数:0

虚拟机类加载机制

虚拟机把字节码文件从磁盘加载进内存的这个过程,我们可以粗糙的称之为「类加载」,因为「类加载」不仅仅是读取一段字节码文件那么简单,虚拟机还要进行必要的「验证」、「初始化」等操作,下文将一一叙述。 类加载的基本流程 一个类从被加载进内存,到卸载出内存,完整的生命周期包括:加载,验证,准备,解析...

2018-03-21 17:22:13

阅读数:49

评论数:0

字节码文件的内部结构之谜

如果计算机的 CPU 只有「x86」这一种,或者操作系统只有 Windows 这一类,那么或许 Java 就不会诞生。Java 诞生之初就曾宣扬过它的初衷,「一次编写,多处运行」,而它之所以能够实现跨平台的一个核心点就在于,Java 引入「字节码」屏蔽了与底层操作系统之间的差异。 同一段 Jav...

2018-03-17 11:11:05

阅读数:83

评论数:0

数值信息的机器级存储

计算机中使用八位的块,或者说是「字节」,作为最小的寻址单元。你可以将整个存储器视作一个超大的「字节数组」,每个字节都有一个唯一的数字编号,这个编号就是所谓的地址,通过这个地址,我们可以唯一的确定一块数据。但是我们代码中定义的各种数值又是如何转换为二进制串存储在这些「字节」里面的呢?为什么两个整数相...

2018-03-14 10:59:20

阅读数:38

评论数:0

漫谈计算机编码

我们知道,在计算机内部,所有的信息都是以二进制形式进行存储。无论是字符,或是视频音频文件,最终都会对应到一串由 0 和 1 构成的数字串。所以从我们能看懂的人类信息转变为机器级别的二进制语言的过程就可以理解为一种编码的过程,自然,相反的过程就是所谓的解码的过程。 可以这么说,所有的乱码都是源于解...

2018-03-09 15:04:04

阅读数:53

评论数:0

弄懂 JRE、JDK、JVM 之间的区别与联系

其实很多 Java 程序员在写了很多代码后,你问他 jre 和 jdk 之间有什么关系,jvm 又是什么东西,很多人不知所云。本篇不会讲述 jvm 底层是如何与不同的系统进行交互的,而主要理清楚三者之间的区别,搞清楚我们写的 xxx.java 文件是被谁编译,又被谁执行,为什么能够跨平台运行。 ...

2018-03-05 11:39:28

阅读数:950

评论数:0

基于跳跃表的 ConcurrentSkipListMap 内部实现(Java 8)

我们知道 HashMap 是一种键值对形式的数据存储容器,但是它有一个缺点是,元素内部无序。由于它内部根据键的 hash 值取模表容量来得到元素的存储位置,所以整体上说 HashMap 是无序的一种容器。当然,jdk 中也为我们提供了基于红黑树的存储的 TreeMap 容器,它的内部元素是有序的,...

2017-12-22 10:38:33

阅读数:86

评论数:0

为并发而生的 ConcurrentHashMap(Java 8)

HashMap 是我们日常最常见的一种容器,它以键值对的形式完成对数据的存储,但众所周知,它在高并发的情境下是不安全的。尤其是在 jdk 1.8 之前,rehash 的过程中采用头插法转移结点,高并发下,多个线程同时操作一条链表将直接导致闭链,死循环并占满 CPU。当然,jdk 1.8 以来,对 ...

2017-12-13 09:26:03

阅读数:165

评论数:0

揭秘 HashMap 实现原理(Java 8)

HashMap 作为一种容器类型,无论你是否了解过其内部的实现原理,它的大名已经频频出现在各种互联网面试中了。从基本的使用角度来说,它很简单,但从其内部的实现来看(尤其是 Java 8 的改进以来),它又并非想象中那么容易。如果你一定要问了解其内部实现与否对于写程序究竟有多大影响,我不能给出一个确...

2017-12-07 09:14:19

阅读数:89

评论数:0

并发容器之写时拷贝的 List 和 Set

对于一个对象来说,我们为了保证它的并发性,通常会选择使用声明式加锁方式交由我们的 Java 虚拟机来完成自动的加锁和释放锁的操作,例如我们的 synchronized。也会选择使用显式锁机制来主动的控制加锁和释放锁的操作,例如我们的 ReentrantLock。但是对于容器这种经常发生读写操作的类...

2017-12-02 11:29:57

阅读数:71

评论数:0

Maven 整合 SSH 框架

前面的一系列文章中,我们总结了三大框架:Struts2,Hibernate,Spring 的基本知识。本篇就姑且尝试着使用 Maven 这个项目构建工具来将这三个框架整合一起。说到这里,如果有对 Maven 还不熟悉的同学,此处推荐下面两个链接快速了解下,记得回来!Maven 是什么? 如何给小...

2017-11-25 10:10:29

阅读数:175

评论数:0

Hibernate框架学习之注解配置关系映射

上篇文章我们通过注解对映射了单个实体类,但是具体项目中往往实体类之间又是相互关联的,本篇文章就是从实体类之间存在的不同关联角度,具体学习下如何映射他们之间的关联,主要涉及内容如下: 单向的一对一关联关系映射 单向的多对一的关联关系映射 单向的一对多的关联关系映射 单向的多对多的关联关系映射 双向的...

2017-11-15 22:16:19

阅读数:119

评论数:0

Hibernate框架学习之注解映射实体类

前面的相关文章中,我们已经介绍了使用XML配置文件映射实体类及其各种类型的属性的相关知识。然而不论是时代的潮流还是臃肿繁杂的配置代码告诉我们,注解配置才是更人性化的设计,于是学习了基本的映射实体类的基本注解,此处做一点总结,后续文章将陆续更新使用注解的方式管理配置各种映射关联关系。本篇主要涉及以下...

2017-11-13 15:40:57

阅读数:76

评论数:0

Spring框架学习之注解配置与AOP思想

上篇我们介绍了Spring中有关高级依赖关系配置的内容,也可以调用任意方法的返回值作为属性注入的值,它解决了Spring配置文件的动态性不足的缺点。而本篇,我们将介绍Spring的又一大核心思想,AOP,也就是面向切面编程。这是对面向对象编程的一个扩展,即便问世不长,但是已经成为当下最流行的编程思...

2017-11-08 20:44:46

阅读数:88

评论数:0

Spring框架学习之高级依赖关系配置(二)

紧接着上篇内容,本篇文章将主要介绍XML Schema的简化配置和使用SpEL表达式语言来优化我们的配置文件。一、基于XML Schema的简化配置方式 从Spring2.0以来,Spring支持使用XML Schema来简化配置。在以前的bean元素配置下,所有的属性注入都需要一个proper...

2017-11-04 21:16:01

阅读数:73

评论数:0

Spring框架学习之高级依赖关系配置(一)

上篇文章我们对Spring做了初步的学习,了解了基本的依赖注入思想、学会简单的配置bean、能够使用Spring容器管理我们的bean实例等。但这还只是相对较浅显的内容,本篇将介绍bean的相关更高级的配置,主要涉及内容如下: 三种方式配置Bean 深入理解容器中的Bean 管理Bean的生命周期...

2017-11-04 11:02:15

阅读数:88

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭