一个JAVA进程对应一个虚拟机实例
是一对一关系,不是多对一关系
是一对一关系,不是多对一关系
Pattern p = Pattern.compile(reg); Matcher matcher = p.matcher(h); while(matcher.find()){ System.out.println((matcher.group())); }
我用junit的写了个test case, 其中启动了一个无限循环运行的线程,结果运行TEST CASE时这个线程早早地终止了,搞得我排错排了半天!
原因可以归结为两点: 1. 不断地将对象放到缓存中,将泳池撑爆 2. SQL语句数可能与对象数成正比,太多的SQL操作造成效率低下
"朱元璋".getBytes("utf-8").length = 9 "朱元璋".getBytes("GBK").length = 6 "朱元璋".getBytes("ISO8859-1").length = 3 "朱元璋".getBytes().length = 6 //在windows中文版上运行 "朱元璋".getBytes().length = 3 //在SCO UNIX上运行
Key Meaning ——————- —————————— "file.separator" File separator (e.g., "/") "java.class.path" Java classpath "java.class.version" Java class version number "java.home" Java installation directory "java.vendor" Java vendor-specific string "java.vendor.url" Java vendor URL "java.version" Java version number "line.separator" Line separator "os.arch" Operating system architecture "os.name" Operating system name "path.separator" Path separator (e.g., ":") "user.dir" User’s current working directory "user.home" …
在catalina.bat中加上红色那行 set _EXECJAVA=%_RUNJAVA% set MAINCLASS=org.apache.catalina.startup.Bootstrap set ACTION=start set SECURITY_POLICY_FILE= set DEBUG_OPTS= set JPDA= set JAVA_OPTS= -Xms512M -Xmx1024M ===JSP中查看当前的内存使用状况= Runtime lRuntime = Runtime.getRuntime(); out.println("*** BEGIN MEMORY STATISTICS ***"); out.println("Free Memory: "+lRuntime.freeMemory()/1024/1024+"M"); out.println("Max Memory: "+lRuntime.maxMemory()/1024/1024+"M"); out.println("Total Memory: "+lRuntime.totalMemory()/1024/1024+"M"); out.println("Available Processors : "+lRuntime.availableProcessors()+""); out.println("*** END MEMORY STATISTICS ***");
[Spring MVC] 如果successView是redirect:/…,Spring会自动把Model中的值作为参数附在URL的后面 如: model.put("amount",new Integer(100); return new ModelAndView("redirect:/hi.do",model); 则浏览器收到的URL就是 http://…/hi.do?amount=100
BufferedReader consoleInput = new BufferedReader( new InputStreamReader(System.in)); System.out.print("输入XX的ID:"); if(consoleInput.readLine().equals("")){ return; }else{ …… }
CGLIB要求被代理有类有一个无参的构造函数,所以用HIBERNATE定义BO时一定要有一个无参的构造函数 hibernate3的merge可以解决 一个session中有多个ID相同的对象 的问题 如果业务方法被transaction manager包住,那么,执行业务如在逻辑上发现不能进行CRUD操作,应该主动抛出异常,以使事务回滚 如果要做一个线程不停地扫描数据库,不要让这个线程成为bean本身,而要让它查找bean 否则的话,如果线程代表的bean被改变了,线程也不会意识到这个变化。 hql的where子句中判断xx 是否为null 的写法是, xx is(not) null 关于many-to-one属性值为CGLIB代理对象的问题 1.看清楚关键值,对症下药: hibernate, many-to-one,enhancerBycglib, no session 2.是否将many-to-one 设置成lazy="true",如果是,请略过第3步 3.是否使用的是hibernate3,并且没有设置lazy属性? 4.是否在逻辑层管理session,但是在web层使用数据对象? 5.改成lazy=’false’..end. 6.是否将many-to-one 设置成lazy="falze",现象依旧? 7.检查数据库内的外键字段,因为可能没有体现many-to-one的外键了,而依据主动方引用的主键是不存在的.. 8.建立外键. 9.依然没有解决…去下个hibernate_ref 仔细看看,你需要补充知识了 10.问题解决. hibernate3连class本身的lazy都默认为proxy,所以最好将hibernate-mapping的default-lazy置为false hibernate映射中的cascade与数据库的外键cascade完全不一样: 设A引用B,设置cascade="delete",是指当删除A时,hibernate自动为你删除B, 而在关系数据库中,为A对B的引用关系设置“级联删除”,是指当删除B时,数据库自动为你删除A