摘要: 从Tomcat启动调用栈可知,Bootstrap类的main方法为整个Tomcat的入口,在init初始化Bootstrap类的时候为设置Catalina的工作路径也就是Catalina_HOME信息、Catalina.base信息,在initClassLoaders方法中初始化类加载器,然后通... 阅读全文
posted @ 2014-12-07 17:28 AiFly 阅读(2587) 评论(1) 推荐(1)
摘要: Tomcat有多个容器组成,而Container也就是容器与Connecter连接器是Tomcat最核心的两个模块,Connecter连接器接收客户端的请求,并根据客户端的请求传递给Container处理并作出相应。Tomcat中有多个层次的容器对象:Engine、Host、Context、Wr... 阅读全文
posted @ 2014-12-03 01:36 AiFly 阅读(1463) 评论(0) 推荐(0)
摘要: Tomcat由多个组件组成,那么Tomcat是怎么对他们的生命周期进行管理的么,这里将从Tomcat源码去分析其生命周期的实现;Bootstrape类为Tomcat的入口,所有的组件够通过实现Lifecycle接口来管理生命周期,Tomcat启动的时候只需调用Server容器的start(),然... 阅读全文
posted @ 2014-11-27 07:28 AiFly 阅读(918) 评论(0) 推荐(0)
摘要: 问题:原系统查询接口不支持分页也不可能加入分页支持,导致Ajax查询数据过多,返回数据达到2W多条记录时响应已经极慢,查询功能不要求数据实时性,页面反应速度极慢、体验不好;经排查是由于数据量过大导致写回页面的时候慢,实现是直接Servlet输出流写到页面上(output.write(buffer, ... 阅读全文
posted @ 2014-11-10 21:49 AiFly 阅读(6697) 评论(4) 推荐(0)
摘要: 上节我们介绍了JVM垃圾回收的原则,还有几个垃圾收集算法:标记-清除算法、复制算法、标记整理算法、分代收集算法;现在将要说HotSpt的垃圾收集器,这小节将只是理论。 Java虚拟机规范对垃圾收集器的具体实现并没有任何规定,所以不同厂商、不同版本的虚拟机提供的垃圾收集器会有很大的不同。下面所介绍的收... 阅读全文
posted @ 2014-11-08 02:20 AiFly 阅读(442) 评论(0) 推荐(1)
摘要: 上篇文章我们介绍了JVM所管理的内存结构也就是运行时数据区(Run-Time Data Areas),现在我们将介绍JVM的内存分配与回收静态内存分配与动态内存分配JVM的内存分配主要分为两种:静态内存分配与动态内存分配与之对应的是基本类型内存分配与对象内存分配;1、静态内存分配静态内存分配在编译时... 阅读全文
posted @ 2014-11-02 20:02 AiFly 阅读(477) 评论(0) 推荐(0)
摘要: 本系列的第一篇文章,预计本系列最后面会有两三个案例。 Java与C、C++不一样Java不需要Coder进行手动内存管理,而这一切都交给JVM进行自动内存管理,这从某种程度上来说也减轻了我们Coder不少的编码量,而我们是否还有必要了解JVM的内存管理机制呢,答案是否定的;因为Java也会和C... 阅读全文
posted @ 2014-10-30 02:11 AiFly 阅读(579) 评论(0) 推荐(1)
摘要: 1、空串+类型变量方式转换int i=20;String s=""+i;这种方式实际上经过了两个步骤,首先进行了i.ToString()把 i 转换为 字符串,然后再进行加法运算,这里利用了java的toString机制来做转换。2、String.valueOf方式转换类型int i=20;String s=String.valueOf(i);查看源码发现,这种方式实际上是使用了封装类(Integer)的toString方式来进行转换的。1 public static String valueOf(int i) {2 return Integer.toString(i);3 阅读全文
posted @ 2013-07-02 17:30 AiFly 阅读(2049) 评论(0) 推荐(1)
摘要: Linux基础知识Linux文件系统为一个倒转的单根树状结构文件系统的根为"/"文件系统严格区分大小写路径使用"/"分割(windows使用"\")每个Shell或系统进程 都有一个当前的工作目录使用pwd显示当前的目录Linux 文件名称文件的名称大小写敏感名称最多可以为255个字符除了正斜线外,都是有效字符通过touch命令可以创建一个空白文件或者更新已有文件的时间以"."开头的文件为隐藏文件列出目录内容 ls命令来列出目录内容 相关参数:ls -a 显示所以文件(包括隐藏文件) ls -l 显示详细信息 ls 阅读全文
posted @ 2013-06-26 00:50 AiFly 阅读(351) 评论(0) 推荐(0)
摘要: 用户不能直接操作Kemel,所以需要通过Shell来操作Kemel(内核) Shell 分为CLI与GUI两种CLI:Command Line InterfaceGUI:Graphical User Interface 操作系统的Shell GUI:GNOME CLI:BASHCLI:命令行界面、GUI:图形界面。提示符 #、$ (区分用户) $代表当前用户(一般用户)#代表root用户[LLD@hostname~]$ hostname代表主机名~代表当前目录命令一般由三个部分组成命令选项参数参数由 - 加参数名组成(如 ls -a) 使用Tab键来自动补全命令 Tab可以用来显示出已XX开头 阅读全文
posted @ 2013-06-23 23:02 AiFly 阅读(690) 评论(0) 推荐(0)