摘要: synchronized 具体用法 https://www.cnblogs.com/lukelook/p/9946065.html synchronized 关键字加到 static 静态方法和 synchronized(class) 代码块上都是是给 Class 类上锁。 synchronized 阅读全文
posted @ 2021-02-20 11:16 nkk 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 主要三点: 异步 购票系统 -> 短信系统 可以异步发送,不用同步发送导致响应时间太长 解藕 购票系统—> 短信系统 或者邮件系统 在代码编写的时间就可以更加轻松解藕 消峰 购买系统可以同时承受很大的tps, 但短信系统不需要 关于rocketmq的存储结构和PageCache与Mmap内存映射以及 阅读全文
posted @ 2021-02-07 16:38 nkk 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 在单机环境下,多线程同时访问变量可以用锁实现,但服务做集群呢 也就是多进程的情况,就没办法了,就需要分布式锁,跨jvm,就要保证一个方法或变量在同一个线程执行。 基于数据库实现分布式锁;基于缓存redis等实现分布式锁;基于Zookeeper实现分布式锁。 数据库只要是加一张表,有唯一索引不让重复加 阅读全文
posted @ 2021-02-07 16:34 nkk 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 我们可以尝试对JVM进行调优,主要就是堆内存那块 所有线程共享数据区大小=新生代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m。所以java堆中增大年轻代后,将会减小年老代大小(因为老年代的清理是使用fullgc,所以老年代过小的话反而是会增多fullgc的)。此值对系统性能影响较 阅读全文
posted @ 2021-02-06 23:57 nkk 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 加载 类加载过程的第一步,主要完成下面3件事情: 通过全类名获取定义此类的二进制字节流 将字节流所代表的静态存储结构转换为方法区的运行时数据结构 在内存中生成一个代表该类的 Class 对象,作为方法区这些数据的访问入口 加载阶段和连接阶段的部分内容是交叉进行的,加载阶段尚未结束,连接阶段可能就已经 阅读全文
posted @ 2021-02-06 22:16 nkk 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 针对 HotSpot VM 的实现,它里面的 GC 其实准确分类只有两大种: 部分收集 (Partial GC): 新生代收集(Minor GC / Young GC):只对新生代进行垃圾收集; 老年代收集(Major GC / Old GC):只对老年代进行垃圾收集。需要注意的是 Major GC 阅读全文
posted @ 2021-02-06 21:50 nkk 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 事务隔离级别 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行。 事务的特性(ACID) 原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用; 一致性: 执行事务前后,数据保持一致,例如转账业务中,无论事务是否成功,转账者和收款人的总额应该是 阅读全文
posted @ 2021-02-04 20:56 nkk 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 简单来说 Redis 就是一个使用 C 语言开发的数据库,不过与传统数据库不同的是 Redis 的数据是存在内存中的 ,也就是它是内存数据库,所以读写速度非常快,因此 Redis 被广泛应用于缓存方向。 Redis 基于 Reactor 模式来设计开发了自己的一套高效的事件处理模型 (Netty 的 阅读全文
posted @ 2021-02-04 20:43 nkk 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 乐观锁:对数据操作的时候不担心数据被修改,不上锁,每次修改数据的时候要根据数据进行判断是否被修改过. 适合用于db读大于写的场景 悲观锁: 自己操作数据的时候就会对数据上锁,防止自己操作的时候别人也动. 场景:在db读取大的时候,如果有线程修改操作上锁 就会被全部挂起,等修改完成释放锁才能读到数据, 阅读全文
posted @ 2021-02-04 19:53 nkk 阅读(129) 评论(0) 推荐(0) 编辑
摘要: HASH 算法 我理解就是hash表数据结果中的hash函数用的那个东西 比如比如 MD5、SHA 哈希算法的定义和原理非常简单,基本上一句话就可以概括了。将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。但是,要想设计一 阅读全文
posted @ 2021-02-03 22:13 nkk 阅读(118) 评论(0) 推荐(0) 编辑