摘要:
读多写少,优化性能 application -> cache(快) -> DB(慢) 缓存命中率 = 命中的 / 总的 写入操作时,更新缓存(写入DB && 写入缓存 计算简单的时候,直接更新,增加一次命中率)/淘汰缓存(写 入DB,只淘汰数据,计算复杂时,比更新操作简单,但会增加一次不命中) 处理 阅读全文
:: :: :: :: :: 管理 |
摘要:
读多写少,优化性能 application -> cache(快) -> DB(慢) 缓存命中率 = 命中的 / 总的 写入操作时,更新缓存(写入DB && 写入缓存 计算简单的时候,直接更新,增加一次命中率)/淘汰缓存(写 入DB,只淘汰数据,计算复杂时,比更新操作简单,但会增加一次不命中) 处理 阅读全文
摘要:
1. 函数式编程,因为在并发和时间驱动编程中的优势,函数式编程又逐渐流行起来 以前是实现一个比较器需要实现Comparator接口,并重写compare方法,以下为两种实现方法(类似还有线程,事件等): 在JDK8中,很多接口添加@FunctionalInterface被声明为函数式接口,JDK8的 阅读全文
摘要:
1. ClassNotFoundException/NoClassDefFoundError/NoSuchMethodException 参考关于类加载的博文即可,主要关注类加载的方式,类的版本等信息 https://www.cnblogs.com/baihuitestsoftware/articl 阅读全文
摘要:
利用hotswap技术,动态将跟踪字节码注入到运行类中,对运行代码侵入较小,对性能上的影响可以忽略不计 1、追踪方法的调用,参数返回值,执行时间,响应时间 2、定时打印调用次数,监控对某方法的调用 3、打印系统/JVM等信息,堆和非堆内存实时信息 4、接口性能变慢,分析每个方法的耗时情况; 5、当在 阅读全文
摘要:
类加载机制: 程序启动时,根据入口函数调用相关功能,功能在不同类中即在不同的class文件中,jvm根据类加载机制来动态加载class文件到内存中,只有被加载后才能被调用,否则引发异常 1、装载:查找和导入Class文件 2、链接:其中解析步骤是可以选择的 (a)检查:检查载入的class文件数据的 阅读全文
摘要:
如何产生,一边遍历一边修改元素,产生iter后再修改原结构,如下,无论是for中或iter都会产生ConcurrentModificationException 产生原因: 解决办法: 1. 用CopyOnWriteArrayList, 可以发现在打印hashcode的时候并不相同,这种结构在修改元 阅读全文
摘要:
首先根据定义,先序的第一个元素为根节点,由于规定元素没有重复,所以可以根据根节点数值来将中序遍历数组中左右子数分开。 同时根据左右子数的个数继续拆分对应的先序数组,递归左右子树得到结果 阅读全文
|