摘要: DDD简介 领域驱动设计(Domain Driven Design),软件核心复杂性应对之道。 Fred Brooks 在经典著作《人月神话》中对于软件复杂度有着精彩的论述,他将软件复杂度分为本质复杂度(Essential Complexity)和偶然复杂度(Accidental Complexit 阅读全文
posted @ 2022-05-13 18:31 jeysin 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 背景 最近在做项目的时候,需要用到多表关联查询,关联的表和查询的条件都是不确定的,且可能会有非常复杂的查询场景,导致查询条件会很复杂,在这种场景下,sql模版是不确定的,所以传统的MyBatis3风格(即经常用的xml风格)或者MyBatis3Simple风格的sql模版框架就显得力不从心,亟需一个 阅读全文
posted @ 2020-10-10 18:31 jeysin 阅读(7361) 评论(2) 推荐(1) 编辑
摘要: 最近接到实验室的导师交给我的一个任务,就是他们手头有很多smile表达式,格式类似这种:C(=C(c1ccccc1)c1ccccc1)c1ccccc1(这是生物信息学中表达小分子结构的一种常用表达式),他们需要对每个smile表达式在ZINC网站(生物信息学数据网站)上进行搜索,然后找到对应的ZIN 阅读全文
posted @ 2019-06-02 12:34 jeysin 阅读(1866) 评论(0) 推荐(0) 编辑
摘要: 锁的实现 锁的实现其实很简单,主要使用Java中synchronized关键字。 公平锁的实现 上面的锁的实现严格意义上说是会存在线程饥饿现象的(也就是说在多线程竞争的条件下,存在一种极端情况,即某个线程一直阻塞在锁上,永远都是其他线程被优先唤醒,导致自己得不到执行)。下面是公平锁的实现: 读写锁的 阅读全文
posted @ 2019-05-09 19:07 jeysin 阅读(465) 评论(0) 推荐(1) 编辑
摘要: 前言 最近学习RPC的时候,自己手动写了一个简易的RPC框架,详细代码可见GitHub: "https://github.com/Jeysin/RPC" 。以下是这个项目的README: 简介 Java语言编写的一个轻量级的RPC框架,基于TCP协议,与SpringBoot集成,让远程调用像本地调用 阅读全文
posted @ 2019-02-25 10:54 jeysin 阅读(708) 评论(0) 推荐(0) 编辑
摘要: 前言 Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream。Java 8 中的 阅读全文
posted @ 2018-12-22 17:37 jeysin 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 最近在学Spring框架,相信学习过Spring的同学都对Spring中的IOC容器印象深刻,它像一个黑盒一样,可以从我们的xml配置文件中读取bean,并将相应的属性注入到bean中。那么这是如何实现的呢,本文将通过一个小例子仿照Spring的方式实现一个简单的IOC容器,使其具有IOC容器的基本 阅读全文
posted @ 2018-12-09 15:08 jeysin 阅读(1422) 评论(0) 推荐(0) 编辑
摘要: 最近学习了一下如何在spring的xml文件中使用自定义的标签,把自己操作的过程记录下来。开始之前,最好先对spring的xml文件的格式有所了解,已经有文章写得很好了,这里不再赘述,详见:https://www.cnblogs.com/gonjan-blog/p/6637106.html。 接下来 阅读全文
posted @ 2018-12-02 13:58 jeysin 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 详见:http://wiki.jikexueyuan.com/project/easy-learn-algorithm/dijkstra.html 测试用例: 阅读全文
posted @ 2018-08-14 17:04 jeysin 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 详见:http://wiki.jikexueyuan.com/project/easy-learn-algorithm/floyd.html 测试用例: 阅读全文
posted @ 2018-08-14 16:10 jeysin 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 395. 硬币排成线 II 有 n 个不同价值的硬币排成一条线。两个参赛者轮流从左边依次拿走 1 或 2 个硬币,直到没有硬币为止。计算两个人分别拿到的硬币总价值,价值高的人获胜。 请判定 第一个玩家 是输还是赢? 有 n 个不同价值的硬币排成一条线。两个参赛者轮流从左边依次拿走 1 或 2 个硬币 阅读全文
posted @ 2018-08-13 18:16 jeysin 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 由于最近的项目中要用到nodejs做一个WebServer服务器,所以最近学习了一下nodejs的语法和express框架。学习的过程中也参考了许多文章博客,同时也有一些自己的心得体会,现在都一一记录下来。 首先,第一个问题,为什么选了nodejs来做WebServer?或者换一种说法,用nodej 阅读全文
posted @ 2018-07-17 15:08 jeysin 阅读(11819) 评论(0) 推荐(0) 编辑
摘要: 前几天我把搜索引擎项目部署到腾讯云上运行的时候,程序暴露出来一个问题,就是关于C/C++中全局变量的初始化的问题,全局变量之间相互引用,导致全局变量的初始化时机由于编译器的不同而不同,程序执行起来由于访问到了未初始化的全局变量直接coredump,之前在自己电脑上没发现这个问题也是奇迹,移到腾讯云上 阅读全文
posted @ 2018-04-13 11:14 jeysin 阅读(523) 评论(0) 推荐(0) 编辑
摘要: Given an Android 3x3 key lock screen and two integers mand n, where 1 ≤ m ≤ n ≤ 9, count the total number of unlock patterns of the Android lock scree 阅读全文
posted @ 2018-03-27 10:41 jeysin 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 寻找丢失的数 II 给一个由 1 - n 的整数随机组成的一个字符串序列,其中丢失了一个整数,请找到它。 注意事项 n <= 30 您在真实的面试中是否遇到过这个题? Yes 给一个由 1 - n 的整数随机组成的一个字符串序列,其中丢失了一个整数,请找到它。 注意事项 n <= 30 给一个由 1 阅读全文
posted @ 2018-03-26 21:36 jeysin 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 首先,对于数字1,2,3,4而言,如果我们能求出其下一个排列,那么不断地求其下一个排列,得到的就是全排列,关于怎么求一个排列的下一个排列,见:http://www.cnblogs.com/jeysin/p/8647879.html. 基于这种思路,可以用非递归的方式实现求数字的全排列,以下是具体实现 阅读全文
posted @ 2018-03-26 10:43 jeysin 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 下一个排列 给定一个整数数组来表示排列,找出其之后的一个排列。 注意事项 排列中可能包含重复的整数 您在真实的面试中是否遇到过这个题? Yes 给定一个整数数组来表示排列,找出其之后的一个排列。 注意事项 排列中可能包含重复的整数 给定一个整数数组来表示排列,找出其之后的一个排列。 注意事项 排列中 阅读全文
posted @ 2018-03-26 10:24 jeysin 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 排列序号I 给出一个不含重复数字的排列,求这些数字的所有排列按字典序排序后该排列的编号。其中,编号从1开始。 您在真实的面试中是否遇到过这个题? Yes 排列序号I 给出一个不含重复数字的排列,求这些数字的所有排列按字典序排序后该排列的编号。其中,编号从1开始。 排列序号I 给出一个不含重复数字的排 阅读全文
posted @ 2018-03-25 23:29 jeysin 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 康托展开式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! ,其中a[i]表示在未出现的元素中比当前元素小的个数。康托展开式可用于求一个排列位于全排列的第几个。同样,其逆过程可以求在全排列中的第k个排列是多少。具体实现如下: 例题1: 阅读全文
posted @ 2018-03-25 15:18 jeysin 阅读(672) 评论(0) 推荐(0) 编辑
摘要: 大家一定玩过“推箱子”这个经典的游戏。具体规则就是在一个N*M的地图上,有1个玩家、1个箱子、1个目的地以及若干障碍,其余是空地。玩家可以往上下左右4个方向移动,但是不能移动出地图或者移动到障碍里去。如果往这个方向移动推到了箱子,箱子也会按这个方向移动一格,当然,箱子也不能被推出地图或推到障碍里。当 阅读全文
posted @ 2018-03-19 18:22 jeysin 阅读(557) 评论(0) 推荐(0) 编辑