java
文章平均质量分 88
静心不浮躁
这个作者很懒,什么都没留下…
展开
-
基于JetCache --单Entity缓存 查询增强的一种方式
直接入主题,先说引用和使用方法引用root pom <parent> <groupId>com.weishi</groupId> <artifactId>weishi-root-pom</artifactId> <version>experiment-1.0.9-RELEASE</version> </parent>...原创 2021-01-27 17:45:24 · 506 阅读 · 0 评论 -
JetCache -- CacheResult 介绍
序言程序的灵魂是数据结构和算法我们从数据结构出发了解,jetCache 的整体设计, 我们知道 Cache 简单来说就是 一个 Map<K,V> 承载的 一个 hash结构, 但是这样的话,我们通过 key 来拿到 value ,就不能拿到其他很多的信息。而且往往通过 map.get(key) 拿到的value 往往隐含的一个事实,就是这个是一个同步操作,不能利用到异步的优点,从get 方式我们看不出异步的好处,但是从put 的方式,我们很容易看到异步的好处,要是...原创 2020-11-12 14:35:37 · 678 阅读 · 0 评论 -
JetCache-- 从 Config查看其衍生出的特殊功能
序言从jetCache 中,查看几个特色功能,例如 loader ,当cache 没有数据时候,怎么进行loader 取出数据refreshCache ,怎么定时刷新cache,当然是从loader cache 中取怎么合理利用proxy 模式组合怎么进行moniter 事件通知这几个专题可能需要多篇来解释正文我们还是从Cache 接口中看起 /** * Get the config of this cache. *...原创 2020-11-12 14:33:57 · 441 阅读 · 0 评论 -
JetCache系列 -- Cache 的使用场景和其详细使用
序言本文,我想详细地讲讲缓存的使用。我们都知道,根据现代计算机存储介质的不同,我们引入了Cache 这个概念, Cache 在计算机芯片, 各级内存,硬盘,乃至于各种软件设计中都是非常常见的,Cache 使用的好,能够合理分层,我们能解决百分之八十以上的性能问题,由于目前大部分的互联网服务应用都是 重io为主的服务,所以 网络服务的质量和速度 跟缓存的使用有着密不可分的关系。这节会结合 各种场景下 缓存的使用,推荐一些最佳的使用场景,结合JetCache 达到一种比较边界的提升接口性能的代码编...原创 2020-11-12 14:32:00 · 7374 阅读 · 0 评论 -
JetCache 系列 -- JetCache的优势
内部集成了 caffeine Cache 比较优秀的本地cache 方案 redis lettuce ,基于nio的远程 redis 客户端 特点可设置多级缓存,不用每次缓存都走 远端cache 方便的注解使用,和非注解使用方式 有cache 命中的统计数据...原创 2020-11-12 14:30:59 · 1489 阅读 · 0 评论 -
redis 客户端 -- lettuce 介绍
序言本文意在介绍 redis 的非阻塞客户端 lettuce 的用法,比起jedis 客户端来说, lettuce 的异步特性和 底层的 nio 异步加持,显得 更加好用且高性能。正文关于远程 客户端 代码连接的通用设计的思考常见 客户端连接的通用逻辑,redis 客户端 lettuce 也遵循了通常的连接流程构建 连接 connect uri , 根据不同的客户端,schema 有所不同,类似 mysql 的连接schema 以 mysql::// 开始,而redis ...原创 2020-11-12 14:30:20 · 1393 阅读 · 0 评论 -
Java 编程规范 -- 易错精简版
Part 1 – 易错点-- edit by liudeyu,If you have any adivice or suggestion, please participate in the discussion命名规范方面:1. 【强制】 POJO 类中的任何布尔类型的变量, 都不要加 is 前缀,否则部分框架解析会引起序列化错误。说明: 在本文 MySQL 规约中的建表约定第一条,表达是与否的值采用 is_xxx 的命名方式,所以,需要在<resultMap>设置从 ..原创 2020-08-10 17:49:20 · 1215 阅读 · 0 评论 -
Zookeeper源码解析 -- 本地持久化之快照持久化
序言本章的关键词是 SnapShot, FileSnap 实现, 以及实现日志 TxnLog和SnapShot接口的 FileTxnSnapLog ,通过 这几个接口的进行持久化和加载持久化到内存的一些操作。其间涉及 关键数据结构,zk的树形存储结构的设计DataTree 和节点 DataNode,ACL等结构的解说正文zk 里面持久化有两种方式,一种是全量 持久化,一种是增量持久化, 这两种持久化的方式,在其他组件的设计方案里面也有见到,因为全量持久化解决的是持久化...原创 2020-07-31 13:33:39 · 389 阅读 · 0 评论 -
我们与库开发者,代码质量的距离
我们与库开发者,代码质量的距离浅谈 ImmutableMap 的设计通过阅读jdk中的Map接口,发现好的库代码,从接口就设计的很好,这里的很好是指,能够以接口对接口的理念来设计整个协作过程。然后学习点,泛型的广泛使用,如何进行高层次代码复用,很多时候依靠好的设计和泛型代码的设计 public static <K extends Comparable<? super K>, V> Comparator<Map.Entry<K,V>> comparin原创 2020-07-10 11:19:00 · 149 阅读 · 0 评论 -
Zookeeper源码解析 -- 本地事务日志持久化之FileTxnLog
序言在各个分布式组件中,持久化数据到本地的思想并不少见,为的是能保存内存中的数据,以及重启后能够重载上次内存状态的值。那么如何行之有效的进行,内存数据持久化到磁盘,怎么样的落盘策略合适,怎么设计持久化数据格式,如何进行记录的日志文件大小扩容,以及如何加载回磁盘数据到内存中,这么一些问题就是值得思考的问题了。 2. 通过这篇文章的分析,我们能够看到一些持久化数据的基本原则,以及一些如何行之有效写数据到磁盘的方式方法(例如 利用稀疏文件,文件空洞,来进行文件大小的占位和填充),以及一些持久化本...原创 2020-07-02 21:15:45 · 596 阅读 · 1 评论 -
Zookeeper源码解析 -- 序列化和解序列化器
序言:1. 序列化器在各个常见库中都是不可或缺的一部分,不管是通过json,probuff,还是zk 中用到的jute设计, 通过阅读序列化器和反解析器,我们能从中得到怎样的工程写法和工程设计的思路,这些是值得总结的。2. apache jute 包下的解析器和反解析器,用到的把解析分散化到个体的设计思路值得学习,具体表现有 不同的bean 的序列化和反序列化应该是要放其本身的类定义里面,通过接口往外暴露序列,反序列化方法,代码从集中式管理到分散式管理,提取出接口统一对外调用...原创 2020-06-24 16:38:50 · 297 阅读 · 0 评论 -
java 学习总结
java学习总结java 语言特性相关构造器相关 继承时候,如果默认构造器无任何参数,编译器会默认调用父类构造器,如果子类构造器 有参数,那就必须显式调用父类构造器构造器有多种时候,常用的是调用已有构造器,若构造器实在太多时候,应考虑工厂方法(多用于父类子类一系列),再设置参数 java 内存回收相关Java 中只需简单地忘记对象,不需强行破坏它们。垃圾收集器会在必 要的时候自动回收内存原创 2017-03-19 13:52:51 · 385 阅读 · 0 评论