- 浏览: 1236090 次
- 性别:
- 来自: 北京
最新评论
-
longxitian:
https://www.cnblogs.com/jeffen/ ...
万恶的Mybatis的EnumTypeHandler -
asialee:
ddnzero 写道博主请问FileUtils这个类是哪个包的 ...
使用mockftpserver进行ftp测试 -
ddnzero:
博主请问FileUtils这个类是哪个包的?还是自己的呢?能放 ...
使用mockftpserver进行ftp测试 -
yizishou:
为什么会intMap.get("bbb") ...
浅谈System.identityHashCode -
liguanqun811:
感觉LogManager打开了所有的LogSegment(文件 ...
jafka学习之LogManager
文章列表
[置顶] java的多线程编程
- 博客分类:
- 多线程
要求:子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,
接着再回到主线程又循环100,如此循环50次,请写出程序。
我的程序如下:
public class MainThread extends Thread {
private Object lock;
private int num;
private int limit;
public MainThread(Object lock, int limit) {
this.lock = lock;
this.limit = limit;
}
public ...
$.ajax()在Velocity中会冲突, 总之这个是velocity的一个bug,直接比如在evaluate $.trim的时候,会输出.tirm, $被无缘无故的吃掉了,直接上代码:
import java.io.StringWriter;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
public class VelocityTest{
public static void main(String[] args) {
...
[置顶] 一种多数据源分页算法
- 博客分类:
- java
以前开发一个系统,需要去多个系统去取数据,简单期间,比如a,b,c 三个系统,然后抓取过来,每页显示10条,比如a系统的总记录数是10,b是15,c是8条,起先的时候要去这三个系统去查总记录数,但是翻页的时候,有的时候就不需要去各个系统都取了,比如第一页,只要去a系统取数据就可以了,第二页到b系统取10条记录,第三页是在b系统取5条记录,在c系统取5条记录,第四页去c系统取3条记录。
之前在网上找过,但是没有找到,后来就自己写了一个算法,可以完美的解决这个问题,直接上代码吧。
package com.xxx.pc.common.pager;
import java.ut ...
在同一个form表单中,同时传中文,用post方法提交,不出现乱码,但是用get方法提交他就出现乱码。
然后就想找问题的原因,当时考虑到,已经在web.xml里面已经配置了CharacterEncodingFilter,为什么还会乱码呢,后来分析了下,如果采用post提交,会走这个Filter,但是如果是用get方式,是不走Filter的,所以在后端会变成乱码,解决方案有两条。一个是设置tomcat的server.xm里面的connector,效果如下:
<Connector port="8080" protocol="HT ...
项目中使用ftp,由于在单元测试的时候不连接物理ftp,所以需要将ftp进行mock,当然了,在我们项目中只用了ftp的对单个文件进行,自己用socket来mock也不难,所以在网上找了一个,将用法记录在此,直接上代码。
FakeFtpServer fakeFtpServer = new FakeFtpServer();
fakeFtpServer.setServerControlPort(7777);
// 创建服务器 添加用户
fakeFtpServer.addUserAccount(new UserAccount("123", & ...
项目中由于要使用到ftp服务,虽然之前对edtFTPj有研究,但是鉴于edtFTPj版本更新比较慢等原因,没有使用这个包,我们用的功能比较简单,先简单的介绍下。
过程一般是先建立连接,登陆,然后执行命令,最后关闭连接,相对来说比较简单,直接上代码。
需要说明的是,在写测试单元测试的时候,如果不依赖物理的ftp,就需要自己mock一个ftp了,我在网上找到一个mockFtpServer,具体用法大家可以参考。
package com.xxx.aaa.data.ftp;
import java.io.File;
import java.io.FileIn ...
鄙人写了一个java证书的文章,很多兄弟不会导出证书,特意在chrome下面给了个例子,希望对大家有用.
今天在和同事排除一个问题的时候发现,从ftp上下载下来一个文件,写到本地后会多加一个换行,这样会导致md5值发生变化。然后到各个地方去排除问题,最后发现是以前写的程序的一个问题,将这个程序贴在这个地方.
/**
* 获取类路径文件内容
*
* @param filePath
* @return
*/
public static String getContentFromClassPath(String filePath) {
InputStream is = null;
try {
is = new Clas ...
由于项目组的规定,谁提的代码将hudson弄红,谁大家吃冰激凌,简称IceCream Rules。 所以大家在提代码的时候必须先在本地执行mvn clean install。今天发现一个问题,一位同事在本地执行maven clean install是好的,提交到hudson上变红,于是就触发了该法测。原因如下:
本地同事使用的是maven3,ci的hudson是maven2,maven2和maven3在reporting这一块的配置是不一样的,特意将maven2和maven3的配置记录在此,以后项目升级maven版本的时候可能会用得到。maven2的配置如下:
...
要解决的问题:
由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com 的服务器沟通,而 HTML 的 <script> 元素是一个例外。利用 <script> 元素的这个开放策略,网页可以得到从其他来源动态产生的 JSON 资料,而这种使用模式就是所谓的 JSONP。用 JSONP 抓到的资料并不是 JSON,而是任意的 JavaScript,用 JavaScript 直译器执行而不是用 JSON 解析器解析。
为了让浏览器可以在 <script> 元素执行,从 src 里 U ...
和同事一块定位一个问题的时候,打印出来的sql是对的,但是执行的不对,由于使用的是namedParameter,所有不是真实执行的sql,最终调试发现,在AbstractBatcher类里面
在真正的执行sql语句:
public ResultSet getResultSet(PreparedStatement ps) throws SQLException {
ResultSet rs = ps.executeQuery();
resultSetsToClose.add(rs);
logOpenResults();
return rs;
}
...
今天项目出现一个非常怪的现象,使用spring拦截的异常有时候显示不出来的问题,现在将原因和解决方案记录下,spring的拦截代码如下:
if(accept.indexOf("application/json")>-1){
return super.getModelAndView("errors/ajax/500", ex, request);
}
500页面的代码如下:
<%@ page language="java" contentType="application/json; ...
经常我们在做javascript的autosuggest的时候,会使用%通配符,但是大家可能会经常忽略_通配符,它匹配一个字符,一个不多,一个也不少。%能匹配0个字符不一样,_总是匹配一个字符,不能多也不能少,这个地方在写sql的时候要特别注意。
解决方案是使用\进行escape,下面是解决方案的sql。
select * from users where name like '%\_%;'
在这个记录一下,记录java获取某个月的工作日的代码,方便以后查看!
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import com.taagoo.wenbo.common.util.DateUtils;
public class Test {
private static List<Date> getDates(int year,int month){
List<Date> d ...
现象是MIME_TYPE不正确。
解决方案是手动的设置contentType。
// jquery.plugin.form有bug,只能通过这种方式实现
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write(result.toString());