- 博客(11)
- 资源 (3)
- 收藏
- 关注
原创 O(n)算法快速构建树形结构(权限树、组织树、省市区联动树)
假设数据库查询返回N条记录有父子关系的数据(通过parent_id来关联),例如:SELECTt.id,t.parent_id as pid,t.name /**, t.level **/FROM tree_table t。应用层获取到数据后如何根据父子关系构建树形结构呢?通常的做法是多次遍历,如第一次遍历筛选出第一级节点(假设是n1条),第二次遍历这n1条一级节点,以每个节点id为父节点再次遍历N条总数据得出每个一级节点的所有二级节点(假设是n2)条,然后再进行类似遍历查找下级节点。假设总级数(或者树..
2020-05-16 01:41:08
950
原创 Java线程池实现多消费者批量处理队列消息
通常生产者-消费者的经典实现方式是,启动一个消费者线程从阻塞队列里获取消息进行消费,(多个)生产者往队列里插入待消费的数据然后立即返回。如果生产者生产的速率远大于消费者消费的速率,那么队列的待处理数据就会累积得越来越多。顾名思义,“多消费者”就是开启多个消费者线程,这里借用Java线程池来管理线程的生命周期:首先,定义一个接口表示异步消费:import java.util.concu...
2018-11-15 15:09:01
4832
原创 Java采用Redis相关命令实现分布式锁
Java本地锁(synchronized或J.U.C.Lock)只能解决当前jvm下的并发问题,如果是集群环境下或者一个机器跑多个jvm实例且相互间有交互或重叠时,此时需要一个“中央锁”来进行控制。以下实现来自http://doc.redisfans.com/string/set.html相关描述:命令 SET resource-name anystring NX EX max-lock...
2018-11-14 16:43:20
284
原创 Java使用WeakReference、SoftReference、ConcurrentHashMap构建本地缓存,支持高并发和集群环境
前言(个人的理解):缓存 一般用来缓解耗时、耗资源的问题,而本地缓存(jvm缓存),相对于需要通过网络连接来访问的缓存(如Redis),本地缓存主要用来缓解耗时问题,以及本地缓存实现起来比较方便 而远程缓存支持存储的对象不够完善(如需要通过序列化/反序列化来解决,本质来说 还是时间问题)。关于Reference所引用对象的生存时间:WeakReference<T>:如果当前不存...
2018-06-15 13:23:07
1722
原创 Java poi Excel xls列号数字转字母
最近遇到导出的xls中 列是动态生成的,且单元格中需要用到公式,而xls公式不是用数字列号而是用列字母来表示的,这时需要把数字的列号转成该列对应的字母。因为是按月导出 一个月最多31天,所以刚开始采用的办法是定义一个包含1到31列字母的数组。后来想想这样总不是个办法 万一列数更多 且是不确定的呢。于是研究了下 怎么把xls数字列号转成对应的字母。
2016-12-02 16:24:42
7714
2
原创 解决easyui中重复调用$.messager.progress('close')报错问题
问题描述:把$.messager.progress('close')放在全局ajax函数的complete方法里就可以免去每次调用$.messager.progress(options)后都需要调用一次$.messager.progress('close')。比如 一般我们都是这样的: $.messager.progress(progressMsg); //遮罩并提升信息 $.
2015-10-12 09:37:22
7521
转载 ASCII、Unicode、GBK和UTF-8字符编码的区别联系
转自:http://dengo.org/archives/901ASCII、Unicode、GBK和UTF-8字符编码的区别联系很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变
2015-08-17 18:43:48
435
原创 替换textarea的文本编辑框的实现,可现实文字输入与显示图片、表情
整理自网络------------------------------------------------------------------------------------------方法1:通过textare添加子元素img,该方式只有IE支持图片:var editor = document.getElementById('editor');v
2015-07-29 09:24:25
11583
转载 (java)序列化与反序列化
原文地址:http://www.cnblogs.com/xdp-gacl/p/3777987.html一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序
2015-03-05 17:15:30
550
转载 java的一些知识点
原文出处:http://www.cnblogs.com/plmnko/archive/2010/10/16/1852871.html构造函数为什么不能被abstract/static/final/native/stricftp/synchronized修饰 及 一些关键字的用法from:http://www.blogjava.net/realsmy/archiv
2015-03-05 16:56:20
424
转载 (java)异常处理原理和原则
原文链接:http://www.cnblogs.com/weidagang2046/p/exception-handling-principles.htmlTodd.log - a place to keep my thoughts on programming异常处理原理和原则异常机制是现代主流语言的标配,但是异常处理问题虽然已经被讨论很多,也有很
2015-03-05 15:40:41
541
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人