摘要: 在多线程下访问共享变量可以通过synchronized、volatile以及lock保证线程线程安全,那么当变量线程私有应该如何操作,答案是用ThreadLocal。 一、定义 ThreadLocal主要用于多线程情况下做线程隔离。 比如玩NDF,当多个玩家同时刷一个图时,每个人都是进自己的,不同的 阅读全文
posted @ 2021-03-16 17:51 落雨有清·风 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 优化思路: 1.查询条件没走到索引时,考虑创建索引? 2.索引是否失效 数据类型不一致导致索引失效; where条件最左匹配原则; 不能在索引字段使用处理函数或表达式,因为这种操作会导致索引失效; NOT IN、!=、‘%w’导致索引失效;like 业务场景下SQL是否合理(jion表不能大于3张) 阅读全文
posted @ 2021-01-28 20:29 落雨有清·风 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 一 CPU打满问题排查 1、top命令找出进程id(Pid) 2、ps -Hp Pid找出进程中CPU占用高的线程 3、将线程id转为16进制,命令:printf "%x\n" Pid 4、导出进程快照:jstack -l pid> ./pid.stack 5、定位问题 cat pid.stack 阅读全文
posted @ 2020-10-22 16:53 落雨有清·风 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 一、线程池概念 线程的使用带来了很多好处,比如异步调用,提升性能等,然而,频繁的创建和销毁线程会耗费计算机资源。 类似于数据库连接池,这类带‘池’的功能很好地解决了上述问题。 线程池的核心是创建n个线程放在容器中,等到有任务处理时会将其分配给其中某个线程,执行完之后不会立即销毁,而是放回容器中,等待 阅读全文
posted @ 2020-09-30 18:27 落雨有清·风 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 本文内容源于视频教程,若有侵权,请联系作者删除 一、概念 先看一个例子 1 public class VolatileDemo { 2 3 public static boolean stop = false; 4 5 public static void main(String[] args) t 阅读全文
posted @ 2020-09-20 00:08 落雨有清·风 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 本文内容源于视频教程,若有侵权,请联系作者删除。 一、线程安全 1 public class ThreadSafeDemo { 2 3 private static int count = 0; 4 5 public static void main(String[] args) throws In 阅读全文
posted @ 2020-08-27 23:57 落雨有清·风 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 本文内容源于视频教程,若有侵权,请联系作者删除 一、线程生命周期 1.1 线程的六种状态 初始状态:线程被创建 运行状态:JAVA线程把操作系统中的就绪和运行两种状态统一称为“运行中” 阻塞状态:由于某种原因导致正在运行的线程让出CPU执行权限 等待状态:等待完成返回 超时等待状态:超时以后自动返回 阅读全文
posted @ 2020-08-24 23:38 落雨有清·风 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 一、概念 装饰者模式(Decorator Pattern)是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能),属于结构型模式。 简言之:大桶套小桶 二、实现 需求:现在有人在路边卖煎饼,原价5元,加1个鸡蛋1元,加1个香肠2元,要求给顾客做两个煎 阅读全文
posted @ 2020-08-16 16:52 落雨有清·风 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 本文内容源于视频教程,若有侵权,请联系作者删除 一、概念 适配器模式(Adapter Pattern)是指将一个类的接口转换成客户期望的另一个接口,使原本的接口不兼容的类可以一起工作,属于结构型设计模式。 二、实现 需求:实现一个变压器,将220V交流电转换成5V直流电 创建220V交流电和5V直流 阅读全文
posted @ 2020-08-15 17:30 落雨有清·风 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 本文内容源于视频教程,若有侵权,请联系作者删除。 一、概念 模板方法模式(Template Method Pattern)是指定义一个算法的骨架,并允许子类为一个或者多个步骤提供实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤。 生活中有很多事情是有规律可循的,比如做菜,基 阅读全文
posted @ 2020-08-06 23:22 落雨有清·风 阅读(77) 评论(0) 推荐(0) 编辑