自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Java应用 线上CPU彪高处理

如果是cpu过高, 可以先查进程id->查线程id->转成十六进制→使用十六进制的线程ID查堆栈信息, 可以查到具体的代码问题。更加详细的信息需要去dump文件里面分析才能知道, dump是二进制文件不能直接查看, 需要用特殊的分析工具查看。jvm内存不要设置的太高, 否则dump文件会很大, 不利于出现事故后的分析操作。确定占用CPU最高的进程→ 确定进程中占用CPU较高的线程。那这线程ID去jstack里看线程的具体信息。top -H -p pid 查看具体的线程。dump可以用来查历史问题。

2025-03-31 15:31:03 391

转载 ibatis bug排查记录 isEqual标签无法取到范型中的值

原文地址:

2023-09-13 16:37:00 185

原创 String StringBuilder StringBuffer的区别

目录继承图StringStringBuilder和StringBuffer 继承图 String 是一个不可变的字符串, 一旦创建就不能再修改了 创建新的字符串时会先去字符串常量池中查找, 如果存在就不会再次创建了 不可变的原因 String是一个final类, 里面的许多变量 方法也被final修饰了 底层使用的是一个char数组, 这个char数组也被final修饰了 StringBuilder和StringBuffer 是一个

2020-08-01 14:56:04 299

原创 02 多线程 原理部分

synchronized 存在线程安全问题的主要原因 存在共享数据 存在多个线程共同操作这些共享数据 解决办法 互斥访问共享数据 互斥锁的特性 互斥性 一个线程在操作临界资源时别的线程只能等待 互斥性也称为操作的原子性 可见性 必须确保在锁被释放之前, 对共享变量所做的修改, 对于随后获得该锁的线程是可见的, 否则另一个线程可能是在本地缓存的某个副本上继续操作, 造成数据的不一致性 锁的分类 对象锁...

2020-07-30 16:43:14 964

原创 Java中BigInteger常用方法总结

加:BigInteger add(BigInteger val) 返回两个大整数的和减: BigInteger subtract(BigInteger val)返回两个大整数相减的结果乘: BigInteger multiply(BigInteger val) 返回两个大整数的积除: BigInteger divide(BigInteger val) 返回两个大整数的商取模:BigInteger mod(BigInteger val) 用当前大整数对val求模求相反数:BigIn...

2020-07-27 21:33:57 1159

原创 01 多线程 概念部分

面试:进程和线程的区别 进程是资源分配的最小单位, 线程是CPU调度的最小单位 所有与进程有关的内容都被记录在PCB(进程控制块)中 进程独占内存空间, 保存各自的运行状态, 相互间不干扰且可相互切换, 为并发处理任务提供了可能 线程共享进程的内存资源, 相互间切换更快速, 支持更细粒度的任务控制, 使进程内的子任务得以并发执行 进程切换比线程切换开销大 Java进程与线程的关系 每运行一个Java程序就会产生一个进程, 一个进程至少包含一个线程 一个进程...

2020-07-26 21:27:14 235

原创 01 Redis

缓存中间件——Memcache和Redis的区别 Memcache没有系统学习过,但我了解二者的一些区别 Memcache 支持简单的数据类型 不支持数据持久化存储 一旦服务器宕机了数据就丢失了 不支持主从同步 不支持分片 Redis 数据类型丰富 支持数据持久化存储 支持分片 支持主从 面试:为什么Redis这么快? Redis支持每秒10w+的查询次数 完全基于内存的,绝大部分请求都是纯粹的内存...

2020-07-16 11:45:05 248

原创 01 Spring IOC、AOP

Spring IOC Inversion of Control:控制反转 spring core最核心的部分 依赖注入(Dependency Inversion) 将底层类作为参数传递给上层类,实现上层类对下层类的“控制” 依赖注入的方式 Setter Interface Constructor Annotation IOC容器 控制着bean的生命周期、bean的依赖注入 避免到处new对象,并且可以做到统一管理 当...

2020-07-14 22:17:37 136

原创 02 数据库 索引 sql调优 锁 事务

索引管理 面试:为什么要使用索引? 当我们使用最简单的方式查询的时候,会把表中所有的数据全部或分批次加载进内存,然后遍历找出我们需要的数据,当表中的数据比较少的时候这种查询速度是比较快的,但多的时候就不行了,所以要使用索引 索引就像字典中的目录一样,把那些关键的信息组织起来形成索引,像拼音或者偏旁部首一样,这样根据索引就可以很快的查找到我们需要的数据 面试:什么样的信息能够成为索引? 主键 面试:数据库索引可以使用那些数据结构? 可以使用二叉查找树 也可以...

2020-07-13 16:10:09 235

原创 java 零散的知识点 + 牛客笔记

双等号(==)比较的是基本变量的值或者引用变量的地址值 在IDEA中,方法上有横线,说明方法已过时 工具类: Objects:操作对象的工具类 Arrays:操作数组的工具类 Collections:操作集合的工具类 Executors:线程池的工具类 在工作中,向方法传递参数时,首先进行参数...

2020-03-03 15:08:42 131

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除