随笔分类 - Java
摘要:用 jstack 命令 dump 线程信息,看看 pid 为 31177 的进程里的内容。 sudo -u admin /java/bin/jstack 31177 > /home/dump17 统计所有线程分别处于什么状态, grep java.lang.Thread.State dump17 |
阅读全文
摘要:前言 以前都是在 Linux 虚拟机上的 Docker 安装应用,这次使用 Windows10 系统的 Docker Desktop 安装 Nacos ,所以用挂载文件就不是很方便了,这次采用启动参数的方式对配置文件赋值。 以下 Docker 命令操作是在 Windows PowerShell 下执
阅读全文
摘要:1. 排查空余线程、线程上下文切换情况 先使用 vmstat 测量上下文切换次数。vmstat 命令详解 # vmstat 1 procs memory swap-- io -system-- cpu r b swpd free buff cache si so bi bo in cs us sy
阅读全文
摘要:vmstat 命令可以干啥?可以查看内存能使用情况,IO情况、上下文切换次数、CPU情况等。 1. 基础命令: vmstat 2. 其他用法: vmstat [-a] [-n] [-S unit] [delay [ count]] vmstat [-s] [-n] [-S unit] vmstat
阅读全文
摘要:以下文章来源于微信公众号:阿Q说代码 ,作者:阿Q 用图解的方式从源码角度给大家说一下ReentrantLock加锁解锁的全过程。 1. 简单实用 在聊它的源码之前,我们先来做个简单的使用说明。当我在IDEA中创建了一个简单的Demo之后,它会给出以下提示: 提示文字 在使用阻塞等待获取锁的方式中,
阅读全文
摘要:top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。 1 命令格式 命令格式: top [-d number] | top [-bnp] [options]选项 : -d:number代表秒数,表示top命令显示的页面更新一次的间隔,默认是3秒
阅读全文
摘要:原文地址:https://mp.weixin.qq.com/s/e9KIZnix-Bftp35UHfXFrA 可能平常会遇到一些需求,比如构建菜单,构建树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来,然后通过流式处理,我们
阅读全文
摘要:作者 | 一灯架构 来源 | www.toutiao.com/i6943239541448917512 1. Java自带工具方法 1.1 List集合拼接成以逗号分隔的字符串 // 如何把list集合拼接成以逗号分隔的字符串 a,b,c List<String> list = Arrays.asL
阅读全文
摘要:最近要在2个多年前的老项目里添加功能,用idea启动失败之后,尝试使用Eclipse启动成功了。 老项目到什么程度呢? 一个是Maven项目,SpringMVC,要在Tomcat8上运行,数据源是在Tomcat的context.xml文件里的。 另一个是传统JavaWeb项目,jdk1.6,框架是:
阅读全文
摘要:这是我知道的几位大牛的GitHub地址,都是他们总结的各种Java相关的知识。 JavaFamily :https://github.com/AobingJava/JavaFamily JavaGuide :https://github.com/Snailclimb/JavaGuide JavaIn
阅读全文
摘要:以下文章来源于架构师进阶之路 ,作者二马读书 1. JVM频繁FULL GC快速排查 在分享此案例前,先聊聊哪些场景会导致频繁Full GC: 内存泄漏(代码有问题,对象引用没及时释放,导致对象不能及时回收) 死循环 大对象 尤其是大对象,80%以上的情况就是他。 那么大对象从哪里来的呢?数据库(包
阅读全文
摘要:转自微信公众号 安琪拉的博客 1. HashMap的内部数据结构? JDK1.8版本的,内部使用数组 + 链表 / 红黑树;数据结构如下图: 2. HashMap的数据插入原理吗? 1.判断数组是否为空,为空进行初始化; 2. 不为空,计算 k 的 hash 值,通过 (n - 1) & hash计
阅读全文
摘要:作者:iCoding91地址:https://blog.csdn.net/caoxiaohong1005 转发的公众号地址,有其他设计模式介绍:https://mp.weixin.qq.com/s/ZqK5-2T3jZ9JTCdRA_st4w Spring中涉及的设计模式总结 1.简单工厂(非23种
阅读全文
摘要:作者:浅蓝色的麻吉 https://www.jianshu.com/p/a7767e6ff2a2 1. 什么是哈希表 在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作执行性能 1.1 数组 采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1); 通过给定值进
阅读全文
摘要:作者:搜云库技术团队 原文:https://segmentfault.com/a/1190000017766364 1. Java 中15种锁的介绍 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁 / 非公平锁 可重入锁 / 不可重入锁
阅读全文
摘要:最近做了个小模块,需求就是项目同时读取三个数据库,操作数据。并不是分库分表,只用定时跑,不需要对外提供接口。 技术选型:SpringBoot + Mybatis Plus(Mybatis) + Dynamic 1. 用MyBatis Plus 生成mapper、xml、service,生成方法。 2
阅读全文
摘要:参考资料:好好学Java https://mp.weixin.qq.com/s/Dd_7yUh3lq3TqE2cjsYXvw JDK8新特性里提供了3个时间类:LocalDate、LocalTime、LocalDateTime 在项目开发中,已经需要对Date类型进行格式,否则可读性很差,格式化Da
阅读全文
摘要:原文出处:Java之道 原文地址:http://www.hollischuang.com/archives/3689 我们在开发的时候,经常要打印日志,有的时候会在一些代码的关键节点处进行日志输出。使用logback/log4j等原生的日志框架,在日志输出的时候可能会遇到一个问题,那就是经常我们要打
阅读全文
摘要:参考资料:https://www.baeldung.com/java-optional https://mp.weixin.qq.com/s/P2kb4fswb4MHfb0Vut_kZg 1. 描述 Optional是java.util包中的一部分,所以要有相关的引用: import java.ut
阅读全文
摘要:需求场景: 公司对APP调用的后台接口有个公用格式如下,外层包含了一些设备、版本、签名信息,主要的业务参数是在body里,外层信息都是在网关解决,验证签名后,在转发body到后台服务。 { "appVersion":"1.0.0", "equipmentNo":"***********", "equ
阅读全文