南京网景微讯网络科技有限公司技术文章

面向信仰编程
领域驱动设计漫谈
摘要: DDD简介 领域驱动设计(Domain Driven Design),软件核心复杂性应对之道。 Fred Brooks 在经典著作《人月神话》中对于软件复杂度有着精彩的论述,他将软件复杂度分为本质复杂度(Essential Complexity)和偶然复杂度(Accidental Complexit)
Mybatis3 Dynamic Sql实践
摘要: 背景 最近在做项目的时候,需要用到多表关联查询,关联的表和查询的条件都是不确定的,且可能会有非常复杂的查询场景,导致查询条件会很复杂,在这种场景下,sql模版是不确定的,所以传统的MyBatis3风格(即经常用的xml风格)或者MyBatis3Simple风格的sql模版框架就显得力不从心
Java实现锁、公平锁、读写锁、信号量、阻塞队列、线程池等常用并发工具
摘要: 锁的实现 锁的实现其实很简单,主要使用Java中synchronized关键字。 公平锁的实现 上面的锁的实现严格意义上说是会存在线程饥饿现象的(也就是说在多线程竞争的条件下,存在一种极端情况,即某个线程一直阻塞在锁上,永远都是其他线程被优先唤醒,导致自己得不到执行)。
自己动手实现一个轻量级的RPC框架
摘要: 前言 最近学习RPC的时候,自己手动写了一个简易的RPC框架,以下是这个项目的README: 简介 Java语言编写的一个轻量级的RPC框架,基于TCP协议,与SpringBoot集成,让远程调用像本地调用