随笔分类 -  Java

摘要:操作:下载了一个插件,插件中只有一个jar包,解压放到plugins目录,插件没生效。解决方法:把jar包直接扔到dropins目录下,并且删除eclipse\configuration\org.eclipse.update 文件即可。参考文档:http://www.360doc.com/conte... 阅读全文
posted @ 2014-11-26 10:53 _zao123 阅读(1261) 评论(1) 推荐(1) 编辑
摘要:Runtime.getRuntime().addShutdownHook(shutdownHook); 这个方法的含义说明:这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才... 阅读全文
posted @ 2014-05-13 10:29 _zao123 阅读(143) 评论(0) 推荐(0) 编辑
摘要:昨天同事在写一个多线程代码的时候,出现了共享对象被修改的问题。for(int i=1; i<=pageNo; i++){ searchDO.setPageSize(PER_PAGE); searchDO.setPageNo(i); Callable<List<String>> callable = new SearchThreadMethod("thread_"+i, searchDO); Future<List<String>> future = cuPool.submit(callable); ... 阅读全文
posted @ 2013-01-18 11:19 _zao123 阅读(357) 评论(0) 推荐(0) 编辑
摘要:生成的map放值时是无序的,遍历后打印的结果可以得出一下结论:1,HashMapkey是整型时会默认排序,而且是升序;key不是整型时,默认不排序,并且遍历取值时是随机的顺序,不是原先放入的顺序。2,LinkedHashMapkey是整型或者不是整型都不排序,LinkedHashMap保证按放入顺序遍历。3,TreeMapkey是整型或者不是整型都排序,LinkedHashMap默认会排序。按照key排序对于java中Map的排序,有排序Map,比如TreeMap,对于这个Map,首先只能按照键排序,其次再put和remove的时候由于需要排序,性能上会有所牺牲。这种方案,使用hashmap进 阅读全文
posted @ 2012-12-18 18:06 _zao123 阅读(1508) 评论(0) 推荐(0) 编辑
摘要:今天遇到java.lang.outofmemoryerror permgen space 问题,总结一下:1.eclipse outofmemory 原因是eclipse.ini文件配置的permgen size太大,导致一启动应用eclipse就奔溃,改了配置后eclipse启动不会奔溃退出。2.jbossjava.lang.outofmemoryerror permgen space 原因是jboss-4.2.2.GA\bin\run.bat 下参数rem JVM memory allocation pool parameters. Modify as appropriate.set JA 阅读全文
posted @ 2012-12-17 20:37 _zao123 阅读(214) 评论(0) 推荐(0) 编辑
摘要:Maven 的41种骨架:...>mvn archetype:generate1: internal -> appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型)2: internal -> appfuse-basic-spring (创建一个基于Hibernate,Spring和Spring MVC的Web应用程序的原型)3: internal -> appfuse-basic-struts (创建一个基于Hibernate,Spring和Struts 2的Web应用程序的原型)4: internal -&g 阅读全文
posted @ 2012-11-14 16:19 _zao123 阅读(5923) 评论(0) 推荐(1) 编辑
摘要:工作中碰到个ConcurrentModificationException。代码如下:List list = ...;for(Iterator iter = list.iterator(); iter.hasNext();) { Object obj = iter.next(); ... if(***) { list.remove(obj); }}在执行了remove方法之后,再去执行循环,iter.next()的时候,报java.util.ConcurrentModificationException(当然,如果remove的是最后一条,就不会再去执行next()操作了)下面来看一下源码pu 阅读全文
posted @ 2012-09-27 00:04 _zao123 阅读(313) 评论(0) 推荐(0) 编辑
摘要:http://www.oschina.net/question/12_14127http://www.open-open.com/jsoup/selector-syntax.htm比如:可以用.body p查找在"body"元素下的所有p元素 阅读全文
posted @ 2012-09-26 22:35 _zao123 阅读(177) 评论(0) 推荐(0) 编辑
摘要:1) redirect 方式 response.sendRedirect("/a.jsp"); 页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如: response.sendRedirect("URL"); 跳转后浏览器地址栏变化。 这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。 2) forward方式 RequestDispatcher dispatcher = request.getRequestDis 阅读全文
posted @ 2012-09-26 15:25 _zao123 阅读(870) 评论(0) 推荐(0) 编辑
摘要:今天在调试一段代码的时候,抛出异常java.util.ConcurrentModificationException,这个异常之前没怎么碰到过,抛错代码如下:private List<String> getShopLinkList(Elements elements) throws Exception { List<String> shopUrlList = new ArrayList<String>(); for(Element element :elements){ String parseLink = element.at... 阅读全文
posted @ 2012-09-26 15:22 _zao123 阅读(359) 评论(0) 推荐(0) 编辑
摘要:public static void main(String[] args) { String url = "http://qiang.tmall.com/go/chn/qiang/cate-fushi.php"; String pattern = "[^//]*?\\.(com|cn|net|org|biz|info|cc|tv)" ; String pattern1 = "(?<=http://|\\.)[^.]*?\\.(com|cn|net|org|biz|info|cc|tv)" ; Pattern p = Pa... 阅读全文
posted @ 2012-09-26 15:05 _zao123 阅读(3904) 评论(0) 推荐(0) 编辑
摘要:1.启动tomcat时候抛错严重: Servlet.service() for servlet jsp threw exceptionjava.lang.NullPointerExceptionat org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:1 阅读全文
posted @ 2012-09-24 15:47 _zao123 阅读(1289) 评论(0) 推荐(0) 编辑
摘要:应用场景: a页面保单提交进行validation验证,如果验证不通过则跳转到当前页面并展现已有数据列表,也就是a页面既包含新增表单,又有列表展现。 一开始的想法是用redirect 类型,可以这个类型明显不行,拿不到验证不通过的信息。后来决定用chain,但是跳转是跳转过来,可没有去走chain跳转到action中的方法如下列代码:aAction验证不通过,chain到bList,(备注 :1,两个在同一个namespace,2,bList result为input类型的一定要配置)但是却没有走listB这个方法,而是直接把验证错误信息展现到b_list.jsp。显然结果不对。<act 阅读全文
posted @ 2012-07-07 23:45 _zao123 阅读(1229) 评论(0) 推荐(0) 编辑
摘要:进程和线程总结:线程概念:线程是程序的基本执行单元。当操作系统在执行一个程序时,会在系统中统一建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口。因此,在操作系统中运行的任何程序至少有一个主线程。进程和线程是现代操作系统中两个必不可少的运行模型。在操作系统中可以有多个进程,这些进程包括系统进程(由操作系统内部建立的进程)和用户进程(由用户程序建立的进程);一个进程中可以有一个或多个线程。进程和进程之间不共享内存,也就是说系统中的进程是在各自独立的内存空间中运行的。而一个进程中的线可以共享系统分派给这个进程的内存空间。非阻塞的socket链接和异步 阅读全文
posted @ 2012-06-26 23:26 _zao123 阅读(248) 评论(0) 推荐(0) 编辑
摘要:之前做项目的时候,有看到myibatis,没太去了解,以为是类似eclipse和myeclipse的关系,今天准备搭建一个新项目的时候,仔细看了之前做的一个myibatis和springmvc整合的项目,发现配置文件还是有些区别的。下面这篇文章讲解的比较详细,http://www.ibm.com/developerworks/cn/opensource/os-cn-mybatis/index.html?ca=drs-值得细看,mark以便忘记!看完还是决定用ibatis 2.x版本和spring mvc进行整合,这样子很容易上手,节约成本! 阅读全文
posted @ 2012-06-24 21:46 _zao123 阅读(235) 评论(0) 推荐(0) 编辑
摘要:上篇文章讲了关于maven JVM的参数设置,下面总结下web开发中经常碰到的JVM的参数设置。1,Eclipse的jvm参数配置 eclipse通过eclipse安装目下的eclipse.ini文件设置jvm参数,比如:-vmargs //这个表示vm参数-Dosgi.requiredJavaVersion=1.5-Xms512m-Xmx512m-XX:PermSize=256M-XX:MaxPermSize=512M 重新安装了一个eclipse,却发现eclipse无法启动,有时候是因为找不到vm即找不到本地安装的jdk,也是通过修改该文件中的参数,例如:-vmD:/Progra... 阅读全文
posted @ 2012-06-03 01:32 _zao123 阅读(2295) 评论(0) 推荐(0) 编辑
摘要:1,为什么会出现乱码 乱码的根本原因是字节和字符的问题。 我们在大学学习c的时候,老师就有介绍字符和字节。 字节由8个bit位表示,最早的编码是ASCII码,ASCII码是单字节的编码字符。因为单字节8个bit位对于中文字符和其他国家的字符来说根本不够用,需要更多的bit位来表示字符。我们现在常见的编码有GBK,BIG5,GB2312,UTF-8,通过编码映射表可以确定bit位和字符之间的映射关系。 一个应用从服务端把需要展现的文字换成一段字节流传输给浏览器,浏览器把字节流组装字符展现的过程一般是这样(应用的编码是GBK): 服务端:String text->getBytes(" 阅读全文
posted @ 2012-06-01 20:00 _zao123 阅读(682) 评论(0) 推荐(0) 编辑