
wayView
文章平均质量分 72
ych0108
-----cat------
展开
-
classloader加载class的流程及自定义ClassLoader
/*** 转载请注明作者longdick http://longdick.iteye.com**/java应用环境中不同的class分别由不同的ClassLoader负责加载。一个jvm中默认的classloader有Bootstrap ClassLoader、Extension ClassLoader、App ClassLoader,分别各司其职:Bootstrap ClassLoad...原创 2015-04-08 21:33:32 · 156 阅读 · 0 评论 -
java类加载机制
研究Java类加载机制必要性:(1)有助于理解JVM执行过程,并指导开发者采用更有效的措施配合程序执行;(2)让程序能动态的控制类加载,实现热部署,提高程序的灵活性和适应性。类加载过程:1、寻找jre目录,寻找jvm.dll,并初始化JVM;2、产生一个Bootstrap Loader(启动类加载器);3、Bootstrap Loader自动加载Extended Loader...原创 2015-04-08 21:42:07 · 198 阅读 · 0 评论 -
JVM内存模型
/*** 转载请注明作者longdick http://longdick.iteye.com**/Java 的内存模型由3个代组成,各个代的默认排列有如下图(适用JDK1.4.* 到 JDK6): Java 的内存模型分为Young(年轻代)Tenured(终身代)Perm(永久代)有些旧版本也叫作NewOldPerm叫法不同,表达的意思却是基本相同。注意Young(年轻代)还可以...原创 2015-04-08 22:07:11 · 107 阅读 · 0 评论 -
Java堆内存Heap与非堆内存Non-Heap
堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给 ...原创 2015-04-08 22:19:51 · 189 阅读 · 0 评论 -
Session的生命周期
我们已经知道,Session是在用户第一次访问网站的时候创建的,那么Session是什么时候销毁的呢? 其实,Session使用一种平滑超时的技术来控制何时销毁Session。默认情况下,Session的超时时间(Timeout)是20分钟,即用户保持连续20分钟不访问网站,则Session被收回。如果在这20分钟内用户又访问了一次页面,那么20分钟就重新计时了。也就是...原创 2015-04-11 11:58:11 · 103 阅读 · 0 评论 -
JAVA多线程和并发基础
JAVA多线程和并发基础面试问答原文链接 译文连接 作者:Pankaj 译者:郑旭东 校对:方腾飞 多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点) Java多线程面试问题1. 进程和线程之间有什么不同? ...原创 2015-04-11 11:58:30 · 119 阅读 · 0 评论 -
Hibernate一级缓存详解
1.Session 级别的缓存,它同session邦定。它的生命周期和session相同。Session消毁,它也同时消毁;管理一级缓存,一级缓存无法取消,用两个方法管理,clear(),evict()2.两个session 不能共享一级缓存,因它会伴随session的生命周期的创建和消毁;3.Session缓存是实体级别的缓存,就是只有在查询对象级别的时候才使用,如果使用HQL和SQL是...原创 2015-04-11 11:58:46 · 110 阅读 · 0 评论 -
Redis与Memcached的区别
如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。2 Redis支持数据的备份,即master-slave模式的数据备份。3 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。在Redis中,并不是所有的数据都一...原创 2015-04-11 15:20:14 · 100 阅读 · 0 评论 -
PreparedStatement防止SQL注入
一条效率差的sql语句,足以毁掉整个应用.Statement是PreparedStatement的父接口,不进行预编译操作,减少了进行预编译的开销.单次运行PreparedStatement要比Statement要慢一些. PreparedStatement可以实现Statement的所有功能,但是之所以叫它预编译指令,是因为在创建它的一个对象时可以给定具有一定格式的SQL字符串,然后用它的...原创 2015-04-11 16:27:55 · 197 阅读 · 0 评论