Java基础
文章平均质量分 93
leilifengxingmw
生活有诗和远方,还有她。
展开
-
Java AbstractQueuedSynchronizer(AQS)浅析之一
本篇文章对Java中的AbstractQueuedSynchronizer(AQS)进行分析和学习。若有不正之处请多多谅解,并欢迎批评指正。为叙述方便,下文都以AQS替代AbstractQueuedSynchronizer。使用的Java版本src git:(master) ✗ java -version java version "1.8.0_201"Java(TM) SE Runti...原创 2019-11-12 08:52:35 · 224 阅读 · 0 评论 -
Java synchronized 关键字实现原理
使用的java版本src git:(master) ✗ java -version java version "1.8.0_201"Java(TM) SE Runtime Environment (build 1.8.0_201-b09)Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)先说结论:对于同...原创 2019-11-02 17:35:46 · 236 阅读 · 0 评论 -
菜鸟看源码之ArrayDeque
先扯点别的:今天上海风不小,现在窗外依然是狂风呜咽,不禁让人想起山科的风。今天分析一下ArrayDeque的源码ArrayDeque的继承关系图 ArrayDeque实现了Deque接口,内部使用一个可调整大小的数组来存放元素。数组没有容量限制,必要的时候数组的容量会增加。ArrayDeque不是线程安全的。不允许添加Null元素。当ArrayDeque 作为一个栈来使用的时候,Ar...原创 2018-02-27 23:00:02 · 1886 阅读 · 2 评论 -
看源码之LinkedList
首先扯点别的,桌子上的栀子花已经放了好几天了,有点枯萎了,但是依然芳香浓郁。感觉比玫瑰花强多了,玫瑰花也不见得比栀子花好看,不仅没香味而且还有刺。但是还是好多人喜欢玫瑰花。让我想起一篇古文《爱莲说》。 看一下LinkedList的继承结构 LinkedList 继承AbstractSequentialList,实现了List接口和Deque接口,元素可以为null。非线程安全。L...原创 2017-06-11 20:08:53 · 2004 阅读 · 0 评论 -
Java Lock学习
首先扯点别的:记得以前在大学校里和同学一起打勾级,我怂恿我的队友杜仁建出牌,硬说我队友的对门周通要不了杜仁建的牌,原话是这样的“他(周通)要是能要了,我把牌吃了吐出来再吃”。结果他(周通)还是把我队友(杜仁建)给闷了。现在想想也是有意思。今天记录一下Java中同步锁的使用。以后再慢慢理解。首先看一下Lock这个接口,在java.util.concurrent.locks.Lock包下面,R...原创 2017-07-06 22:12:38 · 440 阅读 · 0 评论 -
看源码之HashMap
先扯点别的:听说拳皇97界的大魔王老K退役了,不知道以后还能不能见到那么犀利的大门。最近感觉自己的拳皇水平有点提升,应该能排到100多线的水平吧。今天记录一下看HashMap源码的过程,感觉HashMap的源码要比ArrayList难一点。所以只看主要流程,不可能每一行代码都搞懂什么意思。先看一下HashMap的继承结构图 HashMap:它根据键的hashCode值存储数据,大多数...原创 2019-06-23 23:27:19 · 978 阅读 · 0 评论 -
菜鸟看源码之HashTable
HashTable :key,value都不能为null;线程安全。(如果不需要线程安全,应该使用HashMap,如果需要线程安全,可以使用ConcurrentHashMap,HashTable估计要退出历史舞台了) 作为key的对象必须实现hashCode方法和equals方法。 默认的负载因子是0.75,太小会导致频繁分配空间,太大会增加查找的时间。 如果知道要一次性放入HashTabl...原创 2017-06-18 22:19:56 · 411 阅读 · 2 评论 -
菜鸟看源码之ArrayList
首先扯点别的:现在刚吃完荔枝,也是很甜,8楼有人在弹钢琴,断断续续的,在修路,机械的声音很嘈杂。桌子上的水杯里放着两朵栀子花,香气弥漫,沁人心脾,生活还是挺美好的。今天记录一下看ArrayList源码的过程。先看一下ArrayList的继承结构 ArrayList的源码还是比较简单的。下面是ArrayList中几个成员变量public class ArrayList<E&g...原创 2017-06-06 22:14:23 · 485 阅读 · 0 评论 -
2的n次幂的Java实现
首先扯点别的:今天上海下雨了,不大,空气很清新,温度也很舒适,今晚可以睡个好觉了。 今天总结一些2的n次幂的算法实现,只讨论n>=0的情况。 如果n比较小的话,可以这样实现。private static int calculate(int n) { if (n == 0) return 1; return 2 * calculate(原创 2017-05-24 08:57:52 · 27347 阅读 · 3 评论 -
Java 泛型机制学习
有时候听别人说泛型泛型的,心想啥是泛型啊,当时就不能愉快的交流了。所以今天赶紧看看啥是泛型,提高一下自己。泛型的概念:所谓泛型,就是允许在定义类、接口、方法时使用类型形参,这个类型形参将在声明变量、创建对象、调用方法时动态的指定(即传入实际的类型参数)。Java 5改写了集合框架中的全部类和接口,为这些类和接口增加了泛型支持,从而可以在声明集合变量、创建集合对象时传入类型实参。为什么引入泛型?使用泛原创 2017-01-30 20:52:07 · 621 阅读 · 0 评论 -
Android 中 Formatter 的使用
Java Formatter 使用,格式化日期%1$tH:%1$tM:%1$tS %1$tp原创 2017-01-14 13:46:05 · 3330 阅读 · 1 评论 -
Java 反射机制学习
有时候听别人说反射反射的,也是一脸茫然,当时就不能愉快的交流了。所以今天赶紧看看啥是反射,提高一下自己。说到反射,不得不提 Classpublic final class Class extends Object implements Serializable, GenericDeclaration, Type, AnnotatedElementjava.lang.Object ↳ j原创 2017-01-15 11:00:44 · 461 阅读 · 0 评论 -
学习JAVA回调方法(一)
首先扯点别的:7月4号第一天上班。公司是上海迅傲信息科技。现在正是提高自己的大好时机,克服当前的困难就是提升,坚持!!!今天记录的是: java回调函数。为了以后不用再去找,也为了自已以后提高。回调的目的: 回调的目的是在代码的行为上提供更大的灵活性。例如我现在想写一个通用的排序方法,既能排字符串,还能排int型的整数,这个咋整?解决方法为每一种排序写一个方法,就是不通用呗,比如说我想排字符串,就原创 2016-07-05 22:56:22 · 492 阅读 · 0 评论