- 博客(14)
- 收藏
- 关注
原创 不能错过的分布式ID生成器(Leaf-,Java面试问项目
Leaf的优势:高可靠、低延迟、全局唯一等特点。目前主流的分布式ID生成方式,大致都是基于数据库号段模式和雪花算法(snowflake),而美团(Leaf)刚好同时兼具了这两种方式,可以根据不同业务场景灵活切换。接下来结合实战,详细的介绍一下Leaf的Leaf-segment号段模式和Leaf-snowflake模式一、 Leaf-segment号段模式Leaf-segment号段模式是对直接用数据库自增ID充当分布式ID的一种优化,减少对数据库的频率操作。相当于从数据库批量的获取自增ID,每次从数
2021-08-10 23:06:00
369
原创 不能错过的分布式ID生成器(Leaf-(2),Java入门视频教程
目前主流的分布式ID生成方式,大致都是基于数据库号段模式和雪花算法(snowflake),而美团(Leaf)刚好同时兼具了这两种方式,可以根据不同业务场景灵活切换。接下来结合实战,详细的介绍一下Leaf的Leaf-segment号段模式和Leaf-snowflake模式一、 Leaf-segment号段模式Leaf-segment号段模式是对直接用数据库自增ID充当分布式ID的一种优化,减少对数据库的频率操作。相当于从数据库批量的获取自增ID,每次从数据库取出一个号段范围,例如 (1,1000] 代表
2021-08-10 23:04:51
220
原创 不能错过的分布式ID生成器(Leaf-(1),2021年五面蚂蚁
* 雪花算法模式 * @param key * @return */ @RequestMapping(value = “/api/snowflake/get/{key}”) p
2021-08-10 23:03:38
253
原创 不是吧,拥有百万粉丝的大牛讲述学Java的历程
/** * 表示 节点 * @param <K> * @param <V> */static class RBNode<K extends Comparable<K>,V>{ // 节点是双向的 private RBNode parent; private RBNode left; private RBNode right; private boolean color; priva
2021-08-10 23:02:31
103
原创 不是吧阿sir,字节跳动架构师讲解Java开发
IoC 容器是 Spring⽤来实现 IoC 的载体, IoC 容器实际上就是个Map(key,value),Map 中存放的是各种对象。将对象之间的相互依赖关系交给 IoC 容器来管理,并由 IoC 容器完成对象的注⼊。这样可以很⼤程度上简化应⽤的开发,把应⽤从复杂的依赖关系中解放出来。 IoC 容器就像是⼀个⼯⼚⼀样,当我们需要创建⼀个对象的时候,只需要配置好配置⽂件/注解即可,完全不⽤考虑对象是如何被创建出来的。2、Spring AOP,动态代理 AOP(Aspect-Oriented Pr
2021-08-10 23:01:18
90
原创 不是吧阿sir(1),手持4个大厂offer的我
主要是为了建立可靠的通信信道,保证客户端与服务端同时具备发送、接收数据的能力 为什么两次不行? 1、防止已失效的请求报文又传送到了服务端,建立了多余的链接,浪费资源 2、 两次握手只能保证单向连接是畅通的。(为了实现可靠数据传输, TCP 协议的通信双方, 都必须维 护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的。 三次握手的过程即是通信双方 相互告知序列号起始值, 并确认对方已经收到了序列号起始值的必经步骤;如果只是两次握手, 至多只 有连接发起方的起始序列号能被确认,
2021-08-10 23:00:08
112
原创 不搞定HR这3个问题,建议不要轻易跳槽,深入分布式缓存从原理到实践技术分享
“他懂个屁,论技术水平,技术总监都要高抬我一手,他一个人事,说不要就不要?”“老王啊,都快奔三的人了,怎么还这么大的脾气?”“我的技术水平圈子里的人都是有目共睹的是吧,这点你不否认吧?”“嗯嗯…”“我去面试一个技术岗,技术面的时候,谈技术功底、源码问题、项目经验等等,面试官都赞不绝口。我就纳闷了,人事面的时候,说我不适合这个岗位!”“……”老王,一个在职场上奋战了近十载的老程序员,技术水准确实没得说。他热爱学习,别人都说“活到老,学到老”,用他的话说“只有学到老,我才能活到老”。总之他什么都好
2021-08-10 22:59:04
109
原创 Java SPI机制分析,大厂Offer拿到手软啊
static { loadInitialDrivers(); println("JDBC DriverManager initialized");} private static void loadInitialDrivers() { String drivers; try { drivers = AccessController.doPrivileged(new PrivilegedAction<String>() {.
2021-08-07 20:30:15
100
原创 Java SPI机制分析(1),源码解读及如何保证线程安全
} if (configs == null) { try { String fullName = PREFIX + service.getName(); if (loader == null) configs = ClassLoader.getSystemResources(fullName); else...
2021-08-07 20:29:09
263
原创 Java ArrayList类深度解析,Java两年工作经验面试题
问题 1:ArrayList 的 size 和 capacity 怎么理解?如果把 ArrayList 看作一个杯子的话,capacity 就是杯子的容积,也就是代表杯子能装多少东西,而 size 就是杯子装的东西的体积。杯子可能装满了,也可能没装满,所以 capacity >= size 。capacity 过大和过小都不好,过大会造成浪费,过小又存放不下多个元素的值,capacity == size,则 ArrayList 空间利用率最大,但是不利于添加新的元素。当 ArrayList 实例.
2021-08-07 20:27:59
148
原创 J2EE基础集合框架之Map集合,linux系统使用入门
下面我将用两张图片来阐述泛型的作用:我新定义一个对象,不是按照对应的泛型来定义。(只有在运行时报错,给大家看一下错误)Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer at Map.Demo4.main(Demo4.java:24)错误的意思是无法将string类型转换为int类型)接下来我将把泛型定义好:大
2021-08-07 20:26:50
128
原创 I love 114514,Java数据结构与算法pdf百度云
OutputFor each test case, output a single line contain the answer for the test case.Sample Input、21145141919810Sample OutputAAAAAAAbuchulaile题解就是看那个字符串能不能找到 114514 作为子串#include<iostream>using namespace std;int main(){ int
2021-08-07 20:25:40
609
原创 HashMap + 软引用进行缓存,给2021的Java一些建议
@Overridepublic V put(K key, V value) { clearQueue(); // 创建 SoftNode对象 SoftNode softNode = new SoftNode(key, value, queue); // 返回key之前所对应的SoftNode对象,即oldSoftNode SoftNode oldSoftNode = temp.put(key, softNode); // 如果oldSoftNo
2021-08-07 20:23:28
163
原创 HashMap + 软引用进行缓存(1),Java传智播客笔记
SoftNode softNode = temp.get(key); return softNode == null ? null : (V) softNode.get();}@Overridepublic V put(K key, V value) { clearQueue(); // 创建 SoftNode对象 SoftNode softNode = new SoftNode(key, value, queue); // 返回ke...
2021-08-07 20:22:23
118
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人