自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 873

原创 Java线程池实现多消费者批量处理队列消息

通常生产者-消费者的经典实现方式是,启动一个消费者线程从阻塞队列里获取消息进行消费,(多个)生产者往队列里插入待消费的数据然后立即返回。如果生产者生产的速率远大于消费者消费的速率,那么队列的待处理数据就会累积得越来越多。顾名思义,“多消费者”就是开启多个消费者线程,这里借用Java线程池来管理线程的生命周期:首先,定义一个接口表示异步消费:import java.util.concu...

2018-11-15 15:09:01 4602

原创 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 251

原创 Java使用WeakReference、SoftReference、ConcurrentHashMap构建本地缓存,支持高并发和集群环境

前言(个人的理解):缓存 一般用来缓解耗时、耗资源的问题,而本地缓存(jvm缓存),相对于需要通过网络连接来访问的缓存(如Redis),本地缓存主要用来缓解耗时问题,以及本地缓存实现起来比较方便 而远程缓存支持存储的对象不够完善(如需要通过序列化/反序列化来解决,本质来说 还是时间问题)。关于Reference所引用对象的生存时间:WeakReference<T>:如果当前不存...

2018-06-15 13:23:07 1622

原创 Java poi Excel xls列号数字转字母

最近遇到导出的xls中 列是动态生成的,且单元格中需要用到公式,而xls公式不是用数字列号而是用列字母来表示的,这时需要把数字的列号转成该列对应的字母。因为是按月导出 一个月最多31天,所以刚开始采用的办法是定义一个包含1到31列字母的数组。后来想想这样总不是个办法 万一列数更多 且是不确定的呢。于是研究了下 怎么把xls数字列号转成对应的字母。

2016-12-02 16:24:42 7489 3

原创 解决easyui中重复调用$.messager.progress('close')报错问题

问题描述:把$.messager.progress('close')放在全局ajax函数的complete方法里就可以免去每次调用$.messager.progress(options)后都需要调用一次$.messager.progress('close')。比如 一般我们都是这样的: $.messager.progress(progressMsg); //遮罩并提升信息 $.

2015-10-12 09:37:22 7410

转载 ASCII、Unicode、GBK和UTF-8字符编码的区别联系

转自:http://dengo.org/archives/901ASCII、Unicode、GBK和UTF-8字符编码的区别联系很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变

2015-08-17 18:43:48 412

原创 替换textarea的文本编辑框的实现,可现实文字输入与显示图片、表情

整理自网络------------------------------------------------------------------------------------------方法1:通过textare添加子元素img,该方式只有IE支持图片:var editor = document.getElementById('editor');v

2015-07-29 09:24:25 11458

转载 (java)序列化与反序列化

原文地址:http://www.cnblogs.com/xdp-gacl/p/3777987.html一、序列化和反序列化的概念  把对象转换为字节序列的过程称为对象的序列化。  把字节序列恢复为对象的过程称为对象的反序列化。  对象的序列化主要有两种用途:  1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;  2) 在网络上传送对象的字节序

2015-03-05 17:15:30 510

转载 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 396

转载 (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 507

spring in action 第四版 (另附第三版 中文版)

spring in action 第四版 英文版 + 第三版中文版

2015-11-12

C#实现简单的计算器功能

用C#编写了个简单的计算器,能实现简单的加减乘除运算,有不完美的地方请多多指出,共同学习

2013-03-20

空空如也

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

TA关注的人

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