自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 中台战略=微服务+服务治理+组织架构

前言本文是对《企业IT架构转型之道——阿里巴巴中台战略思想与架构实战》的读书总结。不会涉及太多技术具体点,而是将本书的逻辑脉络和结论梳理出来,方便大家阅读(带有个人理解,请批判性的阅读)。已经读过该书或者在各种渠道了解中台后,本文可以帮忙梳理一下思路。没有读过该书或不了解中台,本文可以作为读书路线,不迷路。接下来我将按以下路线解读该书:问题 —— 方案 —— 实现—— 总...

2019-05-24 15:16:03 3599

原创 优雅地实现定时任务——记住这三点就够

前言定时任务=调度+执行调度有很多框架实现:elastic-job、quartz等执行需要程序员实现任务队列。实现任务队列有很多方式:数据库、redis、kafka实现任务队列虽然很简单,但稍有不慎,也很容易出问题。代码实现首先把问题简单化,假如需要在单库实现定时任务,我们逐步实现优化代码第一次实现public void execute1() { List&l...

2019-05-04 18:57:36 1571

原创 用Github Pages做个人博客

这里注意 jekyll server 和 bundle exec jekyll serve 两个的区别是前者基本本地 Jekyll 版本启动服务,后者基于目录下的 Gemfile 文件启动服务,所以我们要用后者。注意_post文件夹是放博客的,博客名称有强制规则,YEAR-MONTH-DAY-title.MARKUP。访问,后者不能使用zoe.github.io访问,而是spumetime.github.io/zoe.github.io。如果你不在本地部署个人博客的话,Jekyll可以不用了。

2025-06-08 22:37:23 1187

原创 lambda$groupingBy 空指针问题

开发功能时,用到了stream的collect(Collectors.groupingBy)方法,一直报NullPorintException,废了一些时间来定位问题,虽然最后其实比较简单。记录一下,以下代码会报空指针 public static void main( String[] args ) { List<Student> list=new ArrayList<>(); list.add(new Student("A",

2020-10-14 17:42:00 3420

原创 三年工作后的一些感悟

学了七年机械,17年硕士毕业。毕业其实也不知道自己能做什么,在找工作的时候提前三月将一本JAVA入门看了几遍,要说自己懂JAVA,我自己都不好意思。投过机械设计岗、产品岗、JAVA岗等,最后只有一个中厂(某个行业的NO1)要了我,从事JAVA开发。入职三年,我一直想找到当初面试我技术的面试官,问问他是看重我哪一点,让我通过了面试。记得当时面试官问我问题,我直接回答不知道,说我就知道几个从书上背下来的答案,什么面向对象,AOP啥的。看我很多不知道,面试官就开始问一些譬如你在硕士做得最成功的一件事是什么?如

2020-08-16 21:38:52 1368

原创 Redis分布式锁项目实践

实现方案:1. setNx(set if not exist),这个是原子操作;2. 加锁了之后如果机器宕机那么这个锁就不会得到释放,所以要加入过期时间,而且加入过期时间需要和setNx同一个原子操作;在Redis2.8之前我们需要使用Lua脚本达到我们的目的,但是redis2.8之后redis支持nx和ex操作是同一原子操作。3. 使用ShardedJedis实现。加锁: ...

2020-01-09 13:00:16 361

原创 MYSQL分区表如何保证数据唯一性

背景:由于业务数据量大,采用了分库分表(Mycat);为了提高查询效率,使用了时间来分区;分区之后表的唯一索引必须带上分区字段。假设有一张订单表(table_order)业务字段为order_no(订单号),分区字段为create_tm(创建时间);唯一索引就是联合索引order_no+create_tm。问题:分布式系统中多个节点,对同一订单并发处理,发现table_order中...

2019-12-19 11:31:57 3081 1

原创 一次Mycat聚合排序问题定位

背景:Mycat+Mysql实现分库分表;功能需要遍历表,数据量有点大,于是通过id排序分页查询。问题:在实现过程中发现有部分id查不出来,功能排期只能被迫延后。定位第一阶段:在确认了代码和SQL语句没有问题后,目光转至Mycat与Mysql排序逻辑上来。定位第二阶段:确认了Mycat与Mysql排序逻辑有问题,至少Mycat与Mysql排序逻辑表现不一致。1.执行...

2019-11-20 14:20:56 882

翻译 Guava Cache官网个人翻译

示例LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder() .maximumSize(1000) .expireAfterWrite(10, TimeUnit.MINUTES) .removalListener(MY_LISTENER) .build( ...

2019-10-17 21:01:51 432

原创 架构设计方法之一:分析系统复杂度

书名:《从零开始学架构》最主要是提出了一种观念,架构是为了应对系统复杂度;以及一个先分析系统复杂度来指导架构设计方法。下图是书本脑图PS:本书涉及的其它点CAP理论Consistency 一致性 Availability 可用性 Partition tolerance 分区容忍性Eric Brewer 说,这三个指标不可能同时做到。这个结论就叫做 CAP 定理。...

2019-05-30 19:02:20 676

原创 “要不你来改?”——多么痛的领悟

项目小组一个新项目做了差不多一年,从第三个月开始,我就发现代码设计层面的漏洞。如果我觉得有必要,我就会指出来。但是每次向团队研发人员指出,他们总是说“时间紧、任务重,下次再改。”——绝望后来如果我认为代码问题比较严重,影响到后期维护,研发人员还是说“要不你来改?”。我就会当着研发人员的面向研发负责人提出我的想法和疑问,让研发负责人定夺。再后来,研发负责人也不太管了。为了项目进度,甚至代码评...

2018-12-12 11:47:31 415

原创 CXF报错解决

NoSuchMethodError-&gt;JaxWsServiceFactoryBean.isWrapperPartQualified报错堆栈:Caused by: java.lang.NoSuchMethodError: org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.isWrapperPartQualified(Lorg/ap...

2018-12-05 15:16:46 2129 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除