- 对于windows来说,32位使用最大内存为2G,如果你给jvm分1.5G,剩余大约500M,供OS使用,其中windows的dll占了一部分,但是你在JVM创建线程的时候,创建的是OS的线程,他要从剩余的空间中分配内存。如果没有可用内存,出现ava.lang.OutOfMemoryError: unable to create new native thread。
- jdk1.4每线程256k, jdk1.5每线程1M。如果设置没有超过1M, 又不是默认设置,那么jdk就会为每个线程分配1M。
eclipse配置参数:eclipse -nl en_US -clean -vm D:\jrockit-R27.1.0-jdk1.5.0_08\bin\javaw -vmargs -Xmx512M -Xverify:none -XX:+UseParallelGC -XX:PermSize=20M -XX:MaxNewSize=32M -XX:NewSize=32M -Xms256m
在hibernate中,fetch策略用于定义 get/load一个对象时,如何获取非lazy的对象/集合。 这些参数在Query中无效。
dos中可用tab键补全路径
F7:在DOS窗口显示所用过的命令
在spring里面解决延迟加载的问题很简单,只要给方法配置一个事务,有事务上下文,就有HibernateSession上下文,就不存在延迟加载的问题
所有bo类的基类,只有一个属性id,这样你就可以统一控制主键的生成策略
- 一般都是通过JNDI查询到相应的Service接口,然后从Service接口中得到stub,最后调用web service的方法
- URL url = this.getClass().getResource("/javax/transaction/TransactionManager.class");
System.out.println("$$$$$$$$$$$ " + url); - truncate table xxx
- 在windows系统下,回车换行符号是“\r\n”,但是在Linux等系统下是没有“\r”符号的
- 在运行窗口输入regedit,打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager中找到PendingFileRenameOperations,删除该键值,关闭注册表编辑器。重新安装SQL Server 2000
- SSI被称为“服务器端包含”或“服务器端嵌入”技术。是一种基于服务器端的网页制作技术。.shtml文件就是应用了SSI技术的.html文件
- SNA(Share Nothing Architecture)
- 在Tomcat上究竟需要多大内存,不是越大越好。越大,往往意味着GC的时间越长
- 选取Apache HTTP Server作为前端的负载服务器,后端选取两个Tomcat作集群,此次选择的配置方式为Session Sticky(粘性Session),这种方式将同一用户的请求转发到特定的Tomcat服务器上,避免了集群中Session的复制,缺点是用户只跟一种的一台服务器通信,如果此服务器down掉,那就废了
- Mod_jk2同时支持会话亲和和会话复制。在tomcat 5中如何实现会话亲和和会话复制?把server.xml中的标签去掉就实现会话亲和,把标签加上就实现会话复制。
相关的POJO可以在一个DAO里操作,不然后面写Business时有你受的
最常见的地方是错误的使用request.getSession()函数,通常在action中检查是否有某个变量/标记存放在session中。这个场景中可能出现没有session存在的情况,正常的判断应该是这样:
private boolean ifFlagExistInSession(HttpServletRequest request) {
HttpSession session = request.getSession(false);
if (session != null) {
if (session.getAttribute("flagName") != null) {
return true;
}
}
return false;
}
而下面的写法,则可能会生成一个新的不在我们意图之外的session:
private boolean ifFlagExistInSession(HttpServletRequest request) {
HttpSession session = request.getSession(); // a new session created if no session exists
if (session.getAttribute("flagName") != null) {
return true;
}
return false;
}一般的(可能有些servlet实现不是这样的),默认的访问用户第一次 jsp 页面就会创建 session 的,因为 jsp 中指令 session 配置为 true,即
<%@ page session="true"%>
编译出来的的 java 文件在 _jspService() 方法中有代码行(Tomcat是这样的)
session = pageContext.getSession();
除非你显示设置
<%@ page session="false"%>
才会让你自己 getSession(true)或 getSession()时创建session
其实创建一个 session 并不耗什么资源,无非就是一个空的map,就是别往里面塞太多的东西,尤其是在集群环境下,会增加同步的负担。ICE(Internet Communications Engine)是ZeroC提供的一款高性能的中间件,基于ICE可以实现电信级的解决方案
- 现在网民越来越多了,越来越多的网络服务开始面临C10K问题,就是连接数超过1万的问题
- 写文件最佳组合
PrintWriter out = new PrintWriter(
new BufferedWriter(
new FileWriter(filename)))
PrintWriter 提供print系方法
BufferedWriter 提供缓冲,用以加速
FileWriter 用于写文件 - md5是散列算法(Hash)
CRC32是一种校验码的算法
base64是一种编码的标准
des和base64是可逆的
md5和crc32不可逆