`
文章列表
FileInputStream不支持从网络路径获取数据,否则有出问题:如 FileInputStream input = new FileInputStream("http://www.test.com/upload/test.xlsx") 抛出异常http:\www.test.com\upload\test.xlsx---因为是window系统 所以可以使用 URL url = new URL("http://www.test.com/upload/test.xlsx"); FileInputStream input = new Buffe ...

gson解析工具类

    博客分类:
  • json
考虑引入gson,测试整理了工具类: public class JsonUtils { public static String toJson(Object arg) { Gson gson = new Gson(); return gson.toJson(arg); } public static <T> T getObjectFromJson(String json, Class<T> classOfT) { Gson gson = new Gson(); return gson.fromJson(json, class ...
平时开发,运行测试类,都直接使用开发平台:Run as->.....,此次有个自动服务,为了便于测试,测试人员要求能包装成可独立运行单个应用,自己就马上添加main函数包装,并在eclipse中Run as->Java Application顺利通过,因为要发布到测试环境,所以需要提供可运行的java命令串,折腾了大半天,终于写出正确命令串,感觉代码越写人越傻人, ,main函数: public static void main(String[] args) { String configPath = "classpath:applicationContext-x ...

dubbo源码编译

转发自:http://www.cnblogs.com/pengkw/p/3674730.html 首先从wget https://github.com/alibaba/dubbo/archive/master.zip下载最新源码,目前最新版本为2.5.4-SNAPSHOT 解压文件  cd dubbo  mvn clean install -Dmaven.test.skip  报错:Non-resolvable parent POM: Could not transfer artifact com.alibaba:opensesame:pom:2.0 from/to opensesame ...
项目使用json-lib-2.4-jdk15.jar进行json<->pojo之间转换,今天发现一个悲剧问题: String jsonString = "[{\"amount\":670526.32},{\"amount\":29473.68}]"; JSONObject jsonObject = JSONObject.fromObject(jsonString); 结果发现第一个数值转换后为670526.3,精度出现问题,网上搜索一番,没找到原因,蛮试试降低版本json-lib-2.3-jdk15.jar,竟然正确, ...
应用服务器,对于每个请求,会开设一个线程用于处理请求,为了提高响应速度,服务器端一般都会配置启用线程池,而线程池中的线程,是会存在复用的可能,这样对于使用ThreadLocal来让线程共享数据时,如果一个线程处理结束后,没有从ThreadLocal剔除数据时,可能存在数据被他用的可能,更严重导致内存泄露(见:http://my.oschina.net/ainilife/blog/261297)。截止目前,系统出现过2次因该原因,导致数据被他用: 1、利用threadlocal来存放当前操作人员信息,便于记录日志时,无需传参就可以拿到当前操作人员信息,结果发现日志记录的人员信息与真实不一致 ...

CPU占用高

前天下午,服务器突然没响应,日志出现内存溢出异常,最后确认CPU占用过高导致出现问题,使用jvisualvm来监控jvm,也无法连接上服务器,业务高峰期情况下,只能先启用备用服务器,以便检查,结果备用服务器没撑过10分钟,也出现同样现象,实际在线用户不多,按理并发量也不大,而且以前这个量也承受过来,在没办法情况下,只能再次启用多台备用服务器,然后一个人监控,负责kill,restart。留一台给我们做分析(在测试环境压测,无法重现改现象),jvisualvm监视视图,gc占用CPU并不高(感觉这个不准确),但整个堆内存将近封顶,之后只能尝试逐渐加上打印gc日志(-XX:+HeapDumpOn ...
tomcat服务器支持远程进行调试debug,步骤: 1、对tomcat服务器,开通远程调试端口 给JVM加上如下的启动参数: -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n 其中8787为端口,连接方式有两种,为dt_shmem和dt_socket,分别表示本机调试和远程调试。 然后正常启动tomcat     2、eclipse配置远程调试 “Run”->“Debug Configurations”->“Remote Java Application”,新建一个应用, ...
/* * 1.线程分用户线程和守护线程,对于jvm来说,只要存在一个用户线程,就不会结束;如果不存在任何用户线程,不管有多少守护线程,jvm都会结束退出 * 2.设置为守护线程,通过setDaemon(true)来设置,如不设置,默认为false,设置方法必须在线程启动前调用,否则抛出异常;jvm垃圾回收线程,就是典型的守护线程应用 * */ public class Test { public static void main(String[] aregs) { Thread m = new MoreThread(); m.setDaemon(true); / ...
Global site tag (gtag.js) - Google Analytics