摘要:
JVM线上排查问题过程 记录如何排查CPU100%问题。 当我们把服务发布到服务器上,可能会因为一些问题造成我们的服务器CPU被打满甚至超过100%,那如果我们想知道到底上在做什么操作导致CPU持续过高呢?因为在线上,我们只能通过日志看问题,或者排查到哪个进程或者哪个线程持续占用CPU。然后才能找到 阅读全文
摘要:
表分区 分区 在Oracle数据库中,为了提升对大表/大索引的可管理性、可维护性以及性能,Oracle引入了分区表机制,可以将大表/大索引分解为多个小的、可管理的分区。多个分区相对独立,有独立的存储结构,共同构成了整个完整的表/索引。分区对应用透明,即对访问数据库的应用而言,逻辑上讲只有一个表或一个 阅读全文
摘要:
JAVA内存泄漏和内存溢出的区别和联系 内存泄漏memory leak 是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。 内存溢出 out of memory 指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储in 阅读全文
摘要:
深拷贝与浅拷贝 对象的复制 有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。 浅克隆(ShallowClone)和深克隆(DeepClone) 在Ja 阅读全文
摘要:
高并发限流 问题描述 突然发现自己的接口请求量突然涨到之前的10倍,带宽被占满,没多久该接口几乎不可使用,并引发连锁反应导致整个系统崩溃。 计数器(固定窗口)算法 计数器算法是使用计数器在周期内累加访问次数,当达到设定的限流值时,触发限流策略。下一个周期开始时,进行清零,重新计数。 此算法在单机还是 阅读全文
摘要:
事务管理 数据库事务 事务是什么 是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作; **这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;**事务是一组不可再分割的操作集合。 数据库事务是保证在并发情况下能够正确执行的重要支撑,MySQL常见的数据库引擎中支持事务的是 阅读全文
摘要:
Spring Bean的生命周期 四个阶段 Spring Bean的生命周期只有这四个阶段。把这四个阶段和每个阶段对应的扩展点糅合在一起虽然没有问题,但是这样非常凌乱,难以记忆。要彻底搞清楚Spring的生命周期,首先要把这四个阶段牢牢记住。 **实例化和属性赋值对应构造方法和setter方法的注入 阅读全文
摘要:
Java中的Object类 Object类简介 Object类是Javajava.lang包下的核心类,Object类是所有类的父类,何一个类时候如果没有明确的继承一个父类的话,那么它就是Object的子类; Object 类属于java.lang包,此包下的所有类在使用时无需手动导入,系统会在程序 阅读全文
摘要:
Java线程池七个参数 首先创建一个定长的线程池 //创建使用固定线程数的线程池 ExecutorService es2 = Executors.newFixedThreadPool(3); for (int i = 0; i < 10; i++) { es2.submit(new Runnable 阅读全文
摘要:
常见算法的时间复杂度 冒泡排序 for(int i = 0 ;i<arr.length-1;i++){ //第i趟比较 for(int j = 0 ;j<arr.length-i-1;j++){ //开始进行比较,如果arr[j]比arr[j+1]的值大,那就交换位置 if(arr[j]>arr[j 阅读全文