DEnjoy

导航

2017年3月14日 #

HashMap jdk1.8 jdk1.7 put改动

摘要: 之前hashmap处理冲突单纯使用链表法进行链接,1.8中,当一散列值中对应的链表长度超过8个后,会将链表转化为红黑树进行存储。 1.8中源码 1.7源码 final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean e 阅读全文

posted @ 2017-03-14 15:33 DEnjoy 阅读(1108) 评论(0) 推荐(0) 编辑

2017年2月14日 #

java IO性能对比----read文件

摘要: 本次对比内容为:(jdk1.8) fileInputStream:最基本的文件读取(带自己声明的缓冲区) dataInputStream:字节读取,在《java编程思想》一书中描述为使用最多的读取文件方式(带自己声明的缓冲区) bufferedInputStream:带缓冲的读取方式(带自己声明的缓 阅读全文

posted @ 2017-02-14 09:05 DEnjoy 阅读(421) 评论(0) 推荐(0) 编辑

2017年2月8日 #

深入java----垃圾回收

摘要: Java和C++之间有一睹内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人想出来。 《深入理解JVM虚拟机》 补充:在无用对象判断这两种方法中,都是靠对象的引用进行判断对象是否无用。又因为在某些情况下我们不一定需要回收对象,因此在jdk1.2后,java对引用进行了扩充,将引 阅读全文

posted @ 2017-02-08 16:30 DEnjoy 阅读(143) 评论(0) 推荐(0) 编辑

2017年2月7日 #

深入java----java内存区域及对象的创建

摘要: 看完深入理解jvm之后自己再用图的方式进行一遍梳理,用以加深理解。 第一部分,首先对整体java运行时内存区域有一个整体框架式的了解。 运行时内存区域的划分如上图所示,那么接下里看看一个对象的创建又怎么样的过程。 首先是需要一块内存区域,而寻找内存区域主要分为两种策略: (注:内存区域是否连续主要和 阅读全文

posted @ 2017-02-07 09:55 DEnjoy 阅读(161) 评论(0) 推荐(0) 编辑

2017年1月11日 #

leetcode日记 HouseRobber I II

摘要: House Robber I You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constra 阅读全文

posted @ 2017-01-11 18:38 DEnjoy 阅读(154) 评论(0) 推荐(0) 编辑

2017年1月4日 #

张小龙微信小程序演讲内容简介

摘要: 1月9号,看看实际上如何 阅读全文

posted @ 2017-01-04 16:13 DEnjoy 阅读(160) 评论(0) 推荐(0) 编辑

2016年12月21日 #

javaIO系统----再看装饰者模式

摘要: javaIO系统拥有各种各样的类,尤其是每次要进行读写操作时,总会一层套一层的new,以前不明白为什么要这样做,不过学习了适配器模式后,对于这种做法立刻了解了:动态扩展IO的功能,使之符合使用者的习惯,虽然这样的做法有时候会迷惑使用者,对于这个确定,确实恼火,不过当弄明白了其设计方式,个人觉得倒也不 阅读全文

posted @ 2016-12-21 21:09 DEnjoy 阅读(125) 评论(0) 推荐(0) 编辑

2016年12月13日 #

leetcode日记 Product of Array Except Self

摘要: Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except  阅读全文

posted @ 2016-12-13 20:56 DEnjoy 阅读(128) 评论(0) 推荐(0) 编辑

2016年12月6日 #

java中创建字符串的两种方式(“”与new String())及区别

摘要: 结论:通过“”创建的字符串实际上在java堆中只有一个,而通过new string创建出来的字符串在java堆中占有不同的内存。 第一个True表明这两个在内存中拥有相同的地址,那么说明实际上在内存中只有一个,这有点像python中的内存管理方式,如果内容一样则声明一块空间,然后通脱给内存再将不同的 阅读全文

posted @ 2016-12-06 14:56 DEnjoy 阅读(618) 评论(0) 推荐(0) 编辑

Java 设计模式学习

摘要: 看完headfirst设计模式,简单总结一下。 写在最前面:设计模式的关心的问题为“弹性、易于维护、易于扩展”,通过对模式的应用,让自己的代码能够得到良好的可塑性。但是个人认为不能调入为了应用模式而使用模式的陷阱当中,使用模式根本的目的依然还是解决问题,如果程序或系统本身就结构清晰等,完全不必要为了 阅读全文

posted @ 2016-12-06 13:55 DEnjoy 阅读(225) 评论(0) 推荐(0) 编辑