
java源码分析
Rick1993
这个作者很懒,什么都没留下…
展开
-
遇到的java.lang.ClassCastException问题
说明nodeUserTaskDTO.getCcDetails()集合里面的对象是JSONObject,根本不是WfDefCCDTO对象。nodeUserTaskDTO.getCcDetails()集合里面的对象是JSONObject,根本不是WfDefCCDTO对象。提示:java.lang.ClassCastException,然后我报错提示定位到代码,他是一个for循环,眼看着没问题啊。,查看代码发现:集合对象被转换成JSON对象了。原创 2023-04-08 15:51:14 · 429 阅读 · 0 评论 -
手写String的split()方法以及源码分析
String的split()方法分三种情况:regex只有一位,且不为列出的特殊字符;regex有两位,第一位位转义字符且第二位不是数字和字母;最后一种情况就是正则表达式去拆分字符串。public String[] split(String regex, int limit) { /* fastpath if the regex is a (1)one...原创 2019-01-28 12:13:25 · 1429 阅读 · 2 评论 -
基于1.7的ConcurrentHashMap
一个ConcurrentHashMap由一个Segment数组构成,一个Segment由一个HashEntry数组构成,因此整体的ConcurrentHashMap结构如下:可以说,ConcurrentHashMap是一个二级哈希表,在一个总的哈希表下面,有若干个子哈希表。...原创 2019-05-19 16:35:32 · 974 阅读 · 2 评论 -
深入学习jdk动态代理
何为代理代理,即代替主角完成一些额外的事情,例如,经纪人作为明星的代理人和出资洽谈片酬,排期等,而正真参与拍戏的还是明星本人,明星拍完戏后,再有经纪人代理明星去清理片酬等。Java中的代理机制就是在目标方法执行前后执行一些额外的操作,例如安全检查,记录日志等。java中的代理分为静态代理和动态代理。静态代理直接上代码,模拟登陆操作:public interface LoginServ...原创 2019-05-24 15:33:37 · 173 阅读 · 0 评论 -
基于jdk1.7的HashMap
jdk1.7的HashMap底层有数组加链表实现。原创 2019-05-19 02:07:09 · 548 阅读 · 0 评论 -
jdk1.7HashMap链表头插法导致的死循环
jdk1.7的HashMap的源码分析参考我之前整理的连接https://blog.youkuaiyun.com/thqtzq/article/details/90146880,之前也有整理头插法导致的死循环,这里再整理一下。参考连接:https://coolshell.cn/articles/9606.html扩容的核心源码如下:void transfer(Entry[] newTable, boole...原创 2019-05-23 18:24:17 · 17960 阅读 · 19 评论