04 2019 档案
摘要:前言 在线上的程序中,我们可能经常会碰到程序卡死或者执行很慢的情况,这时候我们希望知道是代码哪里的问题,我们或许迫切希望得到代码运行到哪里了,是哪一步很慢,是否是进入了死循环,或者是否哪一段代码有问题导致程序很慢,或者出现了线程不安全的情况,或者是某些连接数或者打开文件数太多等问题,总之我们想知道程
阅读全文
摘要:简介 jstack 主要用于生成虚拟机当前时刻的「线程快照」。线程快照是当前 Java 虚拟机每一条线程正在执行的方法堆栈的集合。 生成线程快照的主要目的是用于定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致长时间等待。 基础 线程的几种状态 ,未启动的。不会出现在Dump中。
阅读全文
摘要:概览 最近老大布置的任务就是质量加固,偶然看到了一些对于 Java 性能分析的介绍,因此,有了此篇学习笔记。 JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外, 还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,每一种
阅读全文
摘要:Java 诊断利器 Arthas,是阿里的一款开源工具。 "Github alibaba/arthas" 上可以看到它的介绍。了解它,主要是最近对分析 Java 错误堆栈比较感兴趣,机缘巧合看到了它。 本文记录的内容,就是基于它 "官网的文档" 摘抄的,涉及的截图可能由于篇幅有限,不是很完整,建议按
阅读全文
摘要:概念 进程 正在运行的程序,是系统进行资源分配和调用的独立单位 每一个进程都有它自己的内存空间和系统资源,一个进程包括由操作系统分配的内存空间,包含一个或多个线程 一个进程一直运行,直到所有的非守护线程都结束运行后才能结束 线程 线程是进程中的单个顺序控制流,是一条执行路径 一个进程如果只有一条执行
阅读全文
摘要:参考 SpringBoot 线程池 " 程序猿DD Spring Boot使用@Async实现异步调用:自定义线程池" "如何优雅的使用和理解线程池" "Spring Boot线程池的使用心得" "博客园 Springboot学习笔记(一) 线程池的简化及使用" 线程池基础 "Java中的线程池"
阅读全文
摘要:参考 "CSDN 学习Spring Boot:(二十七)Spring Boot 2.0 中使用 Actuator" "使用Actuator监控Spring Boot应用" "程序猿DD Spring Boot Actuator监控端点小结" "官宣 Spring Boot Actuator Web
阅读全文
摘要:简介 "HikariCP" 来源于日语,「光」的意思,意味着它很快!可靠的数据源,spring boot2.0 已经将 HikariCP 做为了默认的数据源链接池。 官网详细地说明了HikariCP所做的一些优化,总结如下: 字节码精简 :优化代码,直到编译后的字节码最少,这样,CPU缓存可以加载更
阅读全文
摘要:小知识点 所有的程序,都要定义在类里面; 异常 定义方法时,使用 throws 可以用来捕获方法体内没有捕获的异常,然后以 SomeException 抛出异常 java是解释型语言。java虚拟机能实现一次编译多次运行。 JDK(java software Development kit 软件开发
阅读全文
摘要:参考 "全文搜索引擎ElasticSearch 还是Solr? JaJian 博客园"
阅读全文
摘要:简介 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,
阅读全文
摘要:参考 "朱小厮 一文详解TCP" "博客园 “三次握手,四次挥手”你真的懂吗?" "博客园 深度解密HTTP通信细节" "OSI 七层模型与 TCP/IP 四层模型" "TCP/IP必知必会的10个问题" "胡齐 OSI网络七层模型"
阅读全文
摘要:将 Mac 日常使用的软件和开发软件区分开,将之前写的 Mac 配置的文章分成了两篇: "Mac 配置教程 日常篇" "Mac 配置教程 开发篇" 图床 "iPic" 设置快捷键 "PicGo" 设置快捷键是 免密登录 这个工具,它的原理其实是把自己的公钥(默认使用 这个文件中的内容)复制到目标服务
阅读全文
