上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 在并发程序中,关于线程数设置大小的说法: 线程数量设置太小,可能会导致程序不能充分利用好系统资源。 线程数量设置太大,可能会带来资源的过度竞争,导致上下文切换给系统带来额外的开销。 何为上下文切换? 在单核CPU时代,操作系统其实就已经能处理多线程并发任务了。处理器会给每个线程分配一个CPU时间片, 阅读全文
posted @ 2020-12-07 13:14 田维常TWC 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 本文总结了排查内存溢出问题的MAT工具,先来看看本文目录: 给,你们想要的内存溢出 MAT 排查工具 Java 堆内存分析工具。 1@RestController 2public class MatController { 3 4 List list = new ArrayList<>(); 5 6 阅读全文
posted @ 2020-11-21 10:11 田维常TWC 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 在工作中,当一个系统发生OOM的时候,这种问题可能会让大家很烦恼困惑,因为故障排查起来是一个综合技术的考量。在平时工作中要增加自己的知识广度,多学习,多总结,多思考,多做笔记,这才是真正的王道。 尤其是在线上环境中,如何分析是哪个线程导致的CPU飙高的问题,通常大致有几个差不多固定的步骤。这个问题也 阅读全文
posted @ 2020-11-20 12:34 田维常TWC 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 有关JVM问题排查的可视化工具有很多,比如说JDK自带的jconsole、jvsualvm等,第三方有MAT、GChisto、GCView等。 小学妹问我:如何利用可视化工具排查问题? jconsole查看内存回收情况 jconsole工具在JDK的bin目录下。 小学妹问我:如何利用可视化工具排查 阅读全文
posted @ 2020-11-19 15:32 田维常TWC 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 前面已经讲过了jps和jstat调优工具。今天我们继续说一下其它4个工具。这些工具都在jdk的bin目录下。 如何使用jinfo工具 jinfo显示虚拟机配置信息,我们通过jinfo --help能看到相应的参数: option说明 no option 输出全部的参数和系统属性 -flag name 阅读全文
posted @ 2020-11-18 13:22 田维常TWC 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 内存溢出,通俗的理解,就是你要求分配的内存超出了JVM能给你的,JVM不能满足需求,于是产生溢出。 为了便于理解,本文我们将使用一个案例来说明内存溢出。 首先,还是先看看本文的主要框架: 查看JVM内存情况 1public class PrintGCDetailsDemo { 2 public st 阅读全文
posted @ 2020-11-17 17:02 田维常TWC 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 前言 前面我们讲过Spring Boot集成JPA,但是由于很多小伙伴的项目中用的并不是JPA,用的是Mybatis,并且我也调查过很多朋友,三个ORM框架使用比例大致为 Mybatis:JPA:Hibernate:其他=6:3:0.5:0.5 不接受反驳,因为没有多大意义。 面试题:Mybatis 阅读全文
posted @ 2020-11-16 09:39 田维常TWC 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 首先,还是一张思维导图,看看本文主要内容:   今天来熟悉一下,关于JVM调优常用的一些参数。  X或者XX开头的都是非转标准化参数   意思就是说准表化参数不会变,非标准化参数可能在每个JDK版本中有所变化,但是就目前来看X开头的非标准化的参数改变的也是非常少。  格式:-XX:[+- 阅读全文
posted @ 2020-11-15 19:22 田维常TWC 阅读(949) 评论(0) 推荐(0) 编辑
摘要: 在JVM中程序寄存器、Java虚拟机栈、本地方法栈,这三个区是随着线程的创建而创建,随着线程结束而销毁。 其实就是这三个地生命周期和线程的生命周期一样。都是每个线程私有的。 每次方法的调用就会向栈里入栈一个栈帧,方法调用结束,跟着就出栈。   对象也是有生命周期的,所以对于不需要的对象要进行必要 阅读全文
posted @ 2020-11-13 16:36 田维常TWC 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 前面的文章中已经有所提到过堆,只是大致介绍了一下。本文就来详细聊聊JVM中的堆。 在 JVM中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。 新生代 ( Young ) 又被划分为三个区域:Eden区、From Survivor区、To Survivor区。 这样划 阅读全文
posted @ 2020-11-12 14:06 田维常TWC 阅读(244) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页