- 博客(68)
- 资源 (3)
- 收藏
- 关注
原创 web后台如何区分是ajax请求还是普通请求?
web后台如何区分是ajax请求还是普通请求?$.ajax({url:"/jquery/test1.txt",async:true,dataType:"json"});ajax异步请求头中有;Accept:application/json, text/javascript, */*; q=0.01X-Requested-With:XMLHttpRequest$....
2016-04-16 00:04:07
666
1
原创 jQuery.ajax什么时候执行error
查看了源码:[code="javascript"] // If successful, handle type chaining if (status >= 200 && status < 300 || status === 304) { // Set the If-Modified-Since and/or If-None-Match ...
2016-04-15 23:07:56
649
原创 跳跃表的应用场景
跳跃表:我的理解是:多层次的链表查找结构,每层又类似二分法查找过程。应用场景:节点增加和更新比较少,查询频次较多的情况。使用跳跃表的产品:1、Lucene, elasticSearch2、Redis:Redis sorted set的内部使用HashMap和跳跃表(SkipList)来保证数据的存储和有序,HashMap里放的是成员到score的映射,而...
2016-02-15 14:55:26
4600
原创 图片技术
[color=red][b]OCR[/b][/color](Optical Character Recognition): 光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程。[b][color=red]Tesseract:[/color][/b]开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重...
2016-02-02 17:30:35
235
Unsafe的用法
我们写程序,一般不直接使用Unsafe类。 JDK的类特别是并发框架中大量使用到Unsafe的功能,比如:AtomicInteger, LockSupport.所以,了解Unsafe提供的功能与机制是非常必要的。如何获取Unsafe对象?[code="java"] Field theUnsafeInstance = Unsafe.class.getDeclaredField("t...
2015-12-04 14:57:59
194
原创 高效率节点权重器
问题:类似负载均衡nginx,分发请求到各个应用节点, 可按设置好的权重(机器性能)进行分派。思路:按位移来实现,比如共8份,占2份的话,就用8位二进制数来表示:6个0,2个1。有个定位器按顺序移动,占2个1的,一个来回就有2次机会命中。实现:[code="java"]int base = 0b1000_0000; //主机节点...
2015-12-04 13:53:47
184
原创 Java暂停当前线程和继续的方式
(1) Thread.currentThread().sleep() 与 Thread.currentThread().interrupt();可以跳过interrupt异常,继续往下执行。(2)Object.wait() 与 Object.notify();wait会阻塞当前线程,如果该线程被interrupt,也会产生interrupt异常。(3)synchr...
2015-12-03 10:49:26
1273
原创 Java负数存储方式
正数的原码、反码、补码是相同的。负数的原码是去掉最高的符号位的其他位, 后面的位取反为反码,反码+1后为补码。算法为: 负数的绝对值(原码)= 取反(补码-1)。java中以int为例来实现算法:[code="java"]int i = -63;System.out.println(Integer.toHexString(i));//算法在这里:Sy...
2015-05-31 22:36:12
2131
原创 Jetty 基于 NIO 方式工作
本文节选自http://www.ibm.com/developerworks/cn/java/j-lo-jetty/基于 NIO 方式工作前面所描述的 Jetty 建立客户端连接到处理客户端的连接都是基于 BIO 的方式,它也支持另外一种 NIO 的处理方式,其中 Jetty 的默认 connector 就是 NIO 方式。关于 NIO 的工作原理可以参考 developerw...
2015-05-24 19:58:34
993
原创 Amazon前VP:如何面试工程师
Amazon前VP:如何面试工程师 [转载]•Don’t forget to introduce yourself to help work out everyone’s nerves.•“Tell me about your background” is not a useful question for a tech interview.•Probe when you ...
2015-03-20 17:47:04
245
原创 JS中call与apply的作用及区别
call与apply作用是一样的,就是改变执行时函数内this的值。它们方法传递的参数形式不同:foo.call(this, arg1,arg2,arg3) == foo.apply(this, [arg1,arg2,arg23])==this.foo(arg1, arg2, arg3)例子:[code="javascript"]var name = 'window';...
2014-10-12 22:06:06
177
原创 Failover与Failback的区别
[b]Failover 失效转移[/b]通俗地说,即当A无法为客户服务时,系统能够自动地切换,使B能够及时地顶上继续为客户提供服务,且客户感觉不到这个为他提供服务的对象已经更换。这里的A和B可以存在于各种领域,但一般fail-over特指计算机领域的数据库、应用服务、硬件设备等的失效转移。[b]Failback 自动恢复[/b]在簇网络系统(有两台或多台服务器互联的网络...
2014-10-10 14:17:12
417
原创 几种流行的编辑器标记语言
编辑器标记语言是一种有转换功能的标记语言,最终都是转换成html,以在浏览器上展示。它们大都比较简单,易用。非常流行的几种标记语言如下:[b]Wikitext语言[/b],亦称Wiki标记语言,是一种轻量级标记语言,被用于撰写Wiki网页,例如维基百科,而且也是一个简单化的,非正统的,中间性的HTML。它的最终目的是被wiki软件转换成HTML,并且重新回到浏览器中。[...
2014-10-06 13:02:34
615
原创 java字节码操作框架集合
(1) ObjectWeb [b]ASM[/b]轻量级的Java字节码处理框架。它可以动态生成二进制格式的stub类或其他代理类,或者在类被JAVA虚拟机装入内存之前,动态修改类。ASM 提供了与 BCEL和SERP相似的功能,只有22K的大小,比起350K的BCEL和150K的SERP来说,是相当小巧的,并且它有更高的执行效率,是BCEL的7倍,SERP的11倍以上。该项目主页:[url]h...
2014-09-28 15:01:03
334
原创 互联网图片格式新宠SVG矢量图
SVG矢量图指可伸缩矢量图形 (Scalable Vector Graphics),.svg也是该类文件的后缀名。源码是xml格式的,可以直接编辑。 如下图:[img]http://dl2.iteye.com/upload/attachment/0100/8867/939b8776-7111-307d-8211-6cd7ef543716.png[/img]该图的XM...
2014-09-05 16:29:34
265
原创 预防WEB页面XSS漏洞的简单方式
输入的参数,必须经过转码才能输出到页面上,如果不经转换而原样直接输出到页面上,则会产生XSS漏洞。比如:在输入框,输入姓名“张三confirm(123)”如果直接在页面上输出的话,就会弹窗显示123,其实就是执行了用户设定的js操作了,这就产生了xss漏洞。xss漏洞很好预防,只要在参数输出时转码就行了。预防方式,只要输出时做处理:(1)jstl:(2)...
2014-08-19 10:29:20
385
原创 简单、高效加密算法TEA
TEA(Tiny Encryption Algorithm)是一种分组加密算法,它的实现非常简单,通常只需要很精短的几行代码。应用领域(1)客户端桌面程序或手机程序与服务端接口交互,可以使用TEA来进行加密,保证传输信息的私密性。如:OICQ的数据安全采用了TEA算法,QQ通讯也大量使用了TEA算法。(2)存储在本地的用户私密信息,可以采用TEA加密算法。如:QQ存储在...
2014-07-26 15:24:42
808
原创 Java API几种默认的字符集
(1) URLEncoder.encode()输入什么字符集?@Deprecatedpublic static String encode(String s)调用这行代码:encode(s, dfltEncName);dfltEncName = AccessController.doPrivileged( new GetPropertyAction("...
2014-07-26 15:09:43
329
原创 本地文件数据库sqlite
本地文件数据库sqlite,特性:1. ACID事务2. 零配置 – 无需安装和管理配置3.储存在单一磁盘文件中的一个完整的数据库4.数据库文件可以在不同字节顺序的机器间自由的共享5.支持数据库大小至2TB6. 足够小, 大致13万行C代码, 4.43M7. 比一些流行的数据库在大部分普通数据库操作要快8. 简单, 轻松的API9. 包含TCL绑定, 同...
2014-07-26 14:14:17
422
双缓存防止缓存雪崩
双缓存防止缓存雪崩,原理不难。 并发量非常大的WEB应用可以用上。http://www.oschina.net/question/12_26514存在:key1: time,key2: time+n分原理:get时,如果key1失效,则取key2返回,同时启动线程去刷新key1、key2。有多个线程来刷新,则需要并发控制,只让一个线程访问数据库。分布式系统怎么来并发控制...
2014-07-04 14:30:30
227
原创 安全随机数生成方法
安全随机数生成方法方法1:[code="java"]SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); System.out.println(random.nextLong());[/code]方法2:[code="java"]SecureRandom random = SecureR...
2014-03-19 18:35:46
3513
XMemcached客户端序列化方式
XMemcached客户端序列化方式默认为SerializingTranscoder见XMemcachedClientBuilder的代码:Transcoder transcoder = new SerializingTranscoder();也可使用Kryo序列化, 但有bug, 数据类新老版本不兼容。最优选Hessian序列化, 数据类新老版本兼容。...
2014-03-18 12:11:23
224
原创 Kryo与Hessian序列化使用区别
Kryo序列化:(1)Java 数据类中必须拥有无参构造函数;(2)Java 数据类的字段增、减,[color=red]无法兼容[/color];(3)Java 数据类无需实现Serializable接口。Hession序列化:(1)Java 数据类中必须拥有无参构造函数;(2)Java 数据类的字段增、减,[color=green]可以兼容[/color];(...
2014-03-17 18:29:10
366
原创 DelayQueue 延时用法
[code="java"]public class Test { private static DelayQueue dq = new DelayQueue(); public static void main(String[] arg) throws Exception { testDelayQueue(); } static class DelayedTas...
2014-01-22 09:56:27
130
原创 Memcached GetAndTouch延长过期时间用法
直接用Get,如下效果:[code="java"]MemcachedClient xClient = (MemcachedClient) ac.getBean("memcachedClient"); String key ="test_xiemingmei"; xClient.add(key, 60, "Y"); TimeUnit.SECONDS.sleep(60); ...
2014-01-21 17:27:06
558
logback日志的Appender
[b]logback[/b][b]引用的包介绍[/b]slf4j-api.jar: 日志接口包jcl-over-slf4.jar: 用来覆盖commons-logging包;log4j-over-slf4j.jar: 用来覆盖log4j包;logback-core.jar: 日志实现core包,ConsoleAppender、FileAppender属于core包。lo...
2014-01-03 15:53:17
270
网页的Http请求Referer怎么取值
网页的Http请求Referer[b]场景:[/b](1)百度搜索结果中有链接,点击链到 http://caipiao.weibo.com/;(2)http://caipiao.weibo.com/ 中iframe包含了 http://w.aicai.com/;(3)http://w.aicai.com页面中访问了/getGdIssue.do?lotteryType=s...
2013-12-13 17:43:43
2260
原创 js判断相等会先转型
JS中的变量或对象在做比较时,会先转型,然后再进行比较值或类型。双等号只会判断两边的变量或对象的值是否相等,先会转化值,只要值相等,则会返回真。三等号会判断类型和值,如果两边的变量或对象的类型和值都相等,则会返回真。例子如下:[code="javascript"]var check123 = function(){ var t1 = "1"; var t2 ...
2013-11-03 17:38:19
172
原创 log4j与logback选择
log4j与logback有什么区别呢?log4j与logback是同一个作者Ceki开发的,logback性能却比log4j好得多;所以,正常情况下,请选用logback,同时考虑用logback来替换原来的log4j。一般情况下,logback不打印出类的方法名,配置如下:%-16(%d{MM-dd HH:mm:ss.SSS}) %-5thread %-5level...
2013-02-06 11:52:52
175
技术方案文档结构
一说起要写技术方案文档,大家恐怕就有点发愁。不是因为技术方案本身难,而是因为大家不知道怎样用文字来描述技术方案。 我以前在blog上读到的一篇文档,建议把技术方案文档按如下的结构来写。(1)用户核心需求;(2)实现起来的技术难点;(3)技术选型;(4)2种以上解决方案(必须有备选方案)。 按这样的结构写方案,我们思路就比较清晰了。然后,读者看这个结构的方...
2012-11-06 15:59:10
1032
原创 Eclipse中运行参数设置
在cmd上执行java类的命令格式是:用法: java [-options] class [args...]eclipse的run configration中有两种参数:Program arguments: 用来传进main中的argsVM arguments: 相当于java options代码:[code="java"]public static void ...
2012-10-11 10:19:04
388
Java BitSet 数据结构及用处
Java BitSet 数据结构及用处BitSet用来保存大量的开关信息,数据结构如下:private long[] words = long[n];long是4个字节长,64位,如果需要使用64个开关的话,n为1就可以了;一般用开关数除64就可以得出n。BitSet可以用于接口的报文通讯中,如ISO 8583协议是全世界银行通用的通讯协议,共有128个域,如果只传其中...
2012-09-19 11:52:14
95
原创 校验码组件kaptcha[转载]
1、到http://code.google.com/p/kaptcha/ 下载jar文件到 WEB-INF/lib目录下2、在web.xml中配置servlet: Kaptcha com.google.code.kaptcha.servlet.KaptchaServlet kaptcha.image....
2012-08-09 15:25:47
77
互联网系统程序框架
互联网服务切忌以功能来划分系统,有程序架构如下。[b]项目构架结构:[/b] memberService: 会员中心服务 --client --common --parent --server memberWeb: 会员前台网站 memberAdmin: 会员后台管理系统[b]类实现接口的规范:[/b] ...
2012-05-21 17:49:12
89
Windows下用cmd脚本批量修改文件名
在cmd上使用脚本把当前目录下的文件文件名:@echo offset m=1for %m in ("*.*") do ( echo. echo %m ren "%m" "认字-%~m" ) 有了这样的脚本,就不用费力写java程序来做同样的操作了。这里只是举个例子,意在说明cmd脚本功能非常强大,很实用。...
2012-05-14 18:10:37
2045
原创 视屏未缓冲进度条实现拖动
目前,大部分视屏网站都使用FLV格式来播放视屏。大家需要观看还尚未传过来的部分,只需把进度条拖曳到指定时间点就可以观看了。首先,大部分的视屏格式需要转换成FLV格式。Flash 8 Video Encoder支持转换的视频格式相当广泛,如:AVI、WMV、MPEG、ASF、MOV等常见视频格式。然后,需要把时间点的Meta信息写入到FLV文件中去。我们可以使用FLV工具如F...
2012-05-09 18:57:59
329
笛卡尔积算法的Java实现
[b]笛卡尔积算法的Java实现:[/b][img]http://dl.iteye.com/upload/attachment/0066/4800/a4699c2a-b18b-37b3-867d-5b0b9b6ee85d.jpg[/img](1)循环内,每次只有一列向下移一个单元格,就是CounterIndex指向的那列。(2)如果该列到尾部了,则这列index重置为0,而Counte...
2012-04-12 16:30:09
415
原创 JAVA的内省(introspector)与反射(reflection)
JAVA的内省(introspector)与反射(reflection) 内省是 Java 语言对 Bean 类属性、事件的一种缺省处理方法。例如类 A 中有属性 name, 那我们可以通过 getName,setName 来得到其值或者设置新的值。通过 getName/setName 来访问 name 属性,这就是默认的规则。 Java 中提供了一套 API 用来访问某个属性的 ge...
2012-04-01 17:47:57
119
客户端实现多个Memcached服务集群
客户端实现多个Memcached服务集群Memcached服务器之间是独立的,没有任何关联,不能进行集群,Memcached集群是从客户端实现的。应用系统使用统一的访问Memcached配置,在调用client包来set(key,value), get(key)时,使用相同选取服务器节点的算法,这样就实现了取到先前存入的对象。选取服务器节点的算法思路是key的哈希值与节点数...
2012-03-11 20:50:09
154
二维条形码
什么是二维码?说起二维码,大家估计比较陌生,有可能用过它,但是对它理解却比较朦胧。相信大家对条形码(barcode)都是很熟悉的了,因为它的用途太广泛,最常见就是超时里的商品和书籍上,条形码扫描器扫描条形码将条形符号换成相应的数字、字符信息。二维码 (dimensional barcode) ,又称二维条码,是在一维条码的基础上扩展出的一种具有可读性的条码。它也是条形码的一种,只是...
2012-02-22 14:03:56
97
人件中文版PDF
2013-02-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人