上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要: 目前只有思路,过两天上代码。。。。。。 加权轮询 服务器 权重 A 5 B 3 C 2 1)总的权重是10,先随机出一个数字(肯定是10以内的数字) 2)然后遍历权重的数组[5,3,2]一个一个的去比较 核心代码 遍历ip 拿到权重weight if(offset<weight) return ip 阅读全文
posted @ 2020-08-25 01:16 palapala 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 数据隔离级别解决方案 第一种:在读取数据前,对其加锁,阻止其他事物对数据进行修改——Lock Based Concurrency Control(LBCC) 第二种:生成一个数据请求时间点的一致性数据快照(Snapshot),并用这个快照来提供一定级别的一致性读取 相对于第二种:第一种在读写的时候 阅读全文
posted @ 2020-08-22 23:27 palapala 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 二级缓存解决循环依赖 Spring创建一个对象的流程是 getBean() 实例化 填充属性 初始化 调用栈a中有属性b getBean("a") createBeanInstance("a") polulateBean("a") //如果a中依赖b bgetBean("b") createBean 阅读全文
posted @ 2020-07-26 02:02 palapala 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 对象从出生到消亡过程 这也是jvm堆内存结构的详情:参考jvm内存区域 新生代概念(三分之一) 新生代分为一个eden区和两个survivor区,默认的比例是8:1:1 eden区是我们new出来对象之后往里面扔的那块区,回收一次跑到survivor 新生代大量死去少量存活 采用复制算法 思考:为什 阅读全文
posted @ 2020-06-09 00:16 palapala 阅读(406) 评论(0) 推荐(1) 编辑
摘要: Spring Bean的生命周期 Bean的生命周期就是Bean创建—销毁—初始化的过程,这些都由容器管理 我们可以自定义销毁和初始化的方法,特别在配置数据源的时候很有用 @Bean(initMethod="init",destroyMethod="detory") public Car car() 阅读全文
posted @ 2020-05-26 19:29 palapala 阅读(1510) 评论(0) 推荐(1) 编辑
摘要: 栈的概述 栈 Stack Each Java Virtual Machine thread has a private Java Virtual Mahine stack, created at the same time as the thread. A Java Virtual Machine 阅读全文
posted @ 2020-05-14 23:50 palapala 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 线程的调度 线程的调度是指系统为线程分配处理器使用权的过程,主要调度方式有两种 协同式线程调度 线程执行时间由线程本身来控制,线程把自己的工作执行完了之后,要主动通知系统切到另一个线程上。 协调式多线程的最大的好处是实现简单,而且由于线程要把自己的事情干完之后才会进行线程切换,切换操作对线程自己是可 阅读全文
posted @ 2020-05-07 22:44 palapala 阅读(903) 评论(0) 推荐(0) 编辑
摘要: 通过代码计算对象的大小 先说结论:默认16个字节 工具JOL :Java Object Layout java对象布局 引入POM文件 <dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId> 阅读全文
posted @ 2020-05-02 00:06 palapala 阅读(3328) 评论(6) 推荐(0) 编辑
摘要: Synchronized底层实现 1)先在Idea下载一个ByteCode插件来观察java经过编译之后的字节码 public class TestSync { synchronized void m() { } void n() { synchronized (this) {//monitoren 阅读全文
posted @ 2020-05-01 18:47 palapala 阅读(2067) 评论(0) 推荐(0) 编辑
摘要: CPU的内存屏障(硬件层级) Intel的CPU内存屏障逻辑: sfence:save| 在sfence指令前的写操作当必须在sfence指令后的写操作前完成 两条指令,如果不想让它重排,在两条指令中间加一道屏障。即 屏障两侧的写指令不能重排 lfence:load| 在lfence指令前的写操作当 阅读全文
posted @ 2020-05-01 12:22 palapala 阅读(1309) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 ··· 10 下一页