- 博客(42)
- 资源 (47)
- 收藏
- 关注
原创 JDK之TreeMap源码解读(三)
目录size()containsKey(Object key)containsValue(Object value) get(Object key)Comparator comparator()firstKey()lastKey()size()作用:返回map中键值对的个数。containsKey(Object key)作用:返回map中是否包含...
2019-01-29 23:23:30 128
原创 JDK之TreeMap源码解读(二)
TreeMap根据其key的可比较自然顺序或通过创建map时提供的Comparator对Map进行排序,具体取决于使用的构造函数。此实现为containsKey、get、put和remove操作提供了保证的log(n)的时间复杂度。算法是对Cormen、Leiserson和Rivest算法介绍中的算法的改编。请注意,如果要正确实现map接口,TreeMap维护的顺序就像任何sorted m...
2019-01-27 23:40:20 148
原创 JDK之TreeMap源码解读(一)
TreeMap是基于红黑树的Navigablemap实现,而NavigableMap继承于SortedMap接口。SortedMap是基于一种基于其key进行排序的Map,其提供的接口方法如下:方法摘要 Comparator<? super K> comparator() 返回map中用来对key进行排序的comparator(比较器),如果map使用...
2019-01-27 22:10:02 273
原创 JDK之AbstractMap源码解读(二)
目录 keySet()values()equals(Object o)hashCode()toString()eq(Object o1, Object o2)静态内部类keySet()作用:返回当前Map中所有key组成的set。values()作用:返回当前Map中所有value组成的Collection。equals(Obje...
2019-01-27 18:12:23 4194
原创 JDK之AbstractMap源码解读(一)
目录成员属性:size()isEmpty()containsValue(Object value)containsKey(Object key)get(Object key)remove(Object key)putAll(Map m)clear()AbstractMap类提供Map接口的框架实现,以最小化实现此接口所需的工作量。 成员属性:/...
2019-01-27 16:33:51 194
原创 JDK之TreeSet源码解读(一)
TreeSet是按照自然排序,或者通过在设置创建时提供的Comparator来排序的,取决于使用的构造函数。public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, java.io.Serializable继承于AbstractSe...
2019-01-26 11:54:23 187
原创 JDK之AbstractCollection源码解读
从下面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set 和 Queue,再下面是一些抽象类,最后是具体实现类,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、Lin...
2019-01-26 00:02:14 119
原创 JDK之String源码解读(七)
目录 trim()toCharArray()valueOf(Object obj)valueOf(char data[])valueOf(boolean b)valueOf(char c)valueOf(int i)valueOf(long l)valueOf(float f)valueOf(double d)trim()作用:删除Str...
2019-01-22 19:44:42 130
转载 常用多线程并发
转自:https://www.cnblogs.com/dennyzhangdd/p/7010972.html 描述 Future FutureTask CompletionService CompletableFuture 原理 Future接口 接口RunnableFuture的唯一实现类,RunnableFuture接口继承自Future+Runna...
2019-01-22 11:09:50 113
原创 JDK之String源码解读(六)
目录 substring(int beginIndex)substring(int beginIndex, int endIndex)concat(String str)replace(char oldChar, char newChar)matches(String regex)contains(CharSequence s)replaceFirst(String...
2019-01-20 11:53:36 181
原创 JDK之String源码解读(五)
目录 startsWith(String prefix, int toffset)startsWith(String prefix)endsWith(String suffix)hashCode()indexOf(int ch)lastIndexOf(int ch)startsWith(String prefix, int toffset)对比情况如下图所示...
2019-01-20 10:57:03 134
原创 JDK之String源码解读(四)
目录 contentEquals(StringBuffer sb)equalsIgnoreCase(String anotherString)compareTo(String anotherString)CaseInsensitiveComparatorcompareToIgnoreCase(String str)regionMatches(int toffset, S...
2019-01-19 21:42:16 164
原创 JDK之String源码解读(三)
目录 codePointAt(int index)codePointBefore(int index)codePointCount(int beginIndex, int endIndex)getChars(char dst[], int dstBegin)getChars(int srcBegin, int srcEnd, char dst[], int dstBegin...
2019-01-19 19:30:27 157
原创 JDK之String源码解读(二)
目录checkBounds(byte[] bytes, int offset, int length)String(byte bytes[], int offset, int length, String charsetName)String(byte bytes[], int offset, int length, Charset charset)String(byte byte...
2019-01-19 17:31:41 223
原创 JDK之String源码解读(一)
目录类的属性String()String(String original)String(char value[])String(char value[], int offset, int count)String(int[] codePoints, int offset, int count)String类表示字符串。所有Java程序中的字符串文字,如“ABC”,都是该...
2019-01-19 16:32:15 203
转载 数据库表连接的简单解释
转自:http://www.ruanyifeng.com/blog/2019/01/table-join.html作者: 阮一峰日期: 2019年1月15日关系型数据库最难的地方,就是建模(model)。错综复杂的数据,需要建立模型,才能储存在数据库。所谓"模型"就是两样东西:实体(entity)+ 关系(relationship)。实体指的是那些实际的对象,带有自己的属性...
2019-01-19 14:28:38 762
原创 JDK之Short源码解读
目录类的属性:构造方法toString(short s)valueOf(String s, int radix)ShortCachevalueOf(short s)decode(String nm)byteValue()shortValue()intValue()longValue()floatValue()doubleValue()toSt...
2019-01-19 11:21:38 267
原创 JDK之Byte源码解读
目录类的属性:构造方法静态属性toString(byte b)ByteCachevalueOf(byte b)valueOf(String s, int radix)decode(String nm)byteValue()shortValue()intValue()longValue()floatValue()doubleValue()t...
2019-01-19 00:01:05 179
原创 JDK之Boolean源码解读
目录类的属性:构造方法静态属性booleanValue()valueOf(boolean b)valueOf(String s)toString(boolean b)toString()hashCode()equals(Object obj)getBoolean(String name)compareTo(Boolean b)logicalAnd...
2019-01-18 23:25:11 208
原创 JDK之StringBuilder源码解读
目录StringBuilder()StringBuilder(int capacity)length()capacity()ensureCapacity(int minimumCapacity)我们知道String是一个不可变的类型的,是用final修饰的类。当我们new一个String的时候,比如String s = "abc",那么此时的"abc"就是不可改变的。但是可...
2019-01-16 23:05:38 233
原创 JDK之AbstractStringBuilder源码解读(五)
目录 insert(int offset, boolean b)insert(int offset, char c)insert(int offset, int i)insert(int offset, long l)reverse()insert(int offset, boolean b)作用:将bool类型的值转换成String插入到offset位置上。...
2019-01-16 22:41:10 100
原创 JDK之AbstractStringBuilder源码解读(四)
目录 substring(int start)subSequence(int start, int end)substring(int start, int end)insert(int index, char[] str, int offset, int len)insert(int offset, Object obj)insert(int offset, Stri...
2019-01-16 00:00:00 115
转载 你的 B 计划在哪里?
转自:http://www.ruanyifeng.com/survivor/plan-b/plan-b.html作者: 阮一峰 1、春节同学聚会,大家聊起近况。甲在实体经济部门工作,企业效益不好,正酝酿减员增效,他忧心忡忡,跳槽都不知道怎么跳,因为全行业都不景气。乙从事互联网工作,行业发展热火朝天,新事物层出不穷,但是他已人到中年,技术老化,跟不上行业新陈代谢的速度,公...
2019-01-14 23:15:24 148
原创 JDK之AbstractStringBuilder源码解读(三)
目录 append(char[] str)append(char str[], int offset, int len)append(boolean b)append(char c)append(int i)append(long l)delete(int start, int end)deleteCharAt(int index)replace(int s...
2019-01-13 20:52:59 155
原创 JDK之AbstractStringBuilder源码解读(二)
目录 charAt(int index)codePointAt(int index)codePointBefore(int index)codePointCount(int beginIndex, int endIndex)getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)setCharAt(int ...
2019-01-13 19:04:26 111
原创 JDK之AbstractStringBuilder源码解读(一)
目录 AbstractStringBuilder()AbstractStringBuilder(int capacity)length()capacity()ensureCapacity(int minimumCapacity)trimToSize()setLength(int newLength)AbstractStringBuilder是一个可变的字符序列。它实...
2019-01-13 17:34:18 146
原创 JDK之Map源码解读(二)
目录replaceAll(BiFunction function)putIfAbsent(K key, V value)remove(Object key, Object value)replace(K key, V oldValue, V newValue)replace(K key, V value)computeIfAbsent(K key, Function map...
2019-01-13 12:14:08 142
原创 JDK之Map源码解读(一)
目录size()isEmpty()containsKey(Object key)containsValue(Object value)get(Object key)put(K key, V value)remove(Object key)putAll(Map m)clear()keySet()values()entrySet() equals(O...
2019-01-13 10:37:57 240
原创 JDK之ArrayDeque源码解读(三)
目录 getFirst()getLast()peekFirst()peekLast()removeFirstOccurrence(Object o)removeLastOccurrence(Object o)contains(Object o)clear()toArray()toArray(T[] a)getFirst()作用:获取Array...
2019-01-12 11:21:11 140
转载 程序员的一天
A:嘿 //是什么意思啊?B:嘿.A:呃我问你//是什么意思?B:问吧.A:我刚才不是问了么?B:啊?A:你再看看记录…B:看完了.A:……所以//是啥?B:所以什么?A:你存心耍我呢吧?B:没有啊你想问什么?……不断循环之后,A一气之下和B绝交,自己苦学程序。N 年之后,A终于修成正果,回想起B,又把聊天记录翻出来看,这时,他突然发现B没有...
2019-01-11 23:29:30 137
转载 站在未来的十字路口
转自:http://www.ruanyifeng.com/blog/2019/01/survivor-preface.html作者: 阮一峰日期: 2019年1月 3日《未来世界的幸存者》在中国大陆出版以后,台湾大写出版社总经理郑俊平找到我,希望引进此书。郑先生提出,能不能写一篇导读,让台湾读者了解我的背景和想法。我觉得这个提议很好,因为我的很多想法,都起源于台湾的一段经历。...
2019-01-11 22:45:04 265
原创 JDK之ArrayDeque源码解读(二)
目录 copyElements(T[] a)ArrayDeque()ArrayDeque(int numElements)addFirst(E e)addLast(E e)offerFirst(E e)offerLast(E e)pollFirst()pollLast()removeFirst()removeLast()copyElements(...
2019-01-11 22:26:23 138
原创 JDK之ArrayDeque源码解读(一)
目录allocateElements(int numElements)doubleCapacity()ArrayDeque实现了Deque接口,而Deque继承了Queue接口。Queue一般来说是先进先出(FIFO)的,但是这个也不一定的。先看看Queue声明了哪些方法。 //往队列中添加元素,当队列满时,抛出异常 boolean add(E e); /...
2019-01-09 22:31:00 178
原创 JDK之LinkedList源码解读(三)
目录remove(Object o)clear()get(int index)set(int index, E element)add(int index, E element)remove(int index)indexOf(Object o)lastIndexOf(Object o)removeLastOccurrence(Object o)Object...
2019-01-07 22:55:20 140
原创 JDK之LinkedList源码解读(二)
目录unlinkFirst(Node f)unlinkLast(Node l)unlink(Node x)getFirst()getLast()removeFirst()removeLast()linkFirst(E e)linkLast(E e)addFirst(E e)addLast(E e)unlinkFirst(Node<E> f...
2019-01-06 23:23:38 124
原创 JDK之LinkedList源码解读(一)
目录构造函数linkFirst(E e)linkLast(E e)linkBefore(E e, Node succ) LinkedList由一系列Node节点组成,每一个节点指向前一个节点和后一个节点的引用,因此是一个双向链表。构造函数一个是无参的构造函数,一个参数是Collection c的构造函数。第二个构造函数调用addAll(c)方法。si...
2019-01-06 20:44:57 163
原创 JDK之ArrayList源码解读(三)
目录 removeAll(Collection c)class Itrclass ListItrsort(Comparator c)removeAll(Collection<?> c)public boolean removeAll(Collection<?> c) { Objects.requireNonNull(c); ...
2019-01-06 18:19:04 221 2
原创 JDK之ArrayList源码解读(二)
目录 remove(int index)remove(Object o)clear()addAll(Collection c)addAll(int index, Collection c)removeRange(int fromIndex, int toIndex)remove(int index)public E remove(int index) { ...
2019-01-06 13:37:18 265 2
原创 JDK之ArrayList源码解读(一)
源码基于JDB_1.8版本。目录构造函数1构造函数2构造函数3contains(Object o)lastIndexOf(Object o)toArray()get(int index)set(int index, E element)add(E e)add(int index, E element)clone()构造函数1 public ...
2019-01-06 00:01:35 289
转载 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
转自:https://my.oschina.net/feichexia/blog/196575 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 ...... 这些问题在日常...
2019-01-03 23:49:06 111
CS_WebRTC_Client_SDK_Android.v4.1.1
2019-04-29
CS_WebRTC_Client_SDK_JavaScript.v4.1.1
2019-04-29
2017阿里技术年度精选集
2018-09-21
Netty权威指南 第2版 带书签目录 完整版.pdf下载
2017-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人