- 浏览: 84532 次
- 性别:
- 来自: 北京
最新评论
-
梅花簪:
如果希望可以 在 web application 运行时动态修 ...
动态改变Quartz的调度时间 -
jackyrong:
my_corner 写道Aaronlong31 写道strut ...
Struts2/XWork 安全漏洞及解决办法 -
yangguo:
还不错,但是实在不想每条语句都去冗余增加个order by。楼 ...
Hibernate的优化:分页 -
lyy3323:
多谢楼主,不知道怎么改strurs2的jar包。
谁能给个步骤 ...
Struts2/XWork 安全漏洞及解决办法 -
lf84730258:
同样没测试成功.我把参数跟在了?后面了.
Struts2/XWork 安全漏洞及解决办法
文章列表
今天有个统计的需求,计算今天比昨天新增加的数据。有两个文件a和b,a是最新文件,b是昨天的文件,需要计算出在a中出现又没出现在b中的数据。
a和b都是这样的文件格式,只有一列id,且无序的
290758
290710
290688
290411
290409
290224
290223
290221
290194
有如下集中实现方式:
1、java,把b读到List中,遍历a中元素判断是否存在b的List中
List b = .....
while(r.ready()){
String s = r.readline();
i ...
在网上看到的一篇文章,自己用了一下的确不错。维护线上服务,又要不停切换目录的可以试试,能节省不少时间。
1、把最下面这段脚本加入.bashrc 最下面,保存退出然后重新登录
2、进入日常维护的目录,标记一个标签
cd /opt/logs/
mark log
3、以后再进入这个目录只需要
ggg log
4、去掉这个标签
unmark log
5、列出所有的标签
gs
6、支持提示,键入ggg 不停的tab,就能提示当前所有的标签
原理: 在指定的目录下建立一堆软链接
代码:
...
在java中socket传输数据时,数据类型往往比较难选择。可能要考虑带宽、跨语言、版本的兼容等问题。比较常见的做法有两种:一是把对象包装成JSON字符串传输,二是采用java对象的序列化和反序列化。随着Google工具protoBuf的开源,protobuf也是个不错的选择。对JSON,Object Serialize,ProtoBuf 做个对比。
定义一个待传输的对象UserVo:
public class UserVo{
private String name;
private int age;
private long phone;
private Lis ...
在java中socket传输数据时,数据类型往往比较难选择。可能要考虑带宽、跨语言、版本的兼容等问题。比较常见的做法有两种:一是把对象包装成JSON字符串传输,二是采用java对象的序列化和反序列化。随着Google工具protoBuf的开源,protobuf也是个不错的选择。对JSON,Object Serialize,ProtoBuf 做个对比。
定义一个待传输的对象UserVo:
public class UserVo{
private String name;
private int age;
private long phone;
private Lis ...
在web架构中,分布式是个常见的架构设计。尤其是大家比较熟悉的Memcached,或者其他cache产品常常被设计成分布式集群。分布式往往采用hash(key)%n 的方式,但这种算法比较简单,便于实现和理解。但弊端是不能动态增删节点。比较合理的方法改用一致性哈希(consistent hashing)分布。一致性哈希,简单的说在移除 / 添加一个 cache 时,它能够尽可能小的改变已存在 key 映射关系,尽可能的满足单调性的要求。原理不再赘述,google和度娘都能得到答案。重点说一下最常见的实现方式。
Java中采用md5散列的方式,计算hash值,这样基本上能保证key散列出 ...
拉链法是解决Hash冲突问题的方法之一,把所有hash值相同的元素链接在同一个单链表中。这也是jdk中hashmap,hashtable的实现方式。外部拉链法的缺点是:它需要稍微多一些的空间来实现,因为添加任何元素都需要添加指向节点的指针,并且每次探查也要花费稍微多一点的时间,因为它需要间接引用逐一查找匹配,而不是直接访问元素。当大量相同hash值的元素保存时,就会导致链表巨长无比,这时get出对应元素时要在链表里比对key是否相同直到找到对应的元素。
在多数web容器的设计中,request都是依靠相应语言的hashtable/hashmap实现,当不同的key存入时如果has ...
朋友问的题,试着写写。也许有其他实现方式,感觉题目应该是考察线程间协作wait和notify所以选择如下方式实现:
/**
* @author my_corner
* 2011-12-26
*/
public class ThreadPrint {
/**
* @author my_corner
* @param
* @return
* @throws InterruptedException
*/
public static void main(String[] args) throws InterruptedException ...
热部署,是实际开发中经常会遇到的一个问题。一个系统上线之后,不可避免的会因为修改bug,功能的增加等问题需要更新代码、配置文件,这就需要重启应用服务器。如果系统需要提供的是7*24小时的服务,不能中断访问,那么 ...
写这个的目的不是为了说明哪种cache的效率高,或者哪种cache更适合hibernate。只是为了阐明hibernate在使用cache时的机制,和自己碰到的实际问题。
二、hibernate二级缓存避免查询Cache需要先获得db连接
hibernate自身管理一级缓存,如果需要使用二级缓存,则要自己来实现相应的代码,这个实现起来并不复杂只需要实现
hibernate提供的相应的接口即可。我们在项目中选用了最为通用的memcached,具体配置如下:
在spring中配置hibernateProperties是增加一项配置
<prop key="hibernate.cache ...
有同学强调我对sql server的分页不了解,在mssql 2000之前只能通过top进行分页。我没有说top分页不对,我是说在hibernate的sql server方言里面,针对sql server 的top分页是不对的。至少在我使用的版本里是不对的。而且有很多同学也遇到和我类似的问题。请大家打开hibernate的showsql,看看生成的sql 语句再来判断正确还是错误,谢谢!
提到Hibernate,好多人都用“垃圾”,“效率太低”这样的字眼评价。其实任何一个框架的产生都是有原因的,这些为企业级开发产生的框架最初只是为了简化开发,或许会有一些影响性能的地方。但是通过配置和巧妙的办法, ...
exploit-db网站在7月14日爆出了一个Struts2的远程执行任意代码的漏洞。
漏洞名称:Struts2/XWork < 2.2.0 Remote Command Execution Vulnerability
相关介绍:
http://www.exploit-db.com/exploits/14360/
http://sebug.net/exploit/19954/
Struts2的核心是使用的webwork框架,处理 action时通过调用底层的getter/setter方法来处理http的参数,它将每个http参数声明为一个ONGL(这里是ONGL的介绍)语句。当我们提交 ...
近日碰到一位友人提出的一个问题,如何动态的改变Quartz的调度作业的时间。比如,由每10分钟执行一次改为每5分钟执行一次。个人认为这种需求应该通过某种方式来规避,或者选用其他的技术框架,因为动态改变Quartz的调度时间完全失去了使用Quartz的意义。本人在使用Quartz是基于Spring来配置的,而朋友的项目中不能使用SPring框架,这就需要直接基于Quartz编程。工作之余,写了个例子:
Quartz的管理类
public class QuartzManage {
private static SchedulerFactory sf = new StdSchedulerFacto ...