achuo
码龄16年
关注
提问 私信
  • 博客:1,243,623
    社区:38
    1,243,661
    总访问量
  • 11
    原创
  • 1,223,813
    排名
  • 490
    粉丝
  • 0
    铁粉

个人简介:IT码农,技术菜鸟,十年经验,技术渣渣

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2008-11-26
博客简介:

tony的专栏

博客描述:
好好学习,多多益善
查看详细资料
个人成就
  • 获得370次点赞
  • 内容获得78次评论
  • 获得1,248次收藏
  • 代码片获得696次分享
创作历程
  • 2篇
    2021年
  • 23篇
    2020年
  • 7篇
    2019年
  • 26篇
    2018年
  • 78篇
    2017年
  • 189篇
    2016年
  • 97篇
    2015年
成就勋章
TA的专栏
  • 笔记
    1篇
  • java基础学习
    86篇
  • java之美
    4篇
  • 数据库学习
    15篇
  • 设计模式学习
    15篇
  • 移动开发
    15篇
  • spring学习
    59篇
  • hibernate学习
    7篇
  • 项目管理
    19篇
  • mybatis学习
    19篇
  • 其他相关技术学习
    58篇
  • 开源项目学习
    24篇
  • 单元测试
    3篇
  • MongoDB
    5篇
  • java面试
    13篇
  • maven
    12篇
  • webservice
    2篇
  • freemarker
    2篇
  • Redis
    12篇
  • hadoop
    14篇
  • kafka学习
    2篇
  • apache shrio
    5篇
  • RabbitMQ
    5篇
  • jenkins
    2篇
  • JPA
    2篇
  • Aerospike
    9篇
  • 数据建模
    32篇
  • centos
  • Mahout
    6篇
  • 机器学习
    12篇
  • hive
    23篇
  • 网络爬虫
    4篇
  • java牛人之路
    40篇
  • linux学习
    4篇
  • spring-batch
    10篇
  • python学习
    2篇
兴趣领域 设置
  • Java
    javaspringspring bootspring cloudjvmmybatisniodubbojava-consuljava-rocketmq
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

快速定位java系统线上问题

一、前言Java 语言是当前互联网应用最为广泛的语言,作为一名 Java 程序猿,当业务相对比较稳定之后平常工作除了 coding 之外,大部分时间(70%~80%)是会用来排查突发或者周期性的线上问题。由于业务应用 bug(本身或引入第三方库)、环境原因、硬件问题等原因,Java 线上服务出现故障 / 问题几乎不可避免。例如,常见的现象包括部分请求超时、用户明显感受到系统发生卡顿等等。尽快线上问题从系统表象来看非常明显,但排查深究其发生的原因还是比较困难的,因此对开发测试或者是运维的同学产生了
转载
发布博客 2021.05.05 ·
811 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

给我说说你对Java GC机制的理解?

写在前面使用Java快一年时间了,从最早大学时候对Java的憎恶,到逐渐接受,到工作中体会到了Java开发的各种便捷与福利,这确实是一门不错的开发语言。不仅是 Intellij开发Java程序的爽快,还有无需手动管理内存的便捷、 Maven管理依赖的整洁、 SpringCloud大礼包的规整等等。所以,作为一个有追求的Java程序员,深入底层掌握 GC(垃圾回收)的机制,应该算是必备的技能了。本文即我在学习过程中的一些个人观点以及心得,不正之处敬请指正。JVM的运行数据区首先我简单来画一张 JVM的
原创
发布博客 2021.04.13 ·
386 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Linux SWAP 深度解读

swap、swappiness及kswapd原理,swap分区优先级的妙用。真可谓一文在手,SWAP从此不再忧愁。敬请笑纳。概述本文讨论的swap基于Linux4.4内核代码。Linux内存管理是一套非常复杂的系统,而swap只是其中一个很小的处理逻辑。希望本文能让读者了解Linux对swap的使用大概是什么样子。阅读完本文,应该可以帮你解决以下问题:1、swap到底是干嘛的?2、swappiness到底是用来调节什么的?3、kswapd什么时候会进行swap操作?...
转载
发布博客 2020.11.10 ·
530 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

jvm性能调常用工具Jinfo Jstat Jmap Jstack jvisualvm

jinfo使用可以查看java的系统参数可以查看某个JVM的参数可以调整某个JVM的参数查看jvm的参数 λ jps 9920 jar 3524 1512 Launcher 10028 Jps λ jinfo -flags 9920 Attaching to process ID 9920, please wait... Debugger attached successfully. Ser..
转载
发布博客 2020.09.16 ·
765 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

