一句话经验

  • 对于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不可逆

你可能感兴趣的:(eclipse,tomcat,应用服务器,算法,SQL Server)