- 博客(7)
- 收藏
- 关注
原创 Java的字符串转int算法
面T家,被要求实现一个字符串转整型数的算法,当时手写有点遗漏,现在回头来看看jdk的实现。常用的是Integer.valueOf方法来实现转换: public static Integer valueOf(String s) throws NumberFormatException { return Integer.valueOf(parseInt(s, 10)); ...
2018-09-27 15:47:12 976
原创 Java可重入锁如何避免死锁
本文由https://bbs.csdn.net/topics/390939500和https://zhidao.baidu.com/question/1946051090515119908.html启发而来。看到一个问题,Java的可重入锁为什么可以防止死锁呢?网上看了看资料,虽然有答案说出了正确答案,但是分析的不够详细,对初学者不够友好。这里我再做一个更清晰的分析。首先是示例代码:p...
2018-04-05 14:10:59 4467 2
原创 ThreadLocal源码分析:(三)remove()方法
在ThreadLocal的get(),set()的时候都会清除线程ThreadLocalMap里所有key为null的value。 而ThreadLocal的remove()方法会先将Entry中对key的弱引用断开,设置为null,然后再清除对应的key为null的value。 本文分析remove方法ThreadLocal类的remove方法public void remove...
2018-03-27 17:30:16 12948
原创 ThreadLocal源码分析:(二)get()方法
在ThreadLocal的get(),set()的时候都会清除线程ThreadLocalMap里所有key为null的value。 而ThreadLocal的remove()方法会先将Entry中对key的弱引用断开,设置为null,然后再清除对应的key为null的value。 本文分析get方法ThreadLocal类的get方法public T get() { Thr...
2018-03-27 16:14:32 6299 2
原创 ThreadLocal源码分析:(一)set(T value)方法
在ThreadLocal的get(),set()的时候都会清除线程ThreadLocalMap里所有key为null的value。 而ThreadLocal的remove()方法会先将Entry中对key的弱引用断开,设置为null,然后再清除对应的key为null的value。 本文分析set方法ThreadLocal类的set方法public void set(T value)...
2018-03-27 12:55:12 1260 2
转载 从同步阻塞聊到Java三种IO方式
本文总结自https://zhuanlan.zhihu.com/p/34408883,https://www.zhihu.com/question/19732473中愚抄的回答,http://blog.51cto.com/stevex/1284437作者自身的评论快速理解首先,我们要先对这几个概念有一个直观的理解,对于初学者来说,你可以这样看待这几个概念:阻塞非阻塞 指的是在客户端阻塞:意味着 客...
2018-03-25 23:04:51 391
原创 java中DelayQueue的一个使用陷阱分析
最近工作中有接触到DelayQueue,网上搜索资料的时候发现一篇文章谈到DelayQueue的坑。点击打开链接文中已经总结了遇到坑的地方,还有解决方案。不过我第一眼看一下没弄明白为什么,所以翻了翻源码深究了一下,下面把这个坑的原因以及原理分析一下。首先是DelayQueue的take()方法: public E take() throws InterruptedException { ...
2018-03-09 12:52:33 1588
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人