性能调优
文章平均质量分 54
一朵纯洁的小白花
这个作者很懒,什么都没留下…
展开
-
JVM调优 理论篇
主要这几个方面内存结构、类加载机制、编译器优化、垃圾收集算法、垃圾收集器一、内存结构二、类加载机制1、编译生成class文件 javac 文件名 或 idea工具编译2、加载读取类的二进制流转为方法区数据结构,并存放到方法区在java堆中产生Java.lang.class对象3、链接(验证、准备、解析)验证:1.验证class文件是否符合规范 文件格式的验证(是否以0XCAFEBABE开...原创 2022-03-18 17:42:27 · 452 阅读 · 0 评论 -
jvm性能调优-定位并解决项目越跑越慢的问题
分析项目变慢的可能性有哪些?1.Stop The World过长(垃圾收集频繁)2.项目依赖的资源导致变慢(数据库,网络.......等)3.Code Cache(代码缓存区)满了4.线程争抢过于激烈5.服务器问题(操作系统问题...重启解决,其他进程争抢资源....中毒,木马等)借助工具分析定位问题,解决;如:visualvm、skywalking分析threaddump工具:1.fastThreadhttps://fastthread.io/2.Per...原创 2022-01-09 22:49:19 · 878 阅读 · 0 评论 -
jvm性能调优-分析GC日志
GC日志可视化分析工具GCeasy https://www.gceasy.io/原创 2022-01-09 22:25:58 · 1030 阅读 · 0 评论 -
java序列化和反序列化
序列化和反序列化的概念把对象转换为字节序列的过程称为对象的序列化把字节序列恢复为对象的过程称为对象的反序列化对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中 2) 在网络上传送对象的字节序列当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象JDK类库中的序列化API原创 2022-01-07 18:44:01 · 121 阅读 · 0 评论 -
jvm性能调优-内存溢出
在Java中,和内存相关的问题主要有两种,内存溢出和内存泄漏内存溢出(Out Of Memory):就是申请内存时,JVM没有足够的内存空间。通俗说法就是去蹲坑发现坑位满了。内存泄露 (Memory Leak):就是申请了内存,但是没有释放,导致内存空间浪费。通俗说法就是有人占着茅坑不拉屎。在JVM的几个内存区域中,除了程序计数器外,其他几个运行时区域都有发生内存溢出(OOM)异常的可能。堆内存溢出要解决这个内存区域的异常,常规的处理方法是首先通过内存映像分析工具(如JP..原创 2022-01-07 16:59:28 · 887 阅读 · 0 评论 -
jvm性能调优-cpu过高问题定位
一、top+jstack命令top查看当前系统运行的情况,cpu占用率,内存使用率等等[root@centos20 ~]# top #查看进程top - 14:42:39 up 46 days, 21:19, 7 users, load average: 0.00, 0.04, 0.10Tasks: 645 total, 1 running, 644 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.0 us, 0.0 sy, 0.原创 2022-01-07 15:22:43 · 1486 阅读 · 0 评论 -
应用监控与调优方案-工具篇Skywalking
Skywalking中文文档:欢迎 | Skywalking 6.2.0中文文档安装部署下载地址:Downloads | Apache SkyWalking环境需求:jdk版本在jdk8-jdk12之间(如使用es7的版本,则需要jdk11+) 确保如下端口可用: 11800:和Skywalking通信的gRPC端口 12800:和Skywalking...原创 2022-01-04 16:40:48 · 1015 阅读 · 0 评论 -
应用监控与调优方案
性能调优四板斧1.借助监控预防问题、发现问题(短信预警,邮件预警等)2.借助工具定位问题3.定期复盘问题、防止同类问题再现4.定好规范,一定程度上规避问题(如for循环内不允许操作数据库等)性能调优分为:应用性能调优、JVM调优、数据库调优、架构调优、操作系统调优...原创 2022-01-04 15:05:49 · 690 阅读 · 0 评论