技术贴
Tree-New_Bee
微信号:bzofans
展开
-
网站注入
最近看到很多人的网站都被注入js,被iframe之类的。非常多。本人曾接手过一个比较大的网站,被人家入侵了,要我收拾残局。。1.首先我会检查一下服务器配置,重新配置一次服务器安全,可以参考 http://hi.baidu.com/zzxap/blog/item/18180000ff921516738b6564.html2.其次,用麦咖啡自定义策略,即使网站程序有漏洞,别转载 2013-04-10 14:11:25 · 938 阅读 · 0 评论 -
Java中的finalize详解
程序员都了解初始化的重要性,但常常会忘记同样重要的清除工作。毕竟,谁需要清除一个int 呢?但在使用程序库时,把一个对象用完后就“弃之不顾”的做法并非总是安全的。当然,Java有垃圾回收器来回收无用对象占据的内存资源。但也有特殊情况:假定你的对象(并非使用 new)获得了一块“特殊”的内存区域,由于垃圾回收器只知道释放那些经由 new分配的内存,所以它不知道该如何释放该对象的这块 “特殊”内存。为转载 2013-07-08 13:44:32 · 641 阅读 · 0 评论 -
解决定时器时间变更问题
今日项目中出现问题,服务器时间跳到一个月之前,修正后发现定时器任务全部都不起作用了。起初以为程序出错,研究后感觉是任务管理器类的问题。读代码后发现在每次循环任务时线程管理器都会与系统当前时间做比较,这样的话如果系统时间发生变化(变小)会对定时任务发生影响。于是对Timer类和TimerTask类进行重写,修改内部类中的mainLoop()方法后,经测试通过。无论是时间改到几个月之后或是原创 2013-07-08 22:43:01 · 3712 阅读 · 0 评论 -
java多线程 sleep()和wait()的区别
接触了一些多线程的东西,还是从java入手吧。 相信看这篇文章的朋友都已经知道进程和线程的区别,也都知道了为什么要使用多线程了。 这两个方法主要来源是,sleep用于线程控制,而wait用于线程间的通信,与wait配套的方法还有notify和notifyAll. 区别一:sleep是Thread类的方法,是线程用来 控制自身流程的,比如有一个要报时的线程,每一秒转载 2013-07-15 09:40:06 · 651 阅读 · 0 评论 -
System.gc()
1.垃圾收集算法的核心思想 Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。 垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别,如果对象正在被引用,那么称其为存活对象,反之,如果对象不再被转载 2013-07-01 12:55:29 · 652 阅读 · 0 评论 -
由线程中使用wait报错的一些学习扩展
wait:等待对象的同步锁,需要获得该对象的同步锁才可以调用这个方法,否则后收到一个 IllegalMonitorStateException,这个是运行时异常.调用这个方法后,就放弃了这个同步锁了.如果不带参数的wait方法就只 有等别人唤醒了,如果带一个参数的化就设置等待最长时间,过了这个时间即使没有人唤醒这个线程也不再等待了.notify:唤醒在等待该对象同步锁的线程(只唤醒一个,如原创 2013-07-01 14:50:37 · 2057 阅读 · 0 评论 -
java中对象的初始化过程
java中构造一个类实例,就要首先递归构造它的父类,因为子类是由父类派生而来,只有有了父类才可能有子类.而对于类本身的构造过程中,是要首先按顺序来对它的成员变量进行初始化,然后再调用其构造方法. 所以 java中构造一个类的整个过程可以理解为:如果有父类 先 1父类的成员变量初始化然后构造父类 2本类成员变量初始化 3调用本类构造方法 实际上在每个类(除Object原创 2013-07-17 12:37:14 · 1166 阅读 · 0 评论 -
java多线程同步支持
多线程实现买票功能public class MyTest3 { public static void main(String argv[]) { Ticket t = new Ticket(); //Sole s = new Sole(t); new Thread(new Sole(t)).start();原创 2013-07-19 14:37:10 · 1089 阅读 · 0 评论 -
Struts2中field级别错误导致action无法使用的问题
SSH项目中在spring的bean配置文件 解决Action遇到赋值异常挂掉后只能重启的解决办法@Override public void validate() { try { if(hasErrors()){ System.out.println("--------hasErrors"); if(hasFieldErrors()原创 2013-07-24 13:08:29 · 795 阅读 · 0 评论 -
java.lang.Exception: Socket bind failed: [730048]
2013-7-24 16:33:20 org.apache.coyote.http11.Http11AprProtocol start严重: Error starting endpointjava.lang.Exception: Socket bind failed: [730048] ?????????×???(Э?é/???????/???)????í?? at org.ap原创 2013-07-24 16:38:50 · 1128 阅读 · 0 评论 -
使用Ext.grid.column.Column定义列
正如从前面的示例中看到的,创建Ext.grid.Panel时,必须指定columns选项,该选项要么是Ext.grid.column.Column数组,要么是JavaScript对象,该对象中必须包含一个items属性,该属性值依然是Ext.grid.column.Column数组——总之,定义Ext.grid.Panel时,必须传入Ext.grid.column.Column数组来定义各数据列。转载 2013-05-14 17:29:26 · 2690 阅读 · 0 评论 -
java hashCode详解
hashCode就是我们所说的散列码,使用hashCode算法可以帮助我们进行高效率的查找,例如HashMap,我在前面的文章有介绍过,这里就不再啰嗦了。说hashCode之前,先来看看Object类。我们知道,Object类是java程序中所有类的直接或间接父类,处于类层次的最高点。在Object类里定义了很多我们常见的方法,包括我们要讲的hashCode方法,如下 Java转载 2013-08-06 17:29:59 · 969 阅读 · 0 评论 -
Java中的BoneCP数据库连接池
最近在学习公司的框架,涉及到连接数据库部分的技术时,发现用的是BoneCP,上网查阅了相关资料与例子,个人觉得下面这例子比较容易懂,有收藏的价值存在,故将其放在自己的博客里,供学习时参考: BoneCP is a fast, free, open-source, Java database connectionpool (JDBC Pool) library. If you are famil转载 2013-09-11 17:10:03 · 3896 阅读 · 0 评论 -
log4j.properties配置详解(转载)
Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下: #配置根Loggerlog4j.rootLogger= [level ] , appenderName1 ,转载 2013-09-24 17:08:09 · 788 阅读 · 0 评论 -
KBps和Kbps的区别
1、Kb和KB的区别:计算机中的信息都是二进制的0和1来表示,其中每一个0或1被称作一个位,用小写b表示,即bit(位);大写B表示byte,即字节,一个字节=八个位,即1B=8b;前面的大写K表示千的意思,即千个位(Kb)或千个字节(KB)。一般都使用字节(KB)来表示文件的大小。2、Kb和Kbps的区别:首先要了解的是,ps指的是/s,即每秒。Kbps指的是网络速度,也就是每秒钟传送多转载 2013-07-09 09:15:27 · 6074 阅读 · 0 评论 -
备忘-按日期、时间或大小生成log文件的log4j配置方案
from:http://blog.sina.com.cn/s/blog_543e73a80100o757.html我们开发的B/S结构系统,在服务端一般要有日常运行的日志记录。保存成日志文件形式的时候,大家经常会遇到一个问题:日志文件过大。上百兆的日志文件对 查阅日志信息来说也是一个问题。所以我希望能够每天或每个月产生一个日志文件,这样文件不至于过大。 或者根据日志文件大小来判断,超过规定大小转载 2013-07-09 11:54:58 · 2897 阅读 · 0 评论 -
MyEclipse 8.5 安装 axis2 插件
题记: 最近在看axis2的一些资料,在官网上看到了axis2提供的两个eclipse插件工具,觉得很不错,就希望在MyEclipse上安装。axis2网站上介绍的安装方法很简单,但自己弄的时候总是不成功,网上看的很多资料也大多不成功,在此记录下我的处理方法。 摘要 一:MyEclipse安装axis2插件简述 二:浅析安装失败的原因转载 2013-06-07 13:11:06 · 913 阅读 · 0 评论 -
用java实现文件下载并压缩
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class ZipOutputStreamDe转载 2013-04-24 09:17:42 · 3028 阅读 · 0 评论 -
myeclipse building workspace如何禁止及提高myeclipse速度
大家一定对building workspace时那缓慢的速度给困扰到了吧~其实只要把project选项里的 building automatically前的勾去掉,就可以快很多了。。另外大家一定对 myeclipse 的速度经常感到痛苦把,ok,现在开始给 myeclipse 提速: 一、加大JVM的非堆内存 打开 eclipse.ini -showsplash c转载 2013-04-27 12:39:54 · 587 阅读 · 0 评论 -
【分词】正向最大匹配中文分词算法
中文分词一直都是中文自然语言处理领域的基础研究。目前,网络上流行的很多中文分词软件都可以在付出较少的代价的同时,具备较高的正确率。而且不少中文分词软件支持Lucene扩展。但不管实现如何,目前而言的分词系统绝大多数都是基于中文词典的匹配算法。 在这里我想介绍一下中文分词的一个最基础算法:最大匹配算法 (Maximum Matching,以下简称MM算法) 。MM算法有两种:一种正向最大转载 2013-05-21 15:12:54 · 1326 阅读 · 0 评论 -
短信网关返回的短信内容编码怎么转换成中文
汉字不同编码转换的问题 UCS2转码的心得看到很多朋友都对汉字的unicode编码有问题, 还需要什么”unicode汉字对应表”...一直想回贴子,但太忙(包括忙着从论坛中索取自己需要的东西).其实汉字的编码转换很简单,我相信C++也应该有相应的函数.希望这些代码对用Java的朋友有帮助./** UnicodeTest.java** Created on July 29, 200转载 2013-05-22 18:24:16 · 1243 阅读 · 0 评论 -
Servlet中Web.xml的配置详解
1 定义头和根元素部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。DOCYTPE声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义)。所有部署描述符文件的顶层(根)元转载 2013-05-22 17:54:53 · 2237 阅读 · 0 评论 -
SSO单点登录解决方案[转载]
1 什么是单点登陆 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 较大的企业内部,一般都有很多的业务支持系统为其提供相应的管理和IT服务。例如财务系统为财务人员提供财务的管理、计算和报表服务;人事系统为人事部门 提供全公司人员的维转载 2013-05-10 13:37:57 · 920 阅读 · 0 评论 -
SQLSERVER函数大全
一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果。这些要求包括:执行计算与数学运算、转换数据、解析数值、组合值和聚合一个范围内的值等。下表给出了T-SQL函数的类别和描述。函数类别作用聚合函数 执行的操作是将多个值合并为一个值。例如 COUNT、SUM、MIN和 MAX。配置函转载 2013-05-31 15:30:11 · 1093 阅读 · 0 评论 -
ActionInvocation
Interceptor说明Interceptor的接口定义没有什么特别的地方,除了init和destory方法以外,intercept方法是实现整个拦截器机制的核心方法。而它所依赖的参数ActionInvocation则是我们之前章节中曾经提到过的著名的Action调度者。我在这里需要指出的是一个很重要的方法invocation.invoke()。这是ActionInvocation中转载 2013-06-03 18:31:31 · 973 阅读 · 0 评论 -
JAVA技巧(Java多线程运行时,减少内存占用量)
项目发布到Production服务器上,经过一段时间跟踪发现服务器上项目的内存占有量在缓慢增长,但是在本地做压力时却没有发现这个问题,或者虽然做了压力测试单由于环境的差异内存增长不明显所以没有注意。于是就下载了JProfilter安装到本地的测试服务器上,运行测试发现有些类的个数竟然大于并发线程的个数,很是奇怪,经分析发现原来这并发线程都使用New Class来实现一些对底层数据或对象的操作,代码转载 2013-06-14 09:03:05 · 4116 阅读 · 0 评论 -
Java try catch finally的执行顺序
关于Java中try catch finally 的执行顺序一直是入职笔试的一个热门,其实在实际的项目中还是遇到的比较多,所以整理如下: 需要首先注意的几点: 1) try catch finally中的finally不管在什么情况之下都会执行,执行的时间是在程序return 之前. 2) Java 编译器不允许有显示的执行不到的语句块,比如return之后就不转载 2013-06-14 09:15:30 · 634 阅读 · 0 评论 -
Struts2请求处理流程及源码分析
1.1 Struts2请求处理1. 一个请求在Struts2框架中的处理步骤:a) 客户端初始化一个指向Servlet容器的请求;b) 根据Web.xml配置,请求首先经过ActionContextCleanUp过滤器,其为可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助(SiteMesh Plugin),主要清理当前线程的ActionContext和Dispatche转载 2013-06-05 11:59:04 · 699 阅读 · 0 评论 -
ajax请求返回的页面不跳转
AJAX请求是不可能在服务端完成跳转的,它只能将文本信息传回到客户端。你可以这么做,如果验证失败的话让拦截器将失败信息以一定的json格式写入输出流中,然后在js里为Ext.ajax添加requestcomplete事件监听,对返的XMLHttpRequest 进行解析,如果responseText属性是验证失败的json串则在客户端通过window.location进行跳转转载 2013-06-05 23:23:26 · 2585 阅读 · 0 评论 -
document的createDocumentFragment()方法
在《javascript高级程序设计》一书的6.3.5:创建和操作节点一节中,介绍了几种动态创建html节点的方法,其中有以下几种常见方法:· crateAttribute(name): 用指定名称name创建特性节点· createComment(text): 创建带文本text的注释节点· createDocumentFragment(): 创建文档转载 2013-06-17 10:59:35 · 609 阅读 · 0 评论 -
解决SWFUpload在Chrome、Firefox浏览器下session找不到的问题
SWFUpload是一个非常不错的异步上传组件,但是在Chrome、Firefox等浏览器下使用的时候会有问题。问题如下:为了防止跳过上传页面直 接向“接受SWFUpload上传的一般处理程序”(假如是Upload.action)发送请求造成WebShell漏洞,我的系统中对于 Upload.action进行了权限控制,只有登录用户才能进行上传。在IE下没问题,但是在Firefox下运行报错ses原创 2013-09-04 17:03:29 · 3960 阅读 · 2 评论