- 博客(42)
- 收藏
- 关注
迷路的程序员
好久没看书的热情,好久没有完整研究过一个技术,现在天天赶业务,希望自己做出来的东西是个精品,结果在某一天,部门卖给京东了。过年的时候,阿里打了几个电话过来,我接了其中一个,发现自己好多问题答不好。相对地,另外一个同事,他做的一个文档系统非常坑爹,编辑后代码和图片老丢失,但是他找到了一份更高薪水的工作。我和他之间存在一个非常大的区别:他的目标不是把业务做好,而是把技术能力提升上去,把没有尝试过的...
2014-03-27 13:46:36 111
原创 test
noteWelcome to StackEdit! {#welcome}<script> var a = 1; var c =2;</script>Hello, I am your first Markdown document within StackEdit[^stackedit]. Don't delete me, I ...
2014-03-24 15:04:02 89
原创 POI插入图片的尺寸计算
CreationHelper helper = wb.getCreationHelper(); Drawing drawing = sheet.createDrawingPatriarch(); ClientAnchor anchor = helper.createClientAnchor(); int pictureIdx = wb.addPi...
2013-12-11 11:51:19 2624
原创 ExecutorService 的shutdown 与 shutdownNow
shutdown 对执行中的任务无影响,会执行等待队列中的所有任务。shutdownNow 对执行中的任务进行Thread.interrupt(),不会执行等待队列中的任务,这些队列中的任务其实shutdownNow的返回参数。 shutdown和shutDownNow的共同之处在于立刻返回,不等待池中的任务。要等待池中的任务完成,要调用awaitTermination。 ...
2013-12-10 11:09:40 166
多端点传输杜绝乱码方案
多个端点之前传输字符串(String),实际上是传输字节流(Byte[])。如果发送方采用UTF8编码将字符串变为字节流(Byte[]=String.getBytes("UTF8")),当接收方接受到后,却使用GBK来解码字节流到字符串(String = new String(byte[],"GBK");),那么就会出现乱码。为了避免乱码这种情况,通讯双方需要知道对方的编码格式,或者双方统一编...
2013-07-05 08:11:20 118
原创 java安全并发处理的“套路"
1 synchronized Collections.SynchonrizedMap wait notify voliatile final2 threadlocal3 多实例4 immutable class5 java.concurrent.util: ReentrantLock ReentrantReadWriteLock CopyOnWriteArrayList Blo...
2013-06-23 08:45:09 92
ArrayBlockingQueue V.S. LinkedBlockingQueue
最近看《分布式JAVA应用 基础与实践》 里面有一段话林昊 写道ArrayBlockingQueue为一个固定大小数组、ReentrantLock以及Condition实现的可阻塞的先进先出的Queue。除ArrayBlockingQueue之外,BlockingQueue的实现还有LinkedBlockingQueue,LinkedBlockingQueue实现的不同为采用对象的nex...
2013-06-23 00:33:25 85
微信公众平台的TOKEN安全验证
本文目标:学习一种比较安全的服务器间互相验证身份的方式。 问题:开发微信公众平台接口,开发者的服务器为了确保请求是否来自微信服务器,应该如何去做? 1) 在微信管理页面上填写URL和TOKEN,开发者服务器上也记录同样的TOKEN。 2) 微信服务器发送HTTP请求,附带上参数(注意TOKEN是不会被传输的) 参数描述signature微信...
2013-06-19 11:40:21 291
原创 使用堆求数组第K大的数
在上一篇博文中,O(n)复杂度,求数组中第2大的数 ,ansjsun同学留下一个非常有价值的回复:ansjsun 写道大概看了下代码...这么排啊...其实答案应该是堆排...第二大是 O(2*logn) = O(n) 感谢ansjsun提供的思路,下面是我实现的代码 import java.util.Arrays;public class MaxHeap...
2013-05-23 23:37:45 181
原创 可以遮住applet的遮罩层
<DIV id="divDiableScreen" style="display:block;Z-INDEX: 100; POSITION: absolute; FILTER: alpha(opacity=15); BACKGROUND-COLOR: #000; WIDTH: 100%; HEIGHT: 100%; TOP: 0px; LEFT: 0px; opacity: 0.15" ...
2013-04-15 11:50:24 120
java primitive type的cast
(int)(char)(byte)-1;//结果是65535(int)(short)(byte)-1;//结果是-1(int)( ((char)(byte)-1) | 0xffff0000);//-1 byte[8bits],short[16bits],int[32bits],long是signed[64bits],而char[16bits]是unsigned。窄类型转换为...
2013-04-15 00:35:05 130
O(n)复杂度,求数组中第2大的数
为什么我反对纯算法面试提及一条算法题目,查找一个数组中第二大的数。 第二大数,直接想到的是,先遍历一次数组,把最大的取出来。然后再遍历一次,把最大的取出来。总耗费时间复杂度O(n + n -1)还有没有其他O(n)的算法呢? 先挖坑,在填坑,都到凌晨2点了,明天想下 早上起来,想了下,跟上次连续子数组的思维差不多,用两个数字保存最大的两个数值,大的放前面,第二大...
2013-04-14 23:23:18 433
原创 单例不简单
常见的lazy loading单例写法有2种写法,DCL和内部类SingletonHolder。但是在以下情况下会失效:1. 单VM,序列化与反序列化2. 单VM,多CLASSLOADER3. 多VM 好了,先开个坑,吃早餐去。解决方案,随后附上...
2013-04-14 10:08:47 79
原创 最大连续子数组之和
一个有N个整数元素的一维数组( A[0], A[1], ... , A[n-2], A[n-1]),子数组之和的最大值是什么?(要求子数组的元素是连续的) 给人典型的动态规划的感觉。先求到前面i个元素的最大子数组之和max,然后在此基础上考虑i+1的情况,直至n位置。 public class MaxSubArray{ public static void main...
2013-04-14 01:01:30 87
原创 HTTP STATUS CODE
1 缓存相关304, Cache-Control, Pragma, Expires, If-Modified-Since, ETag, If-None-Match,2 重定向301 Move Permanently 搜索引擎记住的是response中的URL302 Move Temporarily 搜索引擎记住的是request中的URL303,307 是对302的扩充...
2013-04-12 00:15:58 149
原创 页面优化
Q: 一万个节点,行为类似,滚动时会有事件发生,渲染也很慢,非常卡,如何优化。A:吐槽:优化个毛,谁写的HTML,马上炒掉(by 司徒正美)。这脑残的页面么,我感觉拉动都卡(by 榕城-渔业泡妞) 实际上:这个页面是有脚本由产生的()。写个瀑布流,甘特图,至少3W个节点。(by 司徒正美) 1 事件处理可以使用事件代理,利用事件冒泡的性质,来优化相同节点的...
2013-04-11 23:48:41 83
原创 SQL优化
1 函数索引用作对含有NULL的字段进行索引。create index IND on tbl(nvl(col,'0'))2 把表根据查询拆开3 in exists互换看效果,现在普遍exits占据主流的情况下,需要具体分析。4 子查询改成单一查询的多表连接可能对索引生效(all rows)5 exists在rules情况下必然会全表扫描主表,但是all rows下未必。6 ...
2013-04-11 17:41:13 68
原创 WINDOWS编程字符串类型
1 C运行库对字符串的处理:str*系列: C运行库早期使用strlen strcpy等str*系列函数对char类型的字符串进行处理。wcs*系列: C编译器内置了wchar_t这个16位宽字节类型后,使用新的wcslen wcscpy等wcs*系列的函数对wchar_t类型的字符串进行处理。_tcs*系列: C运行库定义了宏_tcslen _tcscpy等_tcs*系列的宏...
2013-04-11 17:09:41 108
原创 Builder模式
有时候我们构造一个对象的时候,直接所需的参数未必都已经准备好,需要分步骤收集,或者需要在现有的参数上再做判断和进一步处理,又或者需要用户临时去决定。简而言之,我们只有间接数据,没有直接数据,因此不能简单地构造对象。如果将这些步骤逻辑或处理逻辑加入到构造函数,会使类构造函数变得复杂,类职责也不够单一。 Builder模式的意图是,将复杂的构建逻辑从目标类的构造函数中移除。 Bui...
2013-03-26 01:27:04 153
原创 大拿,books, blog, links
<<分布式JAVA应用:基础与实践>>试读:http://book.51cto.com/art/201011/235526.htm http://9.douban.com/subject/9361717/http://book.douban.com/subject/4848587/林昊,淘宝架构师,OSGI带头人{互联网,OSGi,Java, Hig...
2013-03-15 14:10:07 182
我的步骤执行容器StepFramework
读者可以在eclipse中导入附件的项目,执行main.java体验"步骤执行容器"的效果(温馨提示,stepframework依赖了dom4j,在附件中的dependence目录含有该lib)。 问题背景与实现简述 通常情况下,一项任务可以分为多个步骤,每个步骤之下又能分为几个子步骤。最简单的实现方法就是:使用一个主类调用几个步骤方法去完成任务;每个步骤方法执行的时候,能够读...
2013-03-11 17:12:07 91
使用闭包构造模块(提高篇_实现jQuery)——Object-Oriented Javascript之五
通过前面两篇博文的积累,使用闭包构造模块(基础篇)——Object-Oriented Javascript之三使用闭包构造模块(优化篇)——Object-Oriented Javascript之四我们现在已经具备了足够的知识,去完成一个比较有挑战性的任务——构造一个简化版的jQuery库——myQuery。我选择去构造myQuery的动机是:1 jQuery足够优秀,是模块...
2013-02-19 02:26:54 137
使用闭包构造模块(优化篇)——Object-Oriented Javascript之四
上一篇博客(使用闭包构造模块(基础篇)——Object-Oriented Javascript之三)介绍了闭包构造模块的基础知识,这一篇着重介绍“优化”。这里“优化”指的是性能、可维护性。你可以不依照这篇文章推荐的实践方法,也可以写出具备相当功能的程序,但是程序可能在性能、可维护性上有缺陷。希望本文能够带给读者一些小小的优化技巧,如有发现错误之处或有更好建议,盼能回复,不尽感谢。 ...
2013-02-04 15:41:58 271
使用闭包构造模块(基础篇)——Object-Oriented Javascript之三
为什么要模块化js?如果你问我这个问题,我会这样回答:如果你从未被全局变量坑过,请绕道;如果你从未遭受过维护大段大段的代码的噩梦,那我祝你新春愉快,早点平安回家;如果你从未纠结过如何优雅地组织代码,那么请回头是岸,不要再往下看。 模块的基本思想是,将复杂零散的东西,构造成一个简单、独立的整体。台式电脑,笔记本电脑,IPAD,都是整合电子计算元件的经典“模块”,你无须理会...
2013-02-04 15:24:22 82
不要再纠结in和exists——JAVA伪代码直白分析二者时间复杂度
引子in和exists的讨论从未间断过。之前有“今年是龙年大哥”的有数据有真相的测试博文,现在有程序员老鸟写sql语句的经验之谈上的疯狂讨论。关于exists和in,就是很少人站出来,直白地分析二者本质上的差别,这方面的文章大都是用晦涩的文字表述,或者直接给结论——什么情况下用exists,什么情况下用in,而不给出原理。结果时至今日,还有许多人认为exists一定比in性能高。下面鄙人用JA...
2012-10-13 02:30:10 162
1%的灵感最重要 & 改进沟通
最近都没有写过技术文章,之前信誓旦旦的10篇JS文章计划成为空话,工作忙,生活也有其他问题——谁不是呢。尽管如此,我必须记录自己的一些事情,总结一些感悟,这样,回头过来,我才知道原来我在某一段时间真真正正地活过。我从9月份才开始写博客。我发现,9月份,是我收获知识,收获思想最丰富的一个月。坚持总结对我来说是个好事,不管是技术的,还是思想上的。 第一部分 爱迪生说过一句话,有一...
2012-10-11 02:37:21 100
原创 优秀文档资源
PL SQLhttp://docs.oracle.com/cd/B14117_01/appdev.101/b10807/13_elems002.htmhttp://docs.oracle.com/cd/B14117_01/appdev.101/b10807/06_ora.htm#i36056http://docs.oracle.com/cd/B14117_01/appdev.101/b...
2012-10-10 10:09:03 107
原创 CSS+DIV 布局==FLOAT + POSITION + BOX(1)
先上效果图。(山寨的对象忘了网址,大家搜索相关文字应该可以找到)网站布局来来去去不过如此。总结起来两种1 左边的树DIV,float/position脱离文档流元素,然后右边的主内容,主内容的margin-left足够大,“覆盖”住左边的树DIV。例子 http://www.blogjava.net/sealyu/archive/2010/01/08/308640.ht...
2012-09-24 20:23:30 640
大家看看我写的约瑟夫环(O(N))算法有没有问题
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人会被杀死;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到剩下一个人生存。 n = 9,k = 1,m = 5 【解答】 出局人的顺序为5,1,7,4,3,6,9,2,8。 题目引用了 百度百科 http...
2012-09-17 16:36:20 90
JS真的错了吗——Object-Oriented JavaScript(Part 2)
一、js是世界上最容易被误解的语言javascript本质上是基于原型的语言,但是却引入了基于类的语言的new关键字和constructor模式,导致javascript饱受争议。javascript的作者Brendan Eich 1994年研发这门语言的时候,C++语言是最流行的语言,java1.0即将发布,面向对象编程势不可挡,于是他认为,引入new关键字可以使习...
2012-09-10 21:07:08 95
笑学原型——Object-Oriented JavaScript(Part 1)
原型语言一、什么是原型语言悟空问观音:什么是原型语言 观音:一切都是对象,对象继承对象,这就是原型语言。悟空:好,明白唐僧: 详细一点来说,1 只有对象,没有类;对象继承对象,而不是类继承类。2 “原型对象”是核心概念。原型对象是新对象的模板,它将自身的属性共享给新对象。一个对象不但可以享有自己创建时和运行时定义的属性,而且可以享有原型对象的属...
2012-09-10 20:26:05 177
深刻理解JavaScript基于原型的面向对象
主题一、原型 一、基于原型的语言的特点 1 只有对象,没有类;对象继承对象,而不是类继承类。 2 “原型对象”是基于原型语言的核心概念。原型对象是新对象的模板,它将自身的属性共享给新对象。一个对象不但可以享有自己创建时和运行时定义的属性,而且可以享有原型对象的属性。 3 除了语言原生的顶级对象,每一个对象都有自己的原型对象,所有对象构成一个树状的层级系统...
2012-09-10 15:16:11 344 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人