上一页 1 2 3 4 5 6 7 8 ··· 13 下一页
摘要: 问题描述: 1、系统偶发性抛出异常:java.lang.NumberFormatException: multiple points ,追溯源头抛出的类为:SimpleDateFormat 问题的定位: 1、总所周知,SimpleDateFormat是非线程安全的类。由此可以推断:在多线程环境下,需 阅读全文
posted @ 2019-08-14 11:58 陈标 阅读(190) 评论(0) 推荐(0)
摘要: 问题描述: 1、系统在执行某个操作时,必现OOM异常。 问题的定位: 1、排查代码,未发现问题。 2、在虚拟机启动时,添加参数:-XX:+HeapDumpOnOutOfMemoryError(当发生oom异常时,生成dump文件),得到异常时的dump文件。 3、使用 jvisualvm 分析dum 阅读全文
posted @ 2019-08-14 11:12 陈标 阅读(223) 评论(0) 推荐(0)
摘要: jps (java process status) == ps / top 作用:显示所有运行中的java进程。 jstat 作用:查看类装载,内存,垃圾收集,jit编译的信息。 jinfo 作用:实时查看和调整虚拟机的各项参数。 jmap 作用:dump文件的生成(瞬时状态)。 jstack 作用 阅读全文
posted @ 2019-08-14 10:57 陈标 阅读(126) 评论(0) 推荐(0)
摘要: 死锁的产生: 1、两个线程,各自拥有一个加锁的资源,同时都想获取对方手中的资源。 代码示例: 死锁的定位:jconsole 由上图可以发现,我们创建的线程A,B都处在阻塞状态。 点击 “检测死锁” 按钮,即可定位死锁发生的地方,如下图: 阅读全文
posted @ 2019-08-14 10:13 陈标 阅读(449) 评论(0) 推荐(0)
摘要: TCP基于链接的协议,并且保证有序性。 但是,每个包的长度,需要明确,否则会发生粘包现象。 以下示例为一个自定义协议的例子,其中包含了拆包的内容。 所有的类: 协议类: 解码器类: 编码器类: 服务器处理类: 客户端处理类: 服务端启动类: 客户端启动类: 运行服务端,再运行客户端,即可完成测试。 阅读全文
posted @ 2019-08-12 04:13 陈标 阅读(161) 评论(0) 推荐(0)
摘要: 编解码器的基类: 编码:MessageToByteEncode 解码:ByteToMessageDecoder 阅读全文
posted @ 2019-08-12 01:33 陈标 阅读(184) 评论(0) 推荐(0)
摘要: 为什么有了AtomicInteger还需要AtomicIntegerFieldUpdater? 当需要进行原子限定的属性所属的类会被创建大量的实例对象, 如果用AtomicInteger, 每个实例里面都要创建AtomicInteger对象, 从而多出内存消耗.显然是不合适的。 因此出现了Atomi 阅读全文
posted @ 2019-08-11 23:18 陈标 阅读(393) 评论(0) 推荐(0)
摘要: Nio 的ByteBuffer 和 Netty 的 ByteBuf 的区别: 1、ByteBuf 将 ByteBuffer的position 分解为:readIndex , writeIndex 因此,使用ByteBuf 就不再需要使用 filp 进行读写状态的切换,随时可以进行读写。 2、jdk 阅读全文
posted @ 2019-08-11 22:18 陈标 阅读(272) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2019-08-11 20:31 陈标 阅读(179) 评论(0) 推荐(0)
摘要: Pipeline 过滤器链,分入过滤器,出过滤器,出入过滤器。 出过滤器:*Outbound* 入过滤器:*Inbound* 出入过滤器:** 区别于springMVC的过滤器,springMVC仅仅有出入过滤器。要区分出,入过滤器,需要手工处理,类似于代理模式中,将具体执行代码的位置。 { 过滤器 阅读全文
posted @ 2019-08-11 01:10 陈标 阅读(144) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 13 下一页