自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (23)
  • 收藏
  • 关注

原创 整洁架构读书笔记(Clean Architecture)

又称干净的架构The Clean Architecture,这是著名软件工程大师Robert C Martin提出的一种架构整洁清晰之道,也是当前各种语言开发的目标架构。干净、清晰、整洁的架构应该只包含单向的依赖关系,这样才可以在逻辑上形成一种向上的抽象系统。我们经常听说过如下各种架构:六边形架构Hexagonal Architecture (也称为 端口和适配器) 这是由Alistair C...

2020-03-23 18:10:35 2606

原创 Docker 概念原理,常用操作(持续更新)

什么是dockerDocker vs. Virtual macheineDocker 架构镜像操作容器操作和生命周期进入容器内部外部网络访问容器容器通信容器数据管理

2020-03-01 18:29:55 145

原创 Archunit学习笔记

2020-04-25 07:20:11 312

原创 DDD战术实现 - code level

包结构:尽量使用有意思的命名,少用String,Integer,BigDecimal定义JSF:JPA:

2020-04-20 07:34:53 362

原创 Git Rebase vs Merge, GIt Reset vs Revert

Git merge vs Rebase构造场景如下:https://zhuanlan.zhihu.com/p/29682134?utm_source=wechat_sessionGit Rest & Revert在自己的分支上可以使用git reset, 如果是公共分支建议使用git revert,这样可以记录历史。Rest是指针的移动,revert是把回退当作一次...

2020-04-09 08:28:37 336

原创 Spring Boot2 Security JWT(持续更新)

文章目录JWT入门例子整合Springboot整合数据库JWT入门例子整合Springboot整合数据库

2020-04-08 09:19:39 586

原创 AWS学习笔记(持续更新)

简单应用部署全站加速——使用 Amazon CloudFront 加速内容分发

2020-04-07 21:22:13 961

原创 K8S学习笔记(持续更新)

K8S架构

2020-04-04 18:45:39 124

原创 springboot2.x 使用Mockito编码完成接口测试

Spring context Mockito demoSpring上下文测试注解方法说明Servlet容器环境的测试轻量级测试Mock MVC更多用法

2020-03-29 10:07:29 509

原创 BFF架构设计与网关的演进

介绍BFF是(Backends For Frontends)单词的缩写,主要是用于服务前端的后台应用程序,来解决多访问终端业务耦合问题。最近在公司的微服务架构中遇到了一些多终端访问接口的问题,不同的终端拥有不同的接口服务,有不同的操作数据的能力,针对这种业务场景做出了调研,我们是否可以在不同的访问层进行业务逻辑处理,获取不同的数据内容呢?早在微服务出现的初期就已经存在类似的业务需求出现,而且...

2020-03-25 21:29:57 2680

原创 AWS 私有VPC访问互联网 & S3 VPC EndPoint(VPCE)

一般情况下我们首选NAT Gateway的方式来访问互联网

2020-03-24 16:00:03 3178

原创 架构解决方案与融合(DDD, 六边形,洋葱,整洁,事件驱动,CQRS,SOA,Mircoservice, C4)

领域驱动设计和实践https://www.jianshu.com/p/c62d9afe3132六边形架构(端口和适配器架构)设计和实践https://www.jianshu.com/p/c2a361c2406chttps://www.jianshu.com/p/f39f4537857e洋葱架构https://www.jianshu.com/p/d87d5389c92a整洁架构htt...

2020-03-23 22:44:52 1777

原创 AWS S3存储服务

存储桶权限性能调优防盗链可以参考 https://blog.csdn.net/myarche/article/details/103990437

2020-03-19 18:16:00 172

原创 Clean code 内容总结

第一章 整洁代码在正式开始之前,我们先思考几个几个问题:1.需求与代码哪个重要?答:并不是所有的产品都能提出合理的需求,当你面对一个提出不合理需求的产品的时候,你需要坚持自己的原则,不能妥协。2.易读和易懂是一回事吗?答:易读的代码和易懂的代码是有区别的,不是易读的代码就是易懂的代码。3.什么是测试驱动代码?答:测试驱动代码,你写的代码要可以执行单元测试。如果你发现你的代码很难写单元...

2020-03-16 21:49:59 946

原创 Clean Code学习笔记

代码的视角代码的坏味道代码的好味道注释与函数圈复杂度创建子函数重构复杂表达式Clean Code与性能变量高质量函数的十个一其他...

2020-03-14 21:39:56 400

原创 团队扩张时的能力构建和质量保证

文章目录如何完成新人能力构建新人Onboarding流程CheckPointHOMEWORK让新人通过作业来学习,完成测试用例新人状态跟踪人才梯队构建激活团队氛围,形成只是分享突然如何完成新人能力构建新人Onboarding流程CheckPointHOMEWORK让新人通过作业来学习,完成测试用例可以多加强视频和文档化培训资料基于项目级别的项目代码练习新人状态跟踪定期回顾...

