自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Jedis高并发下内存泄漏导致getResource()卡死问题及解决方法

Jedis高并发下内存泄漏导致JedisPool.getResource()失败,造成线程卡死问题的排查流程,问题根因以及解决方案。

2022-06-02 20:45:00 3838 3

原创 JVM系列(三):打破双亲委派及案例

上一章我们讲到了类加载器和双亲委派机制的一些原理,对于双亲委派机制,我们也了解了双亲委派机制有沙箱安全机制和避免类的重复加载两大优点,这一章我们来讲述为什么要打破双亲委派机制以及**如何**打破双亲委派机制。并通过一些案例详细讲述打破双亲委派。

2022-03-26 15:45:00 1691

原创 JVM系列(二):Java类加载器和双亲委派机制详解

上一篇文章讲了类加载过程,而类加载过程中类加载器使用是必不缺少的一部分,理解类加载过程和类加载器有助于我们更好的理解类加载子系统。这一次我们详细讲讲类加载器、自定义类加载器、双亲委派机制和打破双亲委派机制。

2021-12-19 16:45:00 564

原创 JVM系列(一):JVM类加载过程详解

Java 通过引入字节码和 JVM 机制,提供了强大的跨平台能力,理解 Java 的类加载机制是深入 Java 开发的必要条件。

2021-12-17 22:45:00 2428

原创 FastJson反序列化后,子类类型转换问题及解决办法

FastJson反序列化后,子类类型转换问题及解决办法1. 问题描述使用FastJson序列化的时候,如果用于序列化的对象中将子类用父类类型保存进去,在反序列化的之后,将对象中该子类对象取出,如果强转为子类类型,就会抛出类型转换异常。在使用String类型报文或者json字符串传输的系统中,该问题会比较常见2. 问题重现问题代码调用类public class FastJsonIssue { public static void main(String[] args) {

2020-07-25 18:04:10 5272

原创 JAVA使用日志Log打印异常信息

JAVA使用日志Log打印异常信息一、前言最近公司用上了SonarQube代码检测,提示应该用LOGGER.log(…)代替e.printStackTrace()。经了解到:通过e.printStackTrace()会调用System.err将错误信息通过流进行打印可能会无意中暴露敏感信息。而通过日志的形式进行打印,既保持了安全性,还便于轻易查看。二、代码package com....

2020-01-15 16:43:44 6328

原创 JAVA集合类之LinkedList源码解析

一、LinkedList简介1. LinkedList概述LinkedList是基于双向链表实现的List,也可以当做双端队列(Deque)来使用。LinkedList由于底层基于链表实现,删除和插入操作效率较高,查询和修改操作效率较低。LinkedList不是一个线程安全类,与之相似的是JUC中的线程安全类ConcurrentLinkedDeque,他们同样基于双向链表实现。Link...

2019-12-07 18:01:44 224

原创 JAVA集合类之ArrayList源码解析

一、ArrayList简介ArrayList是一个数组队列,相当于动态数组,基于List接口实现。核心由Object[]数组组成,添加元素的时候,数组的长度会自动扩展。ArrayList不是一个线程安全类,与之相对应的是同样基于数组实现的线程安全集合类Vector,除线程安全外,他们最大的区别为动态扩展时ArrayList增长为原来的1.5倍,Vector为原来的2倍ArrayList的初...

2019-11-10 02:09:21 1345

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除