Jesmin的CSDN博客

学习是一种态度!

读书笔记——《深入理解Java虚拟机》系列之类加载器与双亲委派模型

1.Java 类加载器在Java中,类加载器是用来通过一个类的全限定名来获取描述此类的二进制字节流的代码模块。对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性。换句话说,比较两个类是否相等,只有在这两个类是被同一个类加载器加载时才有意义,否则即使这两个类来源...

2017-12-26 16:07:44

阅读数:137

评论数:0

Java技术专题——帮你彻底搞懂JNDI(附详细实例)

1. 什么是JNDI?JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将JNDI API...

2017-12-26 16:03:58

阅读数:1725

评论数:0

读书笔记——《深入理解Java虚拟机》系列之垃圾收集器与GC日志分析

在上一篇博客中,博主和大家一起学了几种常见的垃圾收集算法。我们也知道了分代收集法是目前虚拟机中常用的收集算法。收集算法可以被看作内存回收问题的理论基础,而不同的垃圾收集器就是内存回收的具体实现了。由于在Java 虚拟机规范中并没有规定需要如何实现垃圾收集器,因此各个厂家或者不同版本的虚拟机所提供的...

2017-12-18 14:47:20

阅读数:120

评论数:0

读书笔记——《深入理解Java虚拟机》系列之四种垃圾收集算法

垃圾收集算法一直都是影响GC工作效率的重要因素,在本篇博客中博主就与大家一起来学习一下几种经典的垃圾收集算法。由于它的实现涉及到了大量的程序细节,博主在这里就只用抽象的方式将垃圾收集算法的原理与大家分享啦。

2017-12-13 15:23:46

阅读数:122

评论数:0

Java源码剖析——彻底搞懂Reference和ReferenceQueue

之前博主的一篇读书笔记——《深入理解Java虚拟机》系列之回收对象算法与四种引用类型博客中为大家介绍了Java中的四种引用类型,很多同学都希望能够对引用,还有不同类型引用的原理进行更深入的了解。因此博主查看了抽象父类Reference和负责注册引用对象的引用队列ReferenceQueue的源码,...

2017-12-12 21:08:55

阅读数:614

评论数:0

读书笔记——《深入理解Java虚拟机》系列之回收对象算法与四种引用类型

在上一篇博客中,博主和大家一起学习了Java虚拟机运行时内存区域的划分:主要是线程私有的虚拟机栈,本地方法栈和程序计数器以及线程公有的虚拟机堆和方法区。对于栈内存而言,每个栈帧所需的内存在类结构确定下来后基本已经确定了,栈中的栈帧随着方法的进入和退出不断进行入栈和出栈操作,换句话说栈中的内存分配具...

2017-12-01 16:51:28

阅读数:163

评论数:0

读书笔记——《深入理解Java虚拟机》系列之Java内存区域与常见内存溢出异常

第一次读这本书时,就被文中的一句话所折服:“Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的‘高墙’,墙外面的人想进去,墙里面的人却想出来。”的确,对于使用C++编程的程序员来说,他们肩负着对每一个对象所占内存空间的维护责任;而对于Java程序员来说,动态分配内存机制让我们无需对申请...

2017-11-27 19:34:19

阅读数:162

评论数:0

Java源码剖析——动态代理的实现原理

在本篇博客中,博主将和大家一起深入分析Jdk自带的动态代理的实现原理。如果有同学对代理模式,静态代理和动态代理这些概念比较模糊,请先阅读博主的另一篇文章《一步一步学设计模式——代理模式》。

2017-11-27 19:26:07

阅读数:353

评论数:0

一步一步学设计模式——代理模式

代理模式是一个我们在编程中经常用到的设计模式,它的目的是为其它对象提供一种代理以控制对这个对象的访问。1. 生活实例每年到快要过年的时候,抢票都是一个十分艰辛的任务。在互联网技术与网络购票还没有特别成熟时,大家都需要在售票点排队去买票。很多学校上学的学生都没有时间在刚售票的时候就去排队等票,因此出...

2017-11-27 19:19:50

阅读数:142

评论数:0

超全的深度剖析内存系列——3.虚拟内存(二)

回忆下我们在上一节博客中提到的虚拟内存技术,操作系统使用它来为每一个进程提供一个一致的,私有的虚拟地址空间。从PC硬件的角度来看,内存主要分为物理内存与磁盘上的文件。由于操作系统使用了虚拟内存技术来高效地管理内存,因此从操作系统的角度来看,虚拟内存空间也称为虚拟内存,对应的就是硬件上的物理内存和磁...