2020-03-12 20:31:14 273

原创 jdk1.8 Java8新特性使用汇总

内容1. 接口和日期default关键字base64加解密API时间日期处理理类2. Lambda表达式 函数式编程 集合框架 收集器器和集合统计1. 接口和日期default关键字在jdk1.8以前接口里里面是只能有抽象方法,不不能有任何⽅方法的实现的。jdk1.8里面打破了了这个规定,引入了了新的关键字default,使用default修饰方法,可以在接口里里面定义具体的方法实现默认...

2020-03-12 08:26:07 765

原创 Springboot在RestController中获取各种相关信息的⽅方法

2020-03-08 11:28:56 270

原创 Springboot全局异常处理器 @RestControllerAdvice @ExceptionHandler

一、目标:弄懂为什么springboot需要《全局异常处理器》?编码实战一个springboot《全局异常处理器》封装一个自定义异常 ,并集成进《局异常处理器》把《全局异常处理器》集成进《接口返回值统一标准格式》二、springboot为什么需要全局异常处理器?先讲下什么是全局异常处理器?全局异常处理器就是把整个系统的异常统一自动处理,程序员可以做到不用写try…catch那...

2020-03-08 10:30:25 578

原创 XA两阶段提交协议 - 手写XA, Atomikos 与 Spring boot 集成

因为事务需要实现ACID,即原子性、一致性、隔离性、持久性,所以需要采用一定的机制来保证,通常采用的是分阶段提交的方式。XA:XA协议,规定事务管理器和资源管理器接口,采用二阶段提交协议。一阶段提交协议一阶段提交协议相对简单。当然,前提是开启了事务,然后在应用程序发出提交/回滚请求后,数据库执行操作,而后将成功/失败返回给应用程序,程序继续执行。一阶段提交协议相对简单,简单带来的优点就是,...

2020-03-01 23:57:45 853

原创 ELK 的原理和架构

2020-03-01 23:05:13 458

原创 Redis缓存失效

因为缓存失效,从而导致大量的请求怼到数据库。1、大量请求,导致数据库处理不过来,整个系统依赖数据库的功能,全部崩溃;2、单系统挂掉,其它依赖于该系统的应用也会出现不稳定,甚至崩溃;显然,不能在生产环境出现这个问题。一般,这么几种情况可能出现缓存失效。1、数据淘汰,LRU/LFU,最大内存阈值,依据内存使用情况淘汰掉旧的数据;2、数据过期 expire,超过时间了,缓存就没了。3、服务...

2020-02-28 22:28:32 382

原创 Redis缓存和MySQL数据一致性

1、需求起因在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数据库(MySQL)间...

2020-02-28 22:24:32 719

原创 redis集群方式

主从复制相当于所有的写请求,都交给master,再同步到各个slave节点,确保数据一致。主节点挂了就麻烦了,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性。哨兵这个时候哨兵就出现了,为了解决单个主节点挂掉的问题,就搞多个主节点,相互之间哨兵机制监视起来。哨兵的作用就是监控Redis系统的运行状况,功能如下:1、监控主服务器和从服务器是否正常运...

2020-02-28 22:03:08 134

原创 Redis 缓存击穿

缓存击穿和避免方式比如,访问不存在的数据。针对高并发的场景,常用的读都会命中缓存。而如果去查不存在的数据呢?如果还照着原来的设计,就会不停的去查数据库。这就是缓存击穿. 有什么方式可以避免呢?空对象做缓存,有一定道理,但如果成千上万的过来,就占缓存空间了不是数据库里面一直是空值,缓存也为空,后面的请求不都又到数据库了嘛.问题的本质,就是判断集合中是否存在某个元素。把所有数据都放到内存,这肯...

2020-02-28 21:57:20 104

原创 Spring Boot RabbitMQ 原理与编程实现图解

2020-02-26 23:00:46 89

原创 Redis集群原理和搭建

一个系统建立集群主要需要解决两个问题:数据同步问题和集群容错问题。1. Naive方案一个简单粗暴的方案是部署多台一模一样的Redis服务,再用负载均衡来分摊压力以及监控服务状态。这种方案的优势在于容错简单,只要有一台存活,整个集群就仍然可用。但是它的问题在于保证这些Redis服务的数据一致时,会导致大量数据同步操作,反而影响性能和稳定性。2. Redis集群方案Redis集群方案基于分而...

2020-02-26 15:48:23 95

原创 Spring Boot 异步框架@Async @EnableAsync

一、现实场景在现实的互联网项目开发中,针对高并发的请求,一般的做法是高并发接口单独线程池隔离处理。假设现在2个高并发接口:一个是修改用户信息接口,刷新用户redis缓存.一个是下订单接口,发送app push信息.设计解决方案用于[刷新用户redis缓存]和[发送app push信息]二、为什么要用异步框架,它解决什么问题?在SpringBoot的日常开发中,一般都是同步调用的。但经...

