代码诊断
文章平均质量分 93
菠萝-琪琪
这个作者很懒,什么都没留下…
展开
-
Java编码的坑你知多少?
在Java中,RandomAccess和Cloneable、Serializable一样,都是标志性接口,不需要任何实现,只是用来表明其实现类具有某种特质的,实现了Cloneable表明可以被拷贝,实现了Serializable接口表明被序列化了,实现了RandomAccess则表明这个类可以随机存取,对我们的ArrayList来说也就标志着其数据元素之间没有关联,即两个位置相邻的元素之间没有相互依赖和索引关系,可以随机访问和存储。是内部类,并且是静态(static修饰)的即为静态内部类。原创 2022-12-09 19:13:48 · 574 阅读 · 0 评论 -
HashMap 死循定位以及JDK8对它的优化
HashMap 是非线程安全的,在多线程处理场景下,严禁使用。多线程要用ConcurrentHashMap。 大家都知道,相比于HashTable,HashMap是一个非线程安全的实现类。为什么说HashMap是非线程安全的呢?因为在高并发情况下,HashMap在一些操作上会存在问题,如死循环问题,导致CPU使用率较高。下面来看下怎么复现这个问题。如下代码所示,我们创建10个线程,这10个线程并发向一个HashMap种添加元素。package com.light.swordimport java..原创 2020-06-28 22:42:37 · 315 阅读 · 0 评论 -
阿里巴巴Arthas诊断工具平台化改造
Arthas是一款开源且非常棒的在线诊断工具,阿里巴巴在16年就出品了,经过几年的功能迭代以及代码重构又出了不少新的诊断命令在Github上面搜索Arthas即可下载源码,原生的Arthas实现了TunnelClient和TunnelServer的交互,但是总的来说还是单机版本的,在大企业中使用的时候避免不了需要封装改造下,不可能每次监控都去手动输入一个registerId,下面就介绍我们对他...原创 2020-04-24 22:27:27 · 1143 阅读 · 0 评论