自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白夜行

冗长的黑暗中,你是我唯一的光。

  • 博客(12)
  • 资源 (25)
  • 收藏
  • 关注

原创 【Java深入】ArrayList源码剖析(二)

类的方法(续)(16)add方法 add(E )方法 : 添加新值到 list 末尾 public boolean add(E e) { // 确定ArrayList的容量大小(modCount++) ensureCapacityInternal(size + 1); // 添加 e 到 ArrayList 中,然后 size 自增 1

2017-05-16 17:05:26 504

原创 【Java深入】ArrayList源码剖析(一)

一、ArrayList概述1.底层实现:ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。2.扩容:每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量也自动增长。自动增长会带来数据向新数组的重新拷贝,因此,如果可预知数据量的多少,可在构

2017-05-15 15:45:01 414

原创 【Java深入】HashSet源码剖析

一、HashSet概述:HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素,是非线程安全的。由于HashSet是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet 的实现比较简单,相关HashSet的操作,基本上都是直接调用底层HashMa

2017-05-14 14:04:20 412

原创 【Java深入】HashMap源码剖析(二)

重要方法源码(JDK8)剖析1.put方法(在映射中关联指定值与指定键)public V put(K key, V value) { return putVal(hash(key), key, value, false, true); }注:HashMap的put方法是通过putVal方法来插入元素的final V putVal(int hash, K key, V valu

2017-05-14 11:37:08 931

原创 【Java深入】HashMap的实现原理与源码剖析(一)

一、HashMap的实现原理1.引入毫无疑问,有很多人都用过HashMap,例如HashMap可以接受null键值和值,而HashTable则不能;HashMap是非synchronized;HashMap很快;以及HashMap储存的是键值对等等。2.深入例1:HashMap的get()方法的工作原理?答:“HashMap是基于hashing的原理,使用put(key, value)存储对象到Ha

2017-05-14 08:18:16 728 1

原创 【Java深入】序列化详解

1、定义Serialization(序列化)为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来,即将对象以一连串的字节描述;反序列化deserialization是一种将这些字节重建成一个对象的过程。2、需要实现序列化的几种情况 (1)想把内存中的对象保存到一个文件中或者数据库中时候;(2)想用套接字在网络上传送对象的时候;(3)想通过RMI传输对象的时候;3、实现序列化的方式与反序

2017-05-13 14:40:53 2688 1

原创 【Java深入】深拷贝与浅拷贝详解

1.拷贝的引入(1)引用拷贝创建一个指向对象的引用变量的拷贝。例1:Teacher teacher = new Teacher("Taylor",26);Teacher otherteacher = teacher;System.out.println(teacher);System.out.println(otherteacher);输出结果:blog.Teacher@355da254bl

2017-05-13 11:12:43 27637 25

原创 《Effective java 第2版》读书笔记--异常、并发与序列化

第九章 异常 第五十七条:只针对异常的情况才使用异常1.异常应该只用在异常的情形下。他们永远不应该用在正常的控制流中。 第五十八条: 对可恢复的情况使用受检异常,对编程错误使用运行时异常1.Java语言有三种可抛出的结构:受检异常、错误和运行时异常(1)决定使用何种异常时主要原则是:如果期望调用者能够从异常中适当的恢复,那么就使用受检异常强迫用户处理或者再抛出。运行时异常属于不可恢复的情形(2)

2017-05-06 12:18:05 734

原创 《Effective java 第2版》读书笔记--通用程序设计

第七章 方法 第三十八条:检查参数的有效性1.注意(1)必须在文档中指明所有的限制,并且在方法体的开头检查限制。(2)如果传递了无效的参数,那么方法应该很快失败并且抛出适当的异常(3)对于公有的方法,要用JavaDoc的@throws标签在文档中说明违反参数限制会抛出的异常;对于未导出的方法,应该抛出断言(4)如果方法并没有使用到参数,而是保存了参数,那么参数检查格外重要。例子:构造器,这样可以避

2017-05-06 09:16:02 377

原创 《Effective java 第2版》读书笔记--泛型与枚举

第五章 泛型 第二十三条:不要在新代码中使用原生态类型1.泛型的原生态类型:List对应的是不带任何实际参数类型的List2.泛型的优点:(1)插入元素时自带类型检查(2)删除元素是不需要进行手工转换(3)可以使用for-each循环,两种方法3.缺点(1)使用原生态类型,会失掉泛型在安全性和表述性方面所有的优势(2)List与List的区别:前者可以接受List,但是后者不行(3)不确定类型的时

2017-05-05 21:20:30 431

原创 《Effective java 第2版》读书笔记--类与接口

第三章 对于所有对象都通用的方法 第八条:覆盖equals时请遵守通用约定1.确定应不应该覆盖equals方法的情况(1)类的每个实例本质上是唯一的(2)不关心类是否提供了“逻辑相等“的测试功能。(3)超类已经覆盖了equals,并且从超类继承过来的子类也是合适的 例如:从AbstractSet继承equals(4)类是私有的或者包级私有的:此时应该覆盖并抛出异常。2.Equals的通用约定(1

2017-05-05 16:51:04 742

原创 《Effective java 第2版》读书笔记--创建/销毁对象

第一章 引言1.本书共78个条目2.本书大部分内容不是讨论性能的,而是关心如何编写出清晰、正确、可用、健壮、灵活和可维护的代码。第二章 创建/销毁对象 第一条:用静态工厂方法代替构造器1.静态工厂方法比起构造器的优势(1)它们有名称:如果构造器的参数不能正确描述正被返回的对象,具有适当名称的静态方法更容易使用。当一个类需要多个带有相同签名的构造器时,就可以用静态工厂代替构造器 例:BigIn

2017-05-05 15:23:35 444

《剑指Offer》题目及代码(修订版4).pdf

《剑指offer》的Java版代码实现(修订版4),有题目和解题思路,对部分代码重新排版,解决了部分代码消失的问题。

2019-06-16

《剑指Offer》题目及代码(修订版2).pdf

《剑指offer》的Java版代码实现(修订版2),有题目和解题思路,修改了部分题目的代码和解题思路。

2019-06-16

《剑指Offer》题目及Java版代码(带目录)

最全的《剑指offer》Java版代码实现,带目录高清完整版,保证正确性,全都在OJ上测试AC了。

2019-03-03

《剑指offer》Java版代码

最全的《剑指offer》Java版代码实现,保证正确性,全都在OJ上测试AC了。

2017-11-02

技术之瞳 阿里巴巴技术笔试心得.pdf

2017-04-11

高性能Linux服务器构建实战:运维监控、性能调优与集群应用.pdf

2017-04-11

数据库面试必备.docx

数据库面试题1用两种方式根据部门号从高到低工资从低到高列出每个员工的信息。。220xxx公司的sql面试221注册Jdbc驱动程序的三种方式222用JDBC如何调用存储过程223JDBC中的Prepa

2017-04-11

MySQL面试题.pdf

2017-04-11

mysql 驱动 .jar

2017-04-11

netty jar包

netty jar包

2017-04-11

struts2.jar

2017-04-11

MySQL 5.1 参考手册

2017-04-11

linux 2 参考手册

2017-04-11

java 8 API 英文原版

2017-04-11

dom4j参考手册

2017-04-11

HTML参考手册-日常使用

HTML参考手册-日常使用

2017-04-11

java开发手册

介绍了Java的命名规约!

2017-04-11

空空如也

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

TA关注的人

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