2020-02-25 23:32:34 234

转载 lombok 注解 @Data @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode

官方文档:@EqualsAndHashCode原文中提到的大致有以下几点:此注解会生成equals(Object other) 和 hashCode()方法。它默认使用非静态,非瞬态的属性可通过参数exclude排除一些属性可通过参数of指定仅使用哪些属性它默认仅使用该类中定义的属性且不调用父类的方法可通过callSuper=true解决上一点问题。让其生成的方法中调用父类的方法。...

2020-02-25 22:17:53 631

原创 Springboot 加入JMX监控

Springboot Java Application启动脚本,配置-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=<<port>> -Dcom.sun.management.jmxremote.password.file=<<path>> -Dcom....

2020-02-19 15:00:16 1085

原创 springboot启动流程及原理

springboot启动入口类@SpringBootApplicationpublic class SpringBootWebApplication { public static void main(String[] args) { SpringApplication application = new SpringApplication(SpringBootWebA...

2019-12-26 23:36:51 1958

原创 获取JAVA接口的所有实现类

前言:想看基于spring 的最简单实现方法,请直接看 第七 八步。本文价值在于 包扫描的原理探究和实现; 参考自https://www.cnblogs.com/wangzhen-fly/p/11002814.htmlhttps://www.cnblogs.com/heaveneleven/p/9125228.html一、背景项目开发中,使用Netty做服务端,保持长连接与客户端(agen...

2019-12-24 17:49:34 2501 1

原创 Java BigDecimal使用

Java BigDecimal使用Why商业计算往往要求结果精确浮点计算的问题其实java的float只能用来进行科学计算或工程计算,在大多数的商业计算中,一般采用java.math.BigDecimal类来进行精确计算。BigDecimal构造方法public BigDecimal(double val) 将double表示形式转换为BigDecimal *不建议使用pu...

2019-12-24 15:15:39 225

Screen 2 Exe 1

Screen 2 Exe 1

2017-01-08

junit common test case just for my test

junit test

2016-11-09

构建高性能web站点.pdf

构建高性能web站点.pdf,一本知道web开发的好书,对理解web开发很有意义。

2014-11-21

jprofiler工具

jprofiler工具

2013-03-28

hibernate jar

hibernate jar

2013-03-26

JProfiler使用说明

JProfiler使用说明,很详细里面有操作步骤。

2013-03-24

jprofiler简介

jprofiler简介.doc

2013-03-24

JAVA线程池原理以及几种线程池类型介绍

JAVA线程池原理以及几种线程池类型介绍

2013-03-24

JAVA多线程编程详解-详细操作例子

JAVA多线程编程详解-详细操作例子,如何使用多线程进行编写,新增jdk1.5的线程池技术

2013-03-24

struts-2.3.12的所有包和实例,API,源码

struts-2.3.12的所有包和实例,API,源码也有

2013-03-21

mysql的驱动jar包

mysql的驱动jar包,需要开发用的同学可以使用哈。

2013-03-20

mysql5.5.27_win32_zol的安装包

mysql5.5.27_win32_zol的安装包,需要的同学请下载吧

2013-03-20

计算机密码学及其应用.pdf

计算机密码学及其应用,难得的密码学学习与实践的资料好好研究吧!

2010-05-05

超级全密码学教材配套PPT324.zip

超级全密码学教材配套PPT324密码学,教材,ppt

2010-05-05

EditPlus v3.10中文破解版(经典zde).rar

EditPlus v3.10中文破解版(经典,中的经典!)

2010-05-05

所有有关HASH函数的论文

所有有关HASH函数的论文,hash,安全散列算法,值得参考有几十篇关于密码学的论文

2010-05-05

恒生电子最新杭州成都笔试题

这是我搜集的最新恒生笔试题,恒生电子最新杭州成都笔试题,谢谢大家!

2009-10-31

阿里巴巴2010年笔试面试题

这里面是阿里巴巴2010年笔试面试题,可以获知今后几场的笔试趋势,好好研究下吧!

2009-10-28

软件设计师2009考纲考题

该文件里有2009年软件设计师的考纲和一些试题,可供考取软件设计的同学们参考!

2009-05-10

哈弗曼编码的设计和实现

哈弗曼编码算法可用于压缩文件,这里实现了它,并生成了可执行文件!

2009-05-10

软件设计师考试大纲与培训指南(2009版).pdf

全国计算机技术与软件专业技术资格(水平)考试指定用书:全国计算机专业技术资格考试办公室

2009-03-15

制作PPT小图标汇总

制作PPT小图标汇总,使我们制作出的PPT更生动,形象,漂亮!!!

2009-03-14

最矩阵连乘 999备忘录法

动态规划+备忘录法 求最佳矩阵连乘 hh

2008-11-23

空空如也

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

TA关注的人

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