源码篇
文章平均质量分 59
木子丶Li
一只不断成长的JAVA后台攻城狮
展开
-
snakeyaml1.x升级2.x导致项目启动报错
snakeyaml1.x升级2.x导致项目启动报错原创 2024-02-29 17:12:16 · 1845 阅读 · 1 评论 -
SpringCloud(三) 自定义Ribbon轮询算法
前言在日常的项目中,负载均衡基本上都是采用默认的loadBalance,今天便根据源码,手写轮询算法去实现负载均衡。先上loadBalance源码:new AtomicInteger (0) 便于后面原子操作reachableServers 表示有心跳的服务,即在注册中心正常的服务。allServers 表示所有的服务。nextServerIndex: 通过自旋获取实际请求服务的下标server:实际调用的服务自旋锁实现CAS,获取请求次数,用于服务集合下标改造,手撸代码实现轮询:原创 2021-05-06 16:53:43 · 273 阅读 · 1 评论 -
源码篇-JDK9对String类的优化改进
JDK9对String类做了优化改进,具体如下:JDK8源码:当我们new一个String对象时,对应的字符串其实是以char数组的形式存储在String对象内部。而这个char数组是final的,也就是说不可变的。这也就是为什么我们说String字符串拥有不可变的特性,当字符串改变了,char数组不可变,就只能创建一个新的对象,新的char数组了。JDK9源码:可以看到JDK9将char数组改成了byte数组。在程序中,绝大多数字符串只包含英文字母数字等字符,使用Latin-1编码,一个字符原创 2021-04-28 18:43:56 · 359 阅读 · 0 评论