
java后端
文章平均质量分 68
yuzhihaojia
这个作者很懒,什么都没留下…
展开
-
Java面试题
注:带(可选)的需要根据应聘人情况酌情考察。数据结构map的底层存储结构- 数组、hash冲突后追加链表,链表太长了转红黑树ConcurrentHashMap线程安全实现机制- 以前是分段锁(减少锁冲突)- 现在是CAS实现多线程jdk中乐观锁有哪些实现线程池JDK语法你怎么理解函数式接口?Function, Supplier,Consumer 如何使用?JVM了解哪些垃圾回收算法,JVM的垃圾回收机制什么是堆外内存(Direct Memory)设计模式原创 2022-01-28 17:08:31 · 1455 阅读 · 0 评论 -
Mysql JSON索引与关联查询
Mysql JSON索引与关联查询原创 2022-01-28 11:17:07 · 6435 阅读 · 0 评论 -
GenericObjectPool连接池
最近项目中使用Spring data redis + lettuce管理redis连接,其通过GenericObjectPool管理连接池,具体lettuce怎么用的连接池暂不考虑,仅关注池对象(连接)是如何管理的原创 2022-01-28 11:10:36 · 1967 阅读 · 0 评论 -
Guava Cache 如何防止缓存击穿
GuavaCache基本用法如果我们需要对从db获取的数据增加本地缓存,缓存10s过期,用guava cache很简单:初始化一个Cache对象,定义load方法,或者在获取值的时候传一个load方法即可// 定义cacheCache<String, Object> cache = CacheBuilder.newBuilder().maximumSize(100).expireAfterWrite(10L, TimeUnit.SECONDS).build();// 获取,如果没取到则原创 2021-10-12 14:20:27 · 1071 阅读 · 0 评论 -
Zookeeper Curator实现订阅通知
Curator简介Curator是zookeeper的一个开源工具包,屏蔽调很多底层代码细节,简单的说就像Guava跟jdk的关系一样。通过zk实现一个通知发布机制目标功能:在分布式系统中,某个服务改变了一个状态,需要通知其他所有的服务进行一个刷新操作。比如管理端更新了某个资源,所有使用了该资源的服务,都需要刷新一下缓存。分析步骤:利用zk的节点状态变更监听机制实现:将同一类的资源注册到同一个zk的path下面,需要刷新的服务监听这个path。从代码实现上考虑大概这几个事情1.定义一个ZkMa原创 2021-10-11 17:37:28 · 805 阅读 · 2 评论 -
Spring Gateway 使用小记
Predicate 和 Filter简单的说:predicate用于对请求进行判断(断言),Filter用于对请求进行处理。对于一般的转发请求操作,用Spring Gateway自带的 Predicate 和 Filter配合使用基本上就足够了。可以参考Spring gateway 官方文档比如,假如我需要通过path和header做转发当请求 http://${gateway-url}/some-api,我们希望将它转发到服务some-api上。可以直接这么配置: # 满足Path以s原创 2021-10-11 14:35:13 · 749 阅读 · 0 评论