摘要: http://hedengcheng.com/?p=844 阅读全文
posted @ 2020-04-02 11:31 兔老霸夏 阅读(706) 评论(0) 推荐(0) 编辑
摘要: 索引数据结构: 目前大部分数据库系统及文件系统都采用B Tree或者B+Tree作为索引结构 B树:每个节点存储m/2到M个关键字,非叶子节点储存指向关键字范围的子节点的指针或者某节点详细数据;所有关键字在整棵树中出现,且只出现一次,非叶子节点可以命中。 B+树:在B+树的基础上,为叶子节点增加链表 阅读全文
posted @ 2019-11-13 17:39 兔老霸夏 阅读(812) 评论(0) 推荐(0) 编辑
摘要: 1.业务唯一编号: 当系统接收到唯一的no时,先判断no对应的状态是否处理过,处理过则直接返回;防止并发的情况,需要在判断处理的地方加锁, 多系统部署,需要加分布式锁 或者在事务中使用 select for update 获取行级锁,事务提交后会自动释放行级锁 或者使用乐观锁 : update t_ 阅读全文
posted @ 2019-11-13 10:04 兔老霸夏 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 按照流的方向:输入流(InputStream)和输出流(OutputStream) 按照处理数据的单位:字节流和字符流;字节流继承于InputStream和OutputStream ,字符流继承于InputStreamRead 和OutputStreamWrite 阅读全文
posted @ 2019-10-29 17:49 兔老霸夏 阅读(157) 评论(0) 推荐(0) 编辑
摘要: JDK6与JDK7中的实现: 理解concurrentHashMap首先最关键先理解一个概念:segment segment是什么呢?segment本身就相当于一个HashMap对象,同时又继承了ReentrantLock;同HashMap一样,segment包含一个HashEntry数组,数组的每 阅读全文
posted @ 2019-10-29 16:44 兔老霸夏 阅读(622) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal: 线程的一个本地化对象。当多线程中的对象使用ThreadLocal维护变量是,ThreadLocal为每个使用该变量的线程分配一个独立的变量副本。 threadlocal通常定义为静态变量 工作原理: 内部维护一个ThreadLocalMap,每次set数据时是用Thread 阅读全文
posted @ 2019-10-29 11:40 兔老霸夏 阅读(650) 评论(0) 推荐(0) 编辑
摘要: java虚拟机类加载机制:虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。 类的生命周期是从类被加载到虚拟机内存中,到卸载出内存为止: 类的生命周期: 加载 loading 、 验证 verification、 准备 p 阅读全文
posted @ 2019-10-29 11:07 兔老霸夏 阅读(159) 评论(0) 推荐(0) 编辑
摘要: OOM: 1.快速恢复业务:如果是集群中的一台机器故障,先隔离故障服务器;如果是多台,则根据Nginx转发策略,对该功能转发到单独的集群,与其他流量隔离,确保其他业务不受影响 2.收集内存溢出Dump文件:方式有两种: 1.设置JVM启动参数 -XX:+HeapDumpOnOutOfMemoryEr 阅读全文
posted @ 2019-10-29 10:46 兔老霸夏 阅读(1351) 评论(0) 推荐(0) 编辑
摘要: 1.强引用(Strong Reference):指程序代码中普遍存在的,类似“Object obj = new Object()”这类的引用,只要对象存在强引用关联,JVM必定不会回收这个对象; 2.软引用(soft Reference):指还有用但并非必须的对象,当系统将要发生OOM时,回收这些对 阅读全文
posted @ 2019-10-29 10:10 兔老霸夏 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 1.单线程happen-before原则:在同一个线程中,书写在前面的操作happen-before后面的操作。 2.锁的happen-before原则:同一个锁的unlock操作happen-before此锁的lock操作。 3.volatile的happen-before原则:对一个volati 阅读全文
posted @ 2019-10-29 09:54 兔老霸夏 阅读(1059) 评论(0) 推荐(0) 编辑