![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java知识
文章平均质量分 93
kelvin.wang
摸鱼中
展开
-
GC日志
摘录自《深入理解Java虚拟机》 第二版 周志明以下内容都是我对书籍内容的个人理解,可能存在错误,若要深入学习,建议翻看原书籍[Full GC (Ergonomics) [PSYoungGen: 512K->0K(6144K)] [ParOldGen: 12913K->12336K(13824K)] 13425K->12336K(19968K), [Metaspace:...原创 2019-07-08 15:44:56 · 159 阅读 · 0 评论 -
JDK线程池源码分析
全是个人理解产物,仅供参考,我们经常会在代码中用到线程池,但是对代码底层实现比较陌生,我根据源码以及自己的理解整理了一下,如果是仅作了解,看简介即可,有兴趣可以看完整篇文章原创 2019-07-31 00:01:07 · 280 阅读 · 0 评论 -
HashSet是如何避免添加重复值的?
看到HashSet的源码:public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable{ //用关键字transient标注的字段不参与java的序列化 private static final Object PRESENT...原创 2019-07-20 10:42:45 · 872 阅读 · 0 评论 -
Java中HashMap取模算法源码为什么是位运算
我们常说,HashMap中的算法是通过%进行取模,但是实际上源码是这样的i = (n - 1) & hash那到底是不是弄错了?首先从其他地方得知,桶数必须是2的幂次方,也就是1,2,4,8……假设桶数1248对应n-1的值0137用二进制表示(int是四字节32位,我们只取后8位)0000 00000000 00010000 001...原创 2019-07-17 23:44:14 · 1931 阅读 · 1 评论 -
《高性能MySQL》InnoDB下的MVCC
MVCC事务版本号书《高性能MySql》P13上的描述每开始开始一个新的实物,系统版本号都会自动递增,事务开始时刻的系统版本号回作为事务的版本号再结合由“阿里云RDS-数据库内核组”发布的博文《MySQL · 引擎特性 · InnoDB 事务系统MySQL · 引擎特性 · InnoDB 事务系统》的一段话来看max_trx_id,这个字段表示系统当前还未分配的最小事务id,如果有一个新的事务,直接把这个值作为新事务的id,然后这个字段递增即可结论①:先把系统版本号赋予事务,作为事务的版原创 2020-11-27 20:56:23 · 263 阅读 · 0 评论 -
java集合
整理自《java核心技术卷Ⅰ》Colletion——集合类根接口List——有序集合,元素可重复,支持随机查询Set——无序集合,元素不可重复(判断标准为a.equals(b))SortedSet——有序集合,元素不可重复,支持随机访问(底层用迭代器实现,效率极低)Queue——队列,先进先出,头部取出,尾部加入Deque——双端队列,允许从队列两端添加和删除元素...原创 2019-02-19 23:51:28 · 124 阅读 · 0 评论 -
设计模式
一、工厂模式(用于生产对象)前置代码public interface Animal{}public class Cat implements Animal(){}public class Dog implements Animal(){}普通模式缺陷:名字输入错误,则无法得到对象public class AnimalFactory(){ public Animal get...原创 2019-01-29 17:55:20 · 95 阅读 · 0 评论 -
线程与并发(Java)
最近在学习并发相关,在学并发前,需要先对线程的几个基本概念进行梳理,在此仅作记录线程状态New(新创建):线程刚创建,尚未完成某些初始化动作(如将其设置为deamon),尚未运行线程中的代码,一个线程一旦开始运行,状态改为Runnable,就再也无法变回NewRunnable(可运行):可能在运行,也可能没运行,它不必始终保持运行,当它被中断,目的是为了给其他线程提供运行机会(大部分操作系...原创 2019-01-14 15:09:24 · 126 阅读 · 0 评论 -
Java8——接口Function
工作中遇到了该接口,查看源码写下自己的理解jdk源码如下:public interface Function&amp;lt;T, R&amp;gt; { R apply(T t); default &amp;lt;V&amp;gt; Function&amp;lt;V, R&amp;gt; compose(Function&amp;lt;? super V, ?原创 2018-10-15 16:38:18 · 1418 阅读 · 0 评论