2017-11-14 15:23:23

阅读数:101

评论数:0

超全的深度剖析内存系列——2.虚拟内存(一)

在上一节博客中,博主和同学们一起学习了一些内存相关的计算机基础知识,本节博客我们继续来学习物理内存管理相关的知识。1. 计算机存储系统层次计算机的存储器的最优设计目标应该是更大的容量,更快的速度和更低的价格。然而事实上容量,速度,价格这三个方面是互相矛盾的,人们没法设计出完全满足三个条件的存储器。...

2017-11-10 16:18:22

阅读数:285

评论数:0

超全的深度剖析内存系列——1.相关的计算机基础知识

终于下定决心自己写一个系列来总结一下关于内存的种种知识点。对于内存,很多同学都是持有敬而远之的态度。在上大学的时候没有打牢基础,在平常也不关心内存的使用,反正只要写出的代码能够运行,没有报错就万事大吉了。包括博主自己对内存也有很多清楚的地方,但是总是抱着得过且过的态度,没有重视那些问题。现在我希望...

2017-11-04 10:37:22

阅读数:730

评论数:0

数据结构专题——栈与队列之栈的应用(一)

在自己实现了内存中顺序存储和链式存储的栈结构之后,有的同学可能还是有一些疑问。既然都是线性表,我们为什么不直接使用顺序表或链表,反而要创造出一种特殊的线性表呢?其实答案很简单,通过我们规定了特殊规则之后的线性表,能够更轻松地完成很多工作。

2017-11-04 10:34:58

阅读数:130

评论数:0

数据结构专题——栈与队列之链栈及其Java实现

在上一篇博客中,博主与大家学习了一个新的数据结构——栈。它是一个只被允许在栈顶进行插入与删除元素的特殊线性表,是一种典型的LIFO的数据结构。在我们用数组的方式实现了顺序存储的顺序栈之后,本章博客中我们就一起来尝试实现一个链式存储的栈吧。和普通的线性表一样,我们可以选择用单链或者是双链来实现这个数...

2017-11-01 20:54:57

阅读数:92

评论数:0

数据结构专题——栈与队列之顺序栈及其Java实现

在前面的几章博客中,我与同学们一起熟悉了线性表这个基础的数据结构,今天我们要学习的这个数据结构和线性表有着紧密的联系,它就是——栈。栈的定义很简单:栈(Stack)是限定仅在表尾进行插入和删除操作的线性表。我们一起来解读一下栈的定义,首先栈是一个线性表,因此它也是一个具有零个或多个数据元素的有限序...

2017-11-01 16:29:33

阅读数:126

评论数:0

算法练习专题——LeetCode系列之 ThreeSum

Question:Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives t...

2017-11-01 15:03:53

阅读数:189

评论数:0

算法练习专题——LeetCode系列之 Two Sum

在这个系列中给大家分享一些平常见到的算法题,以及自己的答案。Question:Given an array of integers, return indices of the two numbers such that they add up to a specific target. You ...

2017-10-31 22:26:46

阅读数:88

评论数:0

数据结构专题——线性表之双链表及其Java实现

在上一篇博客中,博主和大家一起实现了线性表的链式存储,由于链表中每个节点都只有一个指针域指向着后继节点,因此这种链表也叫单链表。这种链表的缺点显而易见,因为只能够单向遍历,即使我们想要访问最后一个元素也不得不从第一个元素开始遍历到最后一个元素。为了解决这个问题,双链表应运而生。和单链表十分相似,唯...

2017-10-31 22:18:21

阅读数:75

评论数:0

数据结构专题——线性表之单链表及其Java实现

在上一篇博客中,博主和同学们一起认识了本系列中的第一个数据结构——线性表。在提供了抽象数据类型(ADT List)和Java版的MyList之后,我们又基于Java语言实现了在内存中顺序存储的线性表(也称为顺序表)。尽管我们在遇到频繁访问列表中元素时,ArrayList是一个很好的选择;但当我们需...

2017-10-31 22:15:12

阅读数:79

评论数:0

数据结构专题——线性表之顺序表及其Java实现

在上一篇博客中,博主为大家介绍了关于数据结构的三个基本概念:数据结构,数据类型,抽象数据类型。在本篇博客中,博主将为大家介绍本系列中第一个出场的数据结构——线性表。顾名思义,线性表就是一种具有像线一样性质的表。比如在操场上站成一列的学生们,总有一个打头,一个结尾,中间的任何一个学生都知道自己前一名...

2017-10-31 22:11:47

阅读数:103

评论数:0

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