JVM
文章平均质量分 68
我才是真的封不觉
某外企高级开发,菜鸟一个,希望在博客记录自己技术的成长,目标是成为一个好脾气的技术大牛。
b站账号 觉哥学java
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
突然 系统卡顿CPU飙高? 莫名 OOM?强软弱虚引用咋用?垃圾回收参数咋设置?选哪个垃圾收集器? 宕机?如何写出优质代码?想要系统性了解JVM内存调优?JVM 就决定用你了
一、前言1.1JVM是什么1.2JVM与JDK JRE的关系1.3为啥要学JVM1.4常见的JVM1.5学习路线二、内存结构2.1程序计数器记住 它是线程私有 是用来记录 某线程下一次执行字节码指令的地址的2.2栈2.2.1 介绍记住:栈是先进后出的 如下图二 里面存放的是一个个栈帧,活动栈帧 只有一个 栈帧里面存放的是方法参数 局部变量 返回地址啥的2.2...原创 2021-10-14 19:01:51 · 419 阅读 · 0 评论 -
day95-性能压测-优化-堆内存调优及模拟线上应用内存崩溃宕机情况
之前因为没有配置动静分离,一个访问首页的动态请求可能就携带几十个静态请求,现在配置动静分离后再来进行压力测试聚合报告填表可以看到,获取首页全量数据,动静分离后吞吐量有一定提升,但是也不算很多如下,之前一直说的由于新生代内存太小导致频繁minorgc消耗大量时间原本我们堆内存设置为:最大堆内存为512m现在设置为最大,最小堆内存都为2048m,也就是堆内存为2048m,新生代设置为1024m再来压测吞吐量又提升了填表下面来模拟宕机...原创 2021-02-03 23:48:32 · 222 阅读 · 0 评论 -
day92-性能压测-优化-中间件对性能的影响
1.目的了解中间件对请求的性能的影响2.流程知晓首先要清楚我们访问首页,获取首页数据的流程因为我们添加了本机映射如下,访问http://gulimall.com/就等于访问了虚拟机192.168.56.10的80端口 ,我们之前在nginx又添加了虚拟机80端口监听负载均衡到上游服务器-》网关 ,然后网关主机路由到商品服务的首页,详细步骤参考链接https://blog.youkuaiyun.com/JavaCoder_juejue/article/details/11285802...原创 2021-02-03 03:11:41 · 525 阅读 · 1 评论 -
day91-性能压测-性能监控-jvisualvm使用
1.jvisualvm能做什么jvisualvm相当于升级版的jconsole2.启动方式因为是jdk自带的cmd窗口输入jvisualvm打开界面如下,左边为正在运行的本地进程双击左侧某进程后界面如下默认不能监控垃圾回收,需要安装插件3.配置插件中心地址查看jdk版本打开如下链接http://visualvm.github.io/pluginscenters.html找到所属jdk版本范围对应链接,复制后更新插件中心地址...原创 2021-01-27 10:51:56 · 236 阅读 · 0 评论 -
day90-性能压测-性能监控-堆内存与垃圾回收
下面两张图就了解下不是我们这里重点关注的,为了引出堆,堆是我们内存调优中关注的一个重点对象所有的对象实例及数组都在堆上进行分配。堆是垃圾收集器管理的主要区域,也被称为GC堆;也是我们优化最多考虑的地方。堆可以划分为JVM结构图,重点关注堆重头戏来了下图体现了大致的流程,左侧新生代,右侧老年代先懂俩概念:minor GC :针对新生代中的伊甸园区GC,清除其内无用的对象,时间相对短full GC清除堆空间(包含新生代与老年代)所有无用对象,大扫除,比..原创 2021-01-22 02:55:25 · 289 阅读 · 0 评论 -
day87-性能压测-压力测试-Apache JMeter安装配置使用+最大堆内存设置调优
1.下载安装https://jmeter.apache.org/download_jmeter.cgi 下载如下zip文件下载好后解压2.运行找到bin目录下的如下bat文件双击即可运行3.配置启动后字体巨小无比(1)改bin目录下的properties文件里的默认字体(2)打开界面后字体还是很小于是...如下,多点几下(3)语言选择简体中文页面变成这样总算舒服点了4.使用我们测试都是模拟多少个人同时请求某接口来测试其性能怎样(1)...原创 2021-01-21 00:24:03 · 490 阅读 · 0 评论 -
反编译指令传送门
传送门原创 2019-10-21 17:32:51 · 204 阅读 · 0 评论 -
二。为什么java开发人员要学习jvm
可能我们之前就只知道java语言跨平台的实现是因为有针对不同平台有对应的虚拟机。刚开始编程的时候发现内存溢出了,然后就改了下虚拟机的参数,发现就能正常跑了,后面我们的项目上线了,由于有大量的用户访问,发现内存溢出或者我们需要对服务器的监控等灯问题,就知道虚拟机学习的重要性了但是虚拟机的学习上理论比较多,所以我列了个大纲当我们理解虚拟机后,会发现写的代码更上了一个层次。...原创 2018-10-10 22:52:24 · 990 阅读 · 0 评论 -
四。JVM初体验,内存溢出场景模拟,分析与解决(堆内存快照生成与分析工具java memory analyzer的使用)
当运行如下代码后,可以看到,堆内存逐渐减少,cpu使用率逐渐变高然后控制台报错(见最下面)package com.jvm.test;import java.util.ArrayList;import java.util.List;public class Test { public static void main(String[] args) { Li...原创 2018-10-11 16:18:41 · 1197 阅读 · 0 评论 -
三。JVM学习前的准备
首先要理清JDK,JRE与JVM的关系如下图,JDK包括JRE,JRE包括JVM,开发者只需要安装JDK,运行时只需安装JRE,我们装好JDK就内置了JVM,安装jdk1.8点这java环境变量配置点这学习jvm时,最好要有一定的java基础,因为学着学着你会颠覆对java的价值观,并且有更深的理解对了,记得下个eclipse,后续jvm笔记是使用eclipse进行学习记录下来...原创 2018-10-11 11:26:45 · 383 阅读 · 0 评论
分享