会员
周边
捐助
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
coderDu
[置顶]
告知
摘要: 文章均搬运至个人有道笔记。 联系方式:dugk@foxmail.com
阅读全文
posted @ 2018-04-21 14:22 coderDu
阅读(84)
评论(0)
推荐(0)
编辑
集合未分页处理导致的full-gc
摘要: 参考文献 : "战小狼:OMG!又一个频繁FullGC的案例;" jdk8下进行的,jdk11不存在此案例问题。 1. 问题 集合持有的x对象不能被 ,从而晋升到old区导致 。因此可以设置阈值在年轻代占满之前释放掉x对象——可被 掉。 错误代码 java for(int i=0;i globalL
阅读全文
posted @ 2018-12-05 11:58 coderDu
阅读(292)
评论(0)
推荐(0)
编辑
sql优化
摘要: 1.索引注意事项 0. 索引的建立应该结合具体的业务,不论表多大多复杂,如果业务仅仅对一个字段作为限制条件查询,则单列索引就可以。如果查询涉及多个字段且经常需要联表,则常是在各个查询条件字段的交集上建立复合索引。细节结合业务; 1. like左匹配模式可以走到索引,但是同 对于走到范围索引的字段如果
阅读全文
posted @ 2018-10-29 15:23 coderDu
阅读(123)
评论(0)
推荐(0)
编辑
死锁详细介绍
摘要: 参考 《java并发编程实战》, "《java并发编程实战》源码" 主要概念 顺序加锁+加时赛锁(全局对象,比如某个类的class对象); 开放调用:如果调用某个方法时不需要持有锁,则这种调用被称为 == 开放调用(open call) ==。非开放调用可以通过==细化加锁力度==转变为开放调用。非
阅读全文
posted @ 2018-10-05 20:29 coderDu
阅读(1222)
评论(0)
推荐(0)
编辑
缓存的简单实现方式
摘要: 参考: 《Java 并发实践》 李大狗大神的大作和源码非常值得分析阅读 1. 的`hashCode`:数据缓存在类变量中 字符串类维护了一个常量池—每当使用 创建对象,都会首先检查字符串是否在常量池中—有的话直接返回池中对象的实例引用,否则则创建一个对象返回 并将对象放进池中 。 没当调用 方法时,
阅读全文
posted @ 2018-10-04 15:19 coderDu
阅读(186)
评论(0)
推荐(0)
编辑
LRU基本介绍及其实现方式
摘要: 原文地址: http://note.youdao.com/noteshare?id=1abbeb1deee85f0203001e9bc34f65b4 参考 "LRU算法" "dubbo cache" 一.基本介绍 1.1 常见缓存淘汰算法及其实现思路 对于缓存,常见淘汰算法有3: 1. : firs
阅读全文
posted @ 2018-10-04 15:16 coderDu
阅读(2655)
评论(0)
推荐(0)
编辑
异步任务二:FutureTask源码分析
摘要: 参考文献 "Unsafe方法详解" 1. 简介 实现的 接口继承了 接口。 是可取消的异步计算,是 的基本实现,提供了开始、取消任务以及查询其计算结果的方法—— 方法一直阻塞获取结果(接受中断信号), 超时则会抛异常。 除非任务使用 ,否则一旦计算完成,任务就不能重置或者取消了。 可以使用 或者 作
阅读全文
posted @ 2018-09-12 16:14 coderDu
阅读(228)
评论(0)
推荐(0)
编辑
UnSafe类方法和使用简介
摘要: 参考文献 "Unsafe源码分析" 1. CAS方法 交换int、long和对象: 2. 指令重拍 防止指令重排的写操作,JDK会在执行这三个方法时插入StoreStore内存屏障,避免发生写操作重排序: 3. 获取没有访问权限的实例变量 1. 非系统类需要通过反射获取 实例; 2. 通过 方法获取
阅读全文
posted @ 2018-09-12 11:30 coderDu
阅读(564)
评论(0)
推荐(0)
编辑
java自带报文摘要算法实现类MessageDigest
摘要: 1. 得到报文加密算法后的haxi数组分三步: 对于md5获取其他算法,我们希望结果值是16进制的字串。 byte(字节)由8位组成,16(hex)进制4位,因此每个byte需要两个16进制字符表示。
阅读全文
posted @ 2018-09-11 10:49 coderDu
阅读(271)
评论(0)
推荐(0)
编辑
TimeUnit类用于控制时间和sleep的方法栈
摘要: 1. 枚举使用 这种在枚举外调用枚举中声明的方法的设计思路很有意思,也算是动态调用? 1. 定义抽象方法doWork(),可在具体枚举值中实现不同枚举值进行不同的处理; 2. 定义调用参数方法invokeWorker(),调用不同枚举值的抽象方法的实现; demo如下: 2.源码讲解 1. 所有时间
阅读全文
posted @ 2018-09-10 21:52 coderDu
阅读(578)
评论(0)
推荐(0)
编辑
ConcurrentHashMap和FutureTask实现高速缓存—Aviator
摘要: 1. 介绍 主要方法 实现了 和`Future`接口,其主要方法是: 状态和 方法 实现了 接口,根据其 方法的执行,可以将其氛围三种状态: 1. 未启动: 方法未执行; 2. 已启动: 方法执行中; 3. 已完成: 方法执行结束。 未启动时,执行 则任务永远不会执行;启动时, 将以 中断执行任务线
阅读全文
posted @ 2018-09-10 21:49 coderDu
阅读(562)
评论(0)
推荐(0)
编辑
下一页
导航
博客园
首页
联系
订阅
管理