摘要:迭代器 Iterator 是什么? Java容器的顶部接口就是Iterator。是一个可以遍历集合的对象,为各种容器提供了公共的操作接口,隔离对容器的遍历操作和底层实现,从而解耦。 java迭代器查找的唯一操作就是依靠调用next,而在执行查找任务的同时,迭代器的位置也在改变. Iterator迭代
阅读全文
摘要:【重点】变量/方法:java继承里的 隐藏 vs方法 隐藏:父类和子类拥有相同名字的属性或者方法时,父类的同名的属性或者方法形式上不见了,实际是还是存在的。 变量隐藏:子类实例变量/静态变量可以隐藏父类的静态/实例变量,总结为“变量”可以交叉隐藏。 方法隐藏:只有一种形式,就是父类和子类存在相同的静
阅读全文
摘要:顺序 1. 父类中静态成员变量和静态代码块 2. 子类中静态成员变量和静态代码块 3. 父类中普通成员变量和代码块,父类的构造函数 4. 子类中普通成员变量和代码块,子类的构造函数 其中“和”字两端的按照代码先后顺序执行:父类静态块→子类静态块→父类初始化块(成员变量,非静态代码块等)→父类构造方法
阅读全文
摘要:总结 BIO 同步并阻塞 线程发起IO请求,不管内核是否准备好IO操作,从发起请求起,线程一直阻塞,直到操作完成。 NIO 同步非阻塞(由于最后依然要本线程去操作,因此是“同步”;由于是立即返回,因此是“非阻塞”) 线程发起IO请求,立即返回;操作系统在做好IO操作的准备之后,通过调用注册的回调函数
阅读全文
摘要:总结 reactor用于同步IO,proactor用于异步IO 在Reactor模式中,事件分离者等待某个事件或者可应用或个操作的状态发生(比如文件描述符可读写,或者是socket可读写),事件分离器就把这个事件传给事先注册的处理器(事件处理函数或者回调函数),由后者来做实际的读写操作。 在Proa
阅读全文
摘要:总结 同步 vs 异步 所谓同步/异步,关注的是能不能同时开工。 同步->指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪 异步->是指用户进程触发IO操作以后便开始做自己的事情,而当IO操作已经完成的时候,用户进程会得到IO完成的通知 阻塞 vs 非阻塞 所谓阻塞/非阻塞,关注的是
阅读全文
摘要:总结 Math.round() “四舍五入”, 该函数返回的是一个四舍五入后的的整数。 负数,小数点第一位是5时,直接舍去,整数部分不 +1; 正数,小数点第一位是5时,往整数部分 +1 double d = 3.1415926; double d2 = 18.58; double d3 = -15
阅读全文
摘要:总结 replace() 和 replaceAll()都是常用的替换字符串的方法 1-两者都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串。如果只想替换第一次出现的,可以使用 replaceFirst() 2-replaceFirst(), replaceAll()都是“优先
阅读全文
摘要:总结 1-正常情况下,finally语句块都会执行。除了一些特殊情况:(详见:finally语句块一定执行吗?) 直接返回未执行到finally语句块 抛出异常未执行到finally语句块 系统退出未执行到finally语句块 2-如果finally 没有 return,finally 对 retu
阅读全文
摘要:finalize()一定执行吗 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。Java语言规范并不保证finalize方法会被及时地执行、而且根本不会保证它们会被执行 GC执行finalize()流程 首先,大致描述一
阅读全文
摘要:总结 Java没有c++的Struct类型 在c++中: class是引用类型,struct是值类型 struct更适合看bai成是一个数据结构的实现体du,class更适合看成是一个对象的实现体 参考:https://zhidao.baidu.com/question/74800441150378
阅读全文
摘要:总结 在自定义中,重写hashCode()不需要加@Override. 因为Object.hashCode()并不是abstract函数。 在java中,hashCode()方法的主要作用是为了配合基于散列的集合一起正常运行,这样的散列集合包含HashSet、HashMap以及HashTable。
阅读全文
摘要:2023 量化选债,查询超时 - 优化查询时间从90s为1s 详见onenote 数据库命中率突然从 99% 降低到了 75%,整个系统处于阻塞状态,更新语句全部堵住 而探究其原因后,我发现这个业务有大量插入数据的操作,而他在前一天把其中的某个普通索引改成了唯一索引。 知识点:mysql innod
阅读全文
摘要:详细文章 https://blog.csdn.net/a745233700/article/details/110914620 零、三层循环 Spring中有三个缓存,用于存储单例的Bean实例,这三个缓存是彼此互斥的,不会针对同一个Bean的实例同时存储。如果调用getBean,则需要从三个缓存中
阅读全文