自定义博客皮肤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)
  • 收藏
  • 关注

原创 线上问题排查

CPU 过高问题排查原因分析:1、内存消耗过大,导致系统minorGC 或者FullGC频繁发生2、代码中有大量消耗CPU的操作,比如一些复杂的算法。3、代码中存在死锁4、接口访问缓慢,导致线程阻塞。5、线程存在阻塞,或者进入waiting状态,导致功能不可用。问题排查操作:1、执行 top2、执行 ps aux | grep 线程3、执行 top -Hp 进程号4、执行 printf "%x\n 10 线程号16进制转10进制5、jstack 进程号 | grep 线程号 查看线程

2020-11-09 15:34:23 99

原创 gradlew bootJar 编译优化

1、在gradlew 的目录下面查看是否有gradle.properties文件,没有则自己新建一个同名文件。文件目录地址为:Linux: /home/<username>/.gradle/ Mac: /Users/<username>/.gradle/ Windows: C:\Users<username>.gradle 2、在gradle.properties文件中添加如下信息 #开启守护线程(减少每次启动JVM的初始化时间缓存构建信息)org.gra

2020-08-24 16:04:10 622

原创 产生内存溢出的情况

产生内存溢出的情况常见的几种情况:1、内存加载的数据量过大;2、集合中有死循环或者循环创建大量的对象;3、集合类中有对对象引用,使用完后未清除,使得JVM 不能回收;4、第三方的BUG ;5、启动参数内存值设定过小;解决方法:情况一:java.lang.OutOfMemoryError:Javaheapspacejava 堆内存不足。一种是内存太小,内存数据量太多(或者递归调用的...

2020-05-06 15:09:19 225

原创 线程池参数及底层实现

线程池线程池是一种多线程处理的形式,通过把处理的任务添加到队列中,然后再创建线程后自动执行这些任务。线程池可以同时执行多个任务,如果任务队列已经满了,则新来的任务会进行排队等待。优点线程池的重用减少了创建线程和销毁线程带来的性能开销。线程池对线程的数量可控,有效的降低了线程间的资源争夺情况。线程池的参数corePoolSize(核心线程数)在创建线程池后,线程池中没有任何线程,...

2018-10-09 11:51:14 792

原创 HashMap 和 ConcurrentHashMap

HashMap 和 ConcurrentHashMapHashMap众所周知HashMap底层是基于数组和链表组成的。在JDK1.7和JDK1.8中具体实现稍有不同。1.7数据结构采用的是数组 + 链表默认容量为16,负载因子为0.75。Map在使用过程中不断的往里面存放数据,当数量size达到16 * 0.75 = 12的时候,就需要将当前的容器(16)进行扩容,扩容至之前的两倍(n...

2018-09-26 17:40:57 215

原创 悲观锁和乐观锁

乐观锁和悲观锁介绍乐观锁:乐观锁是一种思想,每次取数据的时候都默认其他人不会去修改这个数据,不去上锁。但是在更新这个数据的时候会去判断此数据是否被修改,一般我们会使用类似版本号的机制去确认数据是否被修改。乐观锁一般适用于多读的应用场景以此来提高吞吐量,数据库提供的write_condition机制,其实就是提供的乐观锁。atomic包下面的原子类就是使用了乐观锁的一种实现方式CAS(Conmp...

2018-09-10 14:30:48 230

原创 Java反射

概念:反射是Java程序开发语言的特征之一,它允许运行中的Java程序获取自身的信息,并操作类或者对象里面的内部属性。通过反射,我们可以在运行时获取程序对象的类型,动态的创建对象并调用其属性。 Java反射主要提供的功能(主要是运行时): 1、在运行时判断任意一个对象所属的类; 2、在运行时构造任意一个类的对象; 3、在运行时判断任意一个类所具有的成员变量和方法,包括私有...

2018-05-18 14:33:48 160

原创 JAVA注解

@Repeatable演示例1:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Repeatable(ResourcePaths.class)public @interface ResourcePath { String value();}@Target(ElementType.TYPE)@...

2018-05-10 17:56:54 215

空空如也

空空如也

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

TA关注的人

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