- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 二叉树遍历:前序、中序、后序
1 二叉树三种遍历的递归、非递归实现首先定义一棵二叉树的结构:/** * @Description 二叉树 * @Author lilong * @Date 2019-02-27 10:23 */public class BinTreeNode { private int data; private BinTreeNode left; privat...
2019-02-27 20:45:39 166
原创 排序算法的Java实现
冒泡排序 选择排序 插入排序 快速排序 归并排序 堆排序时间复杂度参考:https://blog.csdn.net/weiwenhp/article/details/8622728排序方法 平均时间 最好时间 最坏时间 桶排序(不稳定) O(n) O(n) O(n) 基数排序(稳定) O(n) O(n) O(n) ...
2019-02-27 18:55:26 106
原创 分布式全局唯一id——Snowflake算法
1 问题引出——为什么会用到全局唯一ID 一开始我是拒绝学习这个知识的,因为MySQL明明就有自增属性AUTO_INCREMENT,何必多此一举、大费周章,最后就出来一个id,是否舍近求远、舍本逐末? 答案是:对,也不对。 说对,是因为一般来讲,用数据库自增字段应付得来了; 说不对,是因为要考虑到扩展性,一旦数据量太大需要扩容、分库分表的时候就炸了,当然你.....................
2019-02-24 03:50:00 2978
原创 动态代理(JDK & CGLIB)
静态代理,一个代理类只能代理一个接口,好处的简单、好实现、好理解,坏处呢,举个例子,我们知道Mybatis逆向工程会生成N多个Mapper接口文件,如果每个Mapper接口都造一个代理类出来,然后呢,每个代理类做的事情又都是一样的——获取session、解析crud语句、执行crud、处理结果、结束session。难道我们对此就束手无策了吗?不,使用动态代理,我们可以只造一个轮子就能代理eve...
2019-02-24 00:22:12 104
原创 静态代理
静态代理的意思就是,我要做一件事,但是我不自己去做,而是委托别人去做,UML通常为:代理类(Proxy)也要实现实际类(RealSubject)的接口。比较简单,下面直接给出代码示例:public interface Hello { void say(String name);}public class HelloImpl implements Hello { ...
2019-02-23 15:11:55 117
原创 Mybatis逆向工程
1.新建表CREATE TABLE `key_value` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `biz_type` varchar(1000) NOT NULL DEFAULT 'DEFAULT' COMMENT '业务类型,用于需要区分业务的场景,一般情况为DEFAULT即可', ...
2019-02-21 23:51:22 282
原创 用Java实现一个简单的阻塞队列LinkedBlockingQueue
package mytest.others.other;import java.util.ArrayList;import java.util.List;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.locks.Condition;import java.util.concur...
2019-02-18 15:00:02 447
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人