Loading

上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要: 前提 最近的新项目和数据同步相关,有定时调度的需求。之前一直有使用过Quartz、XXL-Job、Easy Scheduler等调度框架,后来越发觉得这些框架太重量级了,于是想到了Spring内置的Scheduling模块。而原生的Scheduling模块只是内存态的调度模块,不支持任务的持久化或者 阅读全文
posted @ 2020-04-01 23:55 throwable 阅读(6491) 评论(4) 推荐(2) 编辑
摘要: 前提 近段时间,业务系统架构基本完备,数据层面的建设比较薄弱,因为笔者目前工作重心在于搭建一个小型的数据平台。优先级比较高的一个任务就是需要近实时同步业务系统的数据(包括保存、更新或者软删除)到一个另一个数据源,持久化之前需要清洗数据并且构建一个相对合理的便于后续业务数据统计、标签系统构建等扩展功能 阅读全文
posted @ 2020-03-13 00:45 throwable 阅读(20726) 评论(7) 推荐(5) 编辑
摘要: 前提 已经很久没深入研究过算法相关的东西,毕竟日常少用,就算死记硬背也是没有实施场景导致容易淡忘。最近在做一个脱敏数据和明文数据匹配的需求的时候,用到了一个算法叫Levenshtein Distance Algorithm,本文对此算法原理做简单的分析,并且用此算法解决几个常见的场景。 什么是Lev 阅读全文
posted @ 2020-03-08 21:35 throwable 阅读(5156) 评论(0) 推荐(1) 编辑
摘要: 前提 前面通过五篇文章基本介绍完JSR-310常用的日期时间API以及一些工具类,这篇博文主要说说笔者在生产实战中使用JSR-310日期时间API的一些经验。 系列文章: JSR310新日期API(一)-时区与时间偏移量 JSR310新日期API(二)-日期时间API JSR310新日期API(三) 阅读全文
posted @ 2020-03-03 23:51 throwable 阅读(1356) 评论(0) 推荐(0) 编辑
摘要: 前提 作为Java开发者,很多场景下会使用SpringBoot开发Web应用,目前微服务主流SpringCloud全家桶也是基于SpringBoot搭建的。SpringBoot应用部署到服务器上,需要编写运维管理脚本。本文尝试基于经验,总结之前生产使用的Shell脚本,编写一个可以复用的Spring 阅读全文
posted @ 2020-03-01 22:07 throwable 阅读(1253) 评论(0) 推荐(4) 编辑
摘要: 前提 最近在看JUC线程池java.util.concurrent.ThreadPoolExecutor的源码实现,其中了解到java.util.concurrent.Future的实现原理。从目前java.util.concurrent.Future的实现来看,虽然实现了异步提交任务,但是任务结果 阅读全文
posted @ 2020-02-16 23:42 throwable 阅读(1139) 评论(0) 推荐(1) 编辑
摘要: 前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行Debug。 本文主要介绍反射中一个比较难的问题-泛型。 泛型的简介 泛型是在2004年JavaSE 阅读全文
posted @ 2020-02-16 10:55 throwable 阅读(1387) 评论(1) 推荐(1) 编辑
摘要: 前提 最近接触到的一个项目要兼容新老系统,最终采用了ThreadLocal(实际上用的是InheritableThreadLocal)用于在子线程获取父线程中共享的变量。问题是解决了,但是后来发现对ThreadLocal的理解不够深入,于是顺便把它的源码阅读理解了一遍。在谈到ThreadLocal之 阅读全文
posted @ 2020-02-14 12:45 throwable 阅读(1213) 评论(1) 推荐(2) 编辑
摘要: 背景 最近在做一个新项目的时候引入了一个架构方面的需求,就是需要检查项目的编码规范、模块分类规范、类依赖规范等,刚好接触到,正好做个调研。 很多时候,我们会制定项目的规范,例如: 硬性规定项目包结构中service层不能引用controller层的类(这个例子有点极端)。 硬性规定定义在contro 阅读全文
posted @ 2020-02-12 09:46 throwable 阅读(3138) 评论(0) 推荐(4) 编辑
摘要: 前提 回想一下,JDK8是2014年发布正式版的,到现在为(2020-02-08)止已经过去了5年多。JDK8引入的两个比较强大的新特性是Lambda表达式(下文的Lambda特指JDK提供的Lambda)和Stream,这两个强大的特性让函数式编程在Java开发中发扬光大。这篇文章会从基本概念、使 阅读全文
posted @ 2020-02-09 18:18 throwable 阅读(983) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页