性能瓶颈--MEM(swap)

内存的性能瓶颈主要集中在两点,一个是内存不足,一个是没有充分的利用buffer/cache 。这里先介绍内存资源不足吧,毕竟应用程序不在 buffer/cache 里读写的可能性不大,除非程序员自己设置直接I/O。否则至少也用的是缓存I/O。当然一些动态链接库也有自己的缓存。内存回收当有内存资源不足的时候,就会导致内存回收,也就是释放掉回收的内存,比如buffer/cache 就属于可回收内存,他们在内存管理中叫做文件页(File-backend Page)。大部分的文件页都可以直接回收,以后有需
转载
发布博客 2020.09.11 ·
1772 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

linux 查看哪些进程用了swap

如果系统的物理内存用光了,则会用到swap。系统就会跑得很慢,但仍能运行;如果Swap空间用光了,那么系统就会发生错误。通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。所以要高度重视。swap查看有很多种方法,一一介绍下:freefree -m就能看出当前系统所使用的swap了。那么如何查看哪些进程使用了swap呢,这样好针对性的做出优化。topCentos(6.0之前):top只能看到swap总使用量..
转载
发布博客 2020.09.11 ·
2653 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Java性能优化必知的50个细节(珍藏版):Jvm调优+MySQL+Tomcat

在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。文末有整理好的相关面试文件,可以免费获取。性能优化的50个细节1. 尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条
转载
发布博客 2020.09.02 ·
185 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

mat(Eclipse Memory Analyzer tool)之二--heap dump分析

在工作中可能会遇到内存溢出这种灾难性的问题,那么程序肯定是存在问题,找出问题至关重要,上一篇文章讲了jmap命令的使用方法,当然用jmap导出的文件我们也看不懂啊,那就交给memory analyzer(mat)这个工具,让他帮助我们来观察程序的内存分布情况吧。MAT 不是一个万能工具,它并不能处理所有类型的堆存储文件。但是比较主流的厂家和格式,例如 Sun, HP, SAP 所采用的 HPROF 二进制堆存储文件,以及 IBM 的 PHD 堆存储文件等都能被很好的解析。下面来看看要怎么做呢,...
转载
发布博客 2020.09.02 ·
1001 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

JVM系列之五:垃圾回收

0. 垃圾回收机制  1. C/C++需要程序员显式垃圾回收。  显式垃圾回收两大缺点:1. 内存泄漏:程序忘记及时回收无用内存,从而导致内存泄漏,降低系统性能。2. 错误回收:程序错误地回收系统核心类库的内存,从而导致系统崩溃。  2. Java由JRE在后台自动进行。 JRE会提供一个后台线程来进行检测和控制,一般都是在CPU空闲或者内存不足时自动进行垃圾回收。JAVA虚拟机垃圾回收优点: 1. 大大缩短编程时间,提高编程效率。 2. 保护程序的完整性,是安
转载
发布博客 2020.08.27 ·
354 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Java系列笔记(4) - JVM监控与调优

