用fastJson反序列化,当一个对象里面含有内部类时,这个时候序列化是会失败的,解决方法是把内部类迁移出来,这样就可了。
restful设计思想的就是利用http的post、get等操作实现数据库的增删改查
nginx配置负载均衡的时候,备用服务器和当前监听服务器端口最好错开。
对于大量数据处理的方法是分而治之,jdk7推出的Fokr、join就是这方面的代表
并行设计模式:生产消费者模式,核心组件共享内存缓存区,是利用disruptor实现它的,原理是无锁的形式实现了一个环形队列,实现了生产者与消费者之间的解耦。
简单地讲,一个Native Method就是一个java调用非java代码的接口
常见的多线程设计模式还又future设计模式、读写锁设计等等
0colb字段如何转化为string字段,注意jdbc6中clob字段长度为4193时,会报错违反协议
Clob clob = rs.getClob("remark");//java.sql.Clob
String detailinfo = "";
if(clob != null){
detailinfo = clob.getSubString((long)1,(int)clob.length());
}
0如何获取属性文件里面的值
Properties properties = new Properties();
properties.load(getClass().getResourceAsStream("/XXX.properties"));
properties.getProperty("键值主键")
Mybatis中有一个通用的工具包resource也是从类路径下面加载,既可以加载属性文件,又可以加载xml文件
总结:java的properties文件需要放到classpath下面,这样程序才能读取到,这个位置就是打包后wtpwebapps\sap\WEB-INF\classes这个位置,如果没有打包的时候,要放东西的时候是要放在resource文件下即可。
有关classpath实际上就是java类或者库的存放路径,在java工程中,properties放到
class文件一块。在web应用中,最简单的方法是放到web应用的WEB- INF\classes目录下即可,也可以放在其他文件夹下面,这时候需要在设置classpath环境变量的
时候,将这个文件夹路径加到 classpath变量中,这样也也可以读取到。在此,你需要对classpath有个深刻理解,classpath绝非系统中刻意设定的那个系统环境变
量,WEB-INF\classes其实也是,java工程的class文件目录也是。
oracle 中clob字段如何查询里面的值
用where tochat(clob字段)=#{XXX}就可以查询,排序的时候 用这个字段也是可以的 order by tochat(clob字段
如何获取XML文件里面的值
JAVA如何获取当前进程的方法名与类名
- public static void testGetFunctionName() {
- // 方法1:通过Throwable的方法getStackTrace()
- String funcName2 = new Throwable().getStackTrace()[1].getMethodName();
- System.out.println(funcName2);
- //方法2:通过Thread的方法getStackTrace()
- String clazzName4 = Thread.currentThread().getStackTrace()[2].getMethodName();
- System.out.println(clazzName4);
- }
MapperFactoryBean的出现为了代替手工使用SqlSessionDaoSupport或SqlSessionTemplate编写数据访问对象(DAO)的代码,使用动态代理实现。也就是说如果你配置了MapperFactoryBean,你就不用再写daoImp层了的东西,直接在dao层定义一个方法,只要该方法与那个XML方法名称一致,就可以了
netstat -ano | findstr 8080
taskkill /F /PID 5516
3计算日期差
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
long to = df.parse("2008-4-25").getTime();
long from = df.parse("2008-1-20").getTime();
System.out.println((to - from) / (1000 * 60 * 60 * 24));
如何遍历日期
String startDay="2016-10-10";
String endDay="2016-10-14";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date startDay1=formatter.parse(startDay);
long startDay111=startDay1.getTime();
Date endDay1=formatter.parse(endDay);
long endDay111=endDay1.getTime();
long time = 1000 * 60 * 60 * 24;
for(long i=startDay111;i<=endDay111;i=i+time){
String endStr = formatter.format( new Date(i));
System.out.println(endStr);
}
---------------------------------------------------------
万用sql语句
create user 用户名 identified by 密码;
grant connect,resource,dba to 用户名;
------------------------------
js中封装方法一般有三种:
1 利用原型扩展(扩展的对象一般都是些公共对象,比如array之类的)
Array.prototype.contains = function (obj) {...}
2 常见函数封装 function XX(percentArr, adjustWidth) {...}
3 对象里面封装(模块专用)
wms.common = { X:function(obj1) {...}, XX:function(obj2) {...},... };
如何利用js的返回值,如果函数有返回值那么
function a(){
return 12;
}
直接 var x=a();常见的也有这种写法,注意区别 var a=function (percentArr, adjustWidth) {...};
--------------------------------------------------------
这样一个语句就能实现是否自动出现滚动条,当高度大于150px时就会出现竖向滚动条,当宽度大于100px就会出现横向滚动条
<div style="width:100px;height:150px;overflow:auto">
--------------------------------------------------------
java中重启一个线程最简单的方法:
new Thread(new Runnable() {
public void run() {
try {
...
} catch (Exception e) {}
}).start();
--------------------------------------------------------
AJAX一般由5部分组成:data dataType type url success
-------------------------------------------
var jsonItem=[];这样定义是一个数组,应该查js数组常用方法都有哪些
var jsonItem={};这样定义是一个对象,里面可以存放数组等信息
$.each(data,function(index,item){
var jsonItem={};
jsonItem["A"]=item.A;
jsonItem["B"]=item.B;
upProRetItems.push(jsonItem);
});
------------------------------------------