自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Shelby Lee的博客

临渊羡鱼,不如退而结网

  • 博客(16)
  • 收藏
  • 关注

原创 Java Collections Framework学习笔记之HashMap

Java Collections Framework学习笔记之HashMap一、HashMap简介我们看一下官方文档中对HashMap的描述 * Hash table based implementation of the <tt>Map</tt> interface. This * implementation provides all of th...

2018-02-20 22:01:12 319

原创 Java中四种遍历集合的方法

Java中四种遍历集合的方法迭代是集合中进行的基本操作之一。基本上,迭代是从一个到另一个集合比如,你想在一个班级中遍历所有的学生打印出他们的名字或找到在最近的考试中的最高分是谁。或者你想遍历一组数字计算和或平均值。这样的操作在编程中是十分常见的。Java提供了四种在集合上遍历的方法,包括循环,迭代和forEach(从Java 8开始)before going to each kin...

2018-02-19 10:44:35 27460 1

原创 Java Collections Framework学习笔记之Collection接口

Java Collections Framework学习笔记之Collection接口文章中使用的图均源: http://www.codejava.net我们来一步步学习Collection的源码从图中可以看出Collection接口继承了Iteratable接口,在介绍Collection之前,我们需要先了解一下Iteratable接口,而实现Iteratable接口的集合必须提...

2018-02-18 19:10:36 410

原创 Java Collections Framework学习笔记之List接口

Java Collections Framework学习笔记之List文章中使用的图均源: http://www.codejava.net下图是List API的整体层次图 我们先看一下文档中对List的描述:/** * An ordered collection (also known as a <i>sequence</i>). The use...

2018-02-18 19:10:06 203

原创 LinkedList和ArrayList的区别

一、前置技能:线性表要想了解ArrayList和LinkedList,首先要知道线性表的概念。线性表是最常用且最简单的一种数据结构,简单说,一个线性表是n个数据元素的有限序列。线性表有两种存储结构:顺序存储结构和链式存储结构 顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻。 优点:可以随机存取缺点:插入/删除需要移动大量元素链式存储结构的特点是不要求逻辑上相邻的...

2018-02-18 19:09:33 238

原创 Java ConcurrentModificationException异常剖析

为什么会出现ConcurrentModificationException异常?之前在“Java Collections Framework学习笔记之Collection接口”中在介绍Iterator时有提到过ConcurrentModificationException这个异常。我们被提醒:在直接使用Iterator(不是通过增强for循环间接使用)时,要记住一个基本法则:如果对正在被迭代的...

2018-02-18 19:08:56 234

原创 使用Sublime Text 3作为Markdown编辑器

最近做笔记的时候一直用的有道云笔记的Markdown,确实安全也挺漂亮的,但是讲真,有点慢了,有时候打字快了就跟不上,所以考虑用个本地的Markdown编辑器,因为有时候写程序也用Sublime Text,所以就干脆下个插件,也用其当作Markdown编辑器吧。首先下载Package Control来帮助安装插件 Installation-Package Control下载完成后,点击 ...

2018-02-16 17:27:00 1495

原创 常量池初探

一、有以下三大常量池:Class文件中的常量池 每个.java文件编译成.class文件后,都会产生当前类独有的常量池,即我们介绍的第一大常量池。 这个常量池主要存放两类常量 字面量(Literal) 包括文本字符串、final类型的常量符号引用(Symbolic References) 包括三类 类和接口的全限定名字段的名称和描述符方法的名称和描述符运行时常量池...

2018-02-13 13:39:45 150

原创 详解Java中的equals()和==

1. 先来讲一讲equals()很多类中都有自己的equals()方法,但他们其实都是覆写的java.lang.Object类中的equals()方法。 因为Java中所有的类都是继承于java.lang.Object这个类的,而equals()方法是定义在java.lang.Object这个类中的,定义描述如下: public boolean equals(Object ob...

2018-02-12 17:32:24 357

原创 java.lang.String源码阅读笔记

一、String类简介The {@code String} class represents character strings. All string literals in Java programs, such as {@code “abc”}, are implemented as instances of this class. String表示字符串,Java中所有...

2018-02-11 22:38:14 302

原创 Java基本数据类型

一、8种基本数据类型简介Java语言共提供了8种原始的数据类型(byte, short, int, long, float, double, char, boolean) 这些数据类型不是对象,他们一旦被声明后就会立刻在栈上分配内存空间其他类型均为引用类型,指向对象实体,在声明时不会被分配内存空间,只是存储了一个内存地址。不同数据类型对比我们直接从基本数据类型的封装类中的...

2018-02-11 11:51:38 218

原创 虚拟机类加载的时机

虚拟机类加载的时机一个类编译完成之后,下一步就需要开始使用类,如果要使用一个类,肯定离不开JVM。在程序执行过程中JVM通过加载,连接,初始化这3个步骤完成。其中连接包括验证、准备、解析三个阶段。1. 类的生命周期共七个阶段: 加载、验证、准备、解析、初始化、使用、卸载其中,验证、准备、解析3个阶段统称为连接确定顺序的五个阶段: 加载:通过类加载器完成(除了数组类,数组类...

2018-02-10 21:23:08 136

原创 Object类中的equals()与hashCode()

一、官方文档的描述1. getClass()public final native Class<?> getClass(); Class {@code Object} is the root of the class hierarchy. Every class has {@code Object} as a superclass. All objects...

2018-02-07 22:31:17 238

原创 BFS & DFS(Java实现)

BFS 广度优先搜索 (Broadth First Search)类似于树按层次遍历的过程要求顺次访问为了顺次访问路径长度为2、3、…的顶点,需要使用队列记录已访问的顶点时间复杂度:O(n + e) e为无向图中边的数或有向图中弧的数 /** * Broadth First Search * @param graph 用于存放图中每个结点的邻接表

2018-02-05 17:57:43 5905

原创 java.lang.Thread源码阅读笔记

1. 线程简介 A thread is a thread of execution in a program. The Java Virtual Machine allows an application to have multiple threads of execution running concurrently. 一个thread是程序中一个线程的执行。JVM允许应用在并...

2018-02-04 19:47:33 615

原创 简述Java内存模型

一、物理机对并发的处理方案在介绍Java内存模型前,我们需要先了解一下物理机对并发的处理方案由于计算机处理器和存储设备的运算速度有几个数量级的差别,处理器快速的计算完成后,总是需要等待I/O操作的完成,在等待期间处理器无法进行其他操作,因此十分浪费资源处理器菌:( ▼-▼ )你好慢噢 I/O设备酱:〒_〒我也没有办法酱所以现代计算机系统都加入了一层读写速度尽可能接近处理器运

2018-02-02 21:41:41 451

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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