光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之。通过学习,我觉得JVM监控与调优主要的着眼点在于如何配置、如何监控、如何优化3点上。下面就将针对这3点进行学习。(如果您对Java的内存区域划分和内存回收机制尚不明确,那在阅读本文前,请先阅读我的前一篇博客《Java系列笔记(3) - Java 内存区域和GC机制》,在该博客中,详细叙述了Java HotSpot虚拟机(Sun/Oracle JDK系列默认的虚拟机)的内存分配和垃圾回收机制。本文...
转载
发布博客 2020.08.12 ·
268 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java系列笔记(3) - Java 内存区域和GC机制

Java垃圾回收概况  Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对JVM(Java Virtual Machine)中的内存进行标记,并确定哪些内存需要回收,根据一定的回收策略,自动的回收内存,永不停息(Nerver Stop)的保证J
转载
发布博客 2020.08.12 ·
181 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

jvm优化—— 图解垃圾回收

从这篇开始我们开始探讨一些jvm调优的问题。在jvm调优中一个离不开的重点是垃圾回收,当垃圾回收成为系统达到更高并发量的瓶颈时,我们就需要对jvm中如果进行“自动化”垃圾回收技术实施必要的监控和调节。这是jvm优化系列第一篇,其他请看以下:jvm优化必知系列——监控工具对于调优之前,我们必须要了解其运行原理,java 的垃圾收集Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。因此本篇主要从这三个方面
转载
发布博客 2020.08.12 ·
160 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

jvm优化必知系列——监控工具

这是jvm优化系列第二篇:jvm优化——垃圾回收通过上一篇的jvm垃圾回收知识,我们了解了jvm对内存分配以及垃圾回收是怎么来处理的。理论是指导实践的工具,有了理论指导,定位问题的时候,知识和经验是关键基础,数据可以为我们提供依据。在常见的线上问题时候,我们多数会遇到以下问题:内存泄露 某个进程突然cpu飙升 线程死锁 响应变慢...等等其他问题。如果遇到了以上这种问题,在线下可以有各种本地工具支持查看,但到线上了,就没有这么多的本地调试工具支持,我们该如何基于监控工.
转载
发布博客 2020.08.12 ·
187 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

深入理解jvm--性能监控工具

1.jvm监控工具介绍1.1.jconsole  JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,不过此JVM需要使用可管理的模式启动。1.2.启动jconsole  通过JDK/bin目录下的“jconsole.exe”启动Jconsole后,将自动搜索出本机运行的所有虚拟机进程,双击其中一个进程即可开始监控。  也可以“远程连接服务器,进行远程虚拟机的监控。    补充:根据端口号查看进程  netstat -ano |findstr 8080 
转载
发布博客 2020.08.12 ·
188 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【JVM】jmap命令详解----查看JVM内存使用详情

linux获取java进程PID:https://www.cnblogs.com/sxdcgaq8080/p/10734752.html如果命令使用过程中报错,可能解决你问题的方案:https://www.cnblogs.com/sxdcgaq8080/p/11089179.htmlhttps://www.cnblogs.com/sxdcgaq8080/p/10675966.html==========================================...
转载
发布博客 2020.08.04 ·
601 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【JVM】jstat命令详解---JVM的统计监测工具

1.jstat命令简介  jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。  命令的格式如下:    jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]2.使用详情列表【以下的统计空间单位,未标明的 都是KB】1>类加载统计命令:jstat -class 19570结果:解析:Loaded:加载class的数量Bytes:所占用空间大小Unloaded:未加载数量Bytes:未加载占用空间...
转载
发布博客 2020.08.04 ·
10351 阅读 ·
8 点赞 ·
0 评论 ·
23 收藏

Jackson /常用注解/ annotation

1、@JsonAutoDetect自动检测,(作用在类上)来开启/禁止自动检测。fieldVisibility:字段的可见级别 ANY:任何级别的字段都可以自动识别 NONE:所有字段都不可以自动识别 NON_PRIVATE:非private修饰的字段可以自动识别 PROTECTED_AND_PUBLIC:被protected和public修饰的字段可以被自动识别 PUBLIC_ONLY:只有被public修饰的字段才可以被自动识别 DEFAULT:...
转载
发布博客 2020.07.20 ·
424 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JVM 源码解读之 CMS GC 触发条件

前言经常有同学会问,为啥我的应用 Old Gen 的使用占比没达到 CMSInitiatingOccupancyFraction 参数配置的阈值,就触发了 CMS GC,表示很莫名奇妙,不知道问题出在哪?其实 CMS GC 的触发条件非常多,不只是 CMSInitiatingOccupancyFraction 阈值触发这么简单。本文通过源码全面梳理了触发 CMS GC 的条件,尽可能的帮你了解平时遇到的奇奇怪怪的 CMS GC 问题。先抛出一些问题,来吸引你的注意力。为什么 Old Gen 使
转载
发布博客 2020.07.15 ·
709 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

理解CMS GC日志

准备工作,配置输出GC日志本文以idea的启动日志为例解读CMS收集器的GC日志在idea64.exe.vmoptions文件中可以看到idea的启动参数,下面是初始启动参数配置-Xms128m-Xmx750m-XX:ReservedCodeCacheSize=240m-XX:+UseConcMarkSweepGC-XX:SoftRefLRUPolicyMSPerMB=50-ea-Dsun.io.useCanonCaches=false-Djava.net.preferIPv.
转载
发布博客 2020.07.15 ·
1471 阅读 ·
0 点赞 ·
0 评论 ·
9 收藏

老大难的GC原理及调优,这下全说清楚了

概述本文介绍GC基础原理和理论,GC调优方法思路和方法,基于Hotspot jdk1.8,学习之后将了解如何对生产系统出现的GC问题进行排查解决阅读时长约30分钟,内容主要如下:GC基础原理,涉及调优目标,GC事件分类、JVM内存分配策略、GC日志分析等 CMS原理及调优 G1原理及调优 GC问题排查和解决思路GC基础原理1 GC调优目标大多数情况下对 Java 程序进行GC调优, 主要关注两个目标:响应速度、吞吐量 响应速度(Responsiveness) 响应速度指程序
转载
发布博客 2020.07.14 ·
523 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多