上一页 1 ··· 4 5 6 7 8
摘要: 项目中需要用到包扫描的情况是很多的,一般是在项目初始化的时候,根据一些条件来对某个package下的类进行特殊处理。现在想实现的功能是,在一个filter或interceptor初始化的时候,扫描指定的一些package路径,遍历下面的每个class,找出method上使用了一个特殊注解的所有方法, 阅读全文
posted @ 2017-02-08 10:46 j.liu windliu 阅读(4580) 评论(0) 推荐(0) 编辑
摘要: 参考java并发编程的艺术一书中,对ConcurrentHashMap的讲解 ConcurrentHashMap使用的是分段锁Segment来保证不同的Segment区域互相不干扰,不存在锁竞争关系,从而提升map的效率. 由于ConcurrentHashMap中存放的是Segment数组,每个Se 阅读全文
posted @ 2017-02-08 10:30 j.liu windliu 阅读(873) 评论(0) 推荐(0) 编辑
摘要: 先抛出问题。以下两个方法声明有毛区别: 这是在一个Controller里面的接口方法声明,这两个方法,一个声明了 另一个没有,他们看似没有区别,但是spring mvc的套路里面,他们在特殊场景下的区别大的你想哭。 先描述问题的源头: 某天刮风,飘来了一个接口需要处理 http://localhos 阅读全文
posted @ 2017-02-08 10:28 j.liu windliu 阅读(3433) 评论(0) 推荐(0) 编辑
摘要: 搭建一个新工程时,想使用最新稳当版的springmvc,所以选择了最新的版本 然后用以往的经验写了一个极其简单的Controller方法 然而,奇怪的事情发生了。 参入参数:http://localhost:8088/1/2/cates.json?goodIds=2,3 运行时goodIds始终为n 阅读全文
posted @ 2017-02-08 10:14 j.liu windliu 阅读(899) 评论(0) 推荐(0) 编辑
摘要: 我们经常会看到这样的语法 0xAD实际是个16进制,转换成二进制为:10101101,转换成10进制是:173,它是个正数 10101101只是int的简写,int由4个byte字节,即32位bit组成,实际的值是 int由4 byte组成,因此int转byte是会掉位的,直接截取最后一个字节,即: 阅读全文
posted @ 2017-02-08 10:09 j.liu windliu 阅读(26667) 评论(0) 推荐(0) 编辑
摘要: velocity的标签中支持$abc 这样的语法,如果abc是一个对象,则写模板时就可以利用它来进行反射,调用一些危险的方法,如 通过反射,让系统本身出现了安全漏洞,这类危险的操作,可以通过屏蔽反射来杜绝,在velocity属性中添加一行配置即可 velocity默认的配置为: 本文主要讨论从vel 阅读全文
posted @ 2017-02-08 09:59 j.liu windliu 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 简介: javassist是一款可以在运行时生成字节码的工具,可以通过它来构造一个新的class对象、method对象,这个class是运行时生成的。可以通过简短的几行代码就可以生成一个新的class type 上面的代码就会把新生成的class 文件写到文件系统中,javassist封装了从 方法 阅读全文
posted @ 2016-11-08 17:35 j.liu windliu 阅读(1048) 评论(0) 推荐(0) 编辑
摘要: CountDownLatch是java并发包中辅助并发的工具类,目的是让并发运行的代码在某一个执行点阻塞,直到所有条件都满足,这里的条件就是调用countDown()方法,有点类似计数器的功能。 用法如 构造函数中传入的数字2,表示需要2次countDown()方法调用,否则代码会一直阻塞在awai 阅读全文
posted @ 2016-10-20 19:54 j.liu windliu 阅读(896) 评论(0) 推荐(0) 编辑
摘要: 一同事发现一个bug,在chrome上保存一个表单时,后台会报错,而在firefox上则可以正常保存。 奇怪的地方在于,后端的程序是同一个,而在浏览器上查看请求header时,两个浏览器对应的字段内容还完全相同 xx.startTime:2012-01-01 00:00:00 后端xx对象的setS 阅读全文
posted @ 2016-08-25 12:16 j.liu windliu 阅读(238) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8