自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

愿你慢慢变强的博客

希望自己可以坚持下去

  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 假如生产环境出现CPU占用过高,谈谈分析思路和定位

???? 结合 Linux 和 JDK 命令一块分析???? 案例步骤????1、先用 top 命令找出CPU占比最高的????2、ps -ef 或者 jps 进一步定位,得知是一个怎么样的一个后台程序给我们惹事????3、定位到具体线程或者代码⏳ ps -mp 进程 -o THREAD,tid,time⏳ 参数解释-m 显示所有的线程-p pid 进程使用cpu的时间-o 该参数后是用户自定义格式...

2020-03-09 14:11:55 286

原创 生产环境服务器变慢,谈谈诊断思路和性能评估

???? 整机:top???? uptime,系统性能命令的精简版???? CPU:vmstat???? 查看 CPU(包含不限于)vmstat -n 2 3一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数单位是秒,第二个参数是采样的次数procsr:运行和等待CPU时间片的进程数,原则上1核的CPU的运行队列不要超过2,整个系统的运行队列不能超过总核数的2倍,否则代...

2020-03-09 09:34:22 425

原创 G1 垃圾收集器------你了解多少

???? 以前收集器特点???? G1 是什么???? 底层原理????

2020-03-07 21:45:34 672

原创 怎么查看服务器默认的垃圾收集器是哪个?生产上如何配置垃圾收集器的?谈谈对垃圾收集器的理解?

???? 怎么查看默认的垃圾收集器是哪个?JVM 参数:java -XX:+PrintCommandLineFlags -version下图红色就是默认垃圾收集器???? 默认的垃圾收集器有哪些?java 的 gc 回收的类型主要有几种:UseSerialGC,UseParallelGC,UseConcMarkSweepGC,UseParNewGC,UseParallelOldGC,UseG1GC...

2020-03-06 14:25:54 547

原创 GC 垃圾回收算法和垃圾收集器的关系?-----你应该了解的

???? GC 算法(引用计数 / 复制 / 标清 / 标整)是内存回收的方法论,垃圾收集器就是算法落地实现。???? 因为目前为止还没有完美的收集器出现,更加没有万能的收集器,只是针对具体应用最合适的收集器,进行分代收集???? 四种主要垃圾收集器???? 串行垃圾回收器(Serial)它为单线程环境设计且只使用一个线程进行垃圾回收,会暂停所有的用户线程。所以不适合服务器环境???? 并行垃圾回收器(Parall...

2020-03-06 14:25:32 226

原创 谈谈对 OOM 的认识

???? java.lang.StackOverflowErrorpackage com.brian.interview.study.jvm.oom;/** * Copyright (c) 2020 ZJU All Rights Reserved * <p> * Project: JavaSomeDemo * Package: com.brian.interview.study...

2020-03-05 10:50:04 767

原创 强引用、软引用、弱引用、虚引用分别是什么?------你应该了解的

???? 整体架构???? 强引用(默认支持模式)当内存不足,JVM 开始垃圾回收,对于强引用的对象,就算是出现了 OOM 也不会对该对象进行回收,死都不收。强引用是我们最常见的普通对象引用,只要还有强引用指向一个对象,就能表明对象还 “活着”,垃圾收集器不会碰到这种对象。在 Java 中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是一个强引用。当一个对象被强引用变量引用时,它处于可...

2020-03-05 10:49:08 463

原创 JVM 常用基本配置参数有哪些

????基础知识long totalMemory = Runtime.getRuntime().totalMemory(); // 返回 Java 虚拟机中的内存总量long maxMemory = Runtime.getRuntime().maxMemory(); // 返回 Java 虚拟机视图使用的最大内存量System.out.println("TOTAL_MEMORY(-Xms) ...

2020-03-04 09:37:34 189

原创 JVM 调优和参数配置,如何盘点查看 JVM 系统默认值

????JVM 的参数类型????标配参数-version-helpjava -showversion在 jdk 各个版本之间稳定,很少有大的变化???? x 参数(了解)-Xint: 解释执行-Xcomp: 第一次使用就编译成本地代码-Xmixed: 混合模式???? xx 参数⏳ Boolean 类型公式:-XX:+ 或者 - 某个属性值(+表示开启 -表示关闭)Case:是否...

2020-03-04 09:26:34 414

原创 JVM 垃圾回收的时候如何确定垃圾?谈谈什么是 GC Roots

????什么是垃圾简单的说就是内存中已经不再被使用到的空间就是垃圾????要进行垃圾回收,如何判断一个对象是否可以被回收?????引用计数法Java中,引用和对象是有关联的。如果要操作对象则必须要引用进行。因此,很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。简单说,给对象中添加一个引用计数器,每当有一个地方引用它,计数器值加1,每当有一个引用失效时,计数器值减1。任何时刻计数器值为零...

2020-03-03 14:00:32 259

原创 JVM 和 GC 的基础知识

JVM 内存结构JVM 体系概述Java8 以后的 JVMGC 的作用域常见的垃圾回收算法引用计数复制Java 堆从 GC 的角度还可以细化为:新生代(Eden区、From Survivor区和To Survivor区)和老年代。MinorGC 的过程(复制 -> 清空 -> 互换)1:eden、SurvivorFrom 复制到 SurvivorTo,年龄...

2020-03-03 09:42:17 403

原创 死锁编码及定位分析-----你应该了解的

是什么死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力干涉那它们都将无法推进下去,如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。产生死锁主要原因系统资源不足进程运行推进的顺序不合适资源分配不当代码package com.brian.interview.study.thread;...

2020-03-02 21:31:50 146

原创 线程池在生产上如何设置合理参数

谈谈线程池的拒绝策略是什么等待队列也已经满了,再也塞不下新任务了同时,线程池中的 max 线程也达到了,无法继续为新任务服务。这时候我们就需要拒绝策略机制合理的处理这个问题。JDK内置的拒绝策略AbortPolicy(默认):直接抛出 RejectedExecutionException 异常阻止系统正常运行。CallerRunsPolicy:“调用者运行”一种调节机制,该策略既...

2020-03-02 13:58:37 1223

原创 谈谈线程池,谈谈对ThreadPoolExecutor的理解

为什么用线程池,优势线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等待,等其它线程执行完毕,再从队列中取出任务来执行。他的主要特点为:线程复用;控制最大并发数;管理线程。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等...

2020-03-02 09:06:55 518

原创 谈谈阻塞队列

队列 + 阻塞队列阻塞队列,顾名思义,首先它是一个队列,而一个阻塞队列在数据结构中所起的作用大致如下图所示:当阻塞队列是空时,从队列中获取元素的操作将会被阻塞。当阻塞队列是满时,往队列里添加元素的操作将会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程从列中移除一个或者...

2020-03-02 09:00:22 206

原创 CountDownLatch / CyclicBarrier / Semaphore 的介绍

CountDownLatch让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒package com.brian.interview.study.thread;import com.brian.interview.enums.CountryEnum;import java.util.concurrent.CountDownLatch;/** * Copyright (c) 20...

2020-03-01 17:53:37 111

原创 谈对公平锁/非公平锁/可重入锁/递归锁/自旋锁的理解?请手写一个自旋锁

公平和非公平锁是什么公平锁: 是指多个线程按照申请锁的顺序来获取锁, 类似排队打饭, 先来后到。非公平锁: 是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁,在高并发的情况下, 有可能会造成优先级反转或者饥饿现象两者的区别公平锁 / 非公平锁并发包中 ReentrantLock 的创建可以指定构造函数的 boolean 类型来得到公平锁或非公...

2020-03-01 09:46:21 468

neo4j-community-3.5.14.zip

neo4j-community-3.5.14.zip 有需要的自取,Neo4J使用原生的图存储,以高度自由且规范的方式管理和存储数据。它可以明快地显示数据每个相关部分之间的链接,也可以在数据库查询中忽略不必要的细节。对比非原生图解决方案中,随着信息量的增加,使用面向对象的数据库存储数据库使数据操作变得越来越慢。

2020-02-09

空空如也

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

TA关注的人

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