- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 Java底层堆栈的实现
1)java底层的Stack是继承Vector的,也就是说是直接实现Collection的(满足后进先出) class Stack extends Vector 2)向堆栈中压入数据 /** * Pushes an item onto the top of this stack. This has exactly * the same eff
2013-12-17 15:02:27 1878
原创 Spring是如何缓存单例bean
1)//通过调试可以发现,Spring的IOC容器,在装载配置文件的时候,就已经将bean实例化到内存中,要么是以单例,要么是以原型的 //的方式缓存到内存之中。 AbstractApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
2013-12-11 17:50:29 3739
原创 Spring如何通过application.xml解析出bean的配置信息
1)Spring注册Bean之前,一定要先解析bean,真正意义上的注册bean是在org.springframework.beans.factory.support.DefaultListableBeanFactory类中注册的,在这个类中有一个缓存,beanDefinitionMap用于缓存,解析出来的bean的定义,beanDefinitionNames用于缓存bean的名称。/** M
2013-12-09 16:50:02 1751
原创 JAVA容器 BlockingQueue研究
1)迭代器接口 /** * Implementing this interface allows an object to be the target of * the "foreach" statement. * * @param the type of elements returned by the iterator * * @since 1.5 */
2013-12-06 22:56:42 1662
原创 JVM内存调优记录
java内存的自动管理,解决了给对象分配内存和回收分配给对象的内存。大对象直接进入老年代,可以使用-XX:PretenureSizeThreshold参数设置,大对象的最大值,例如:-XX:PretenureSizeThreshold=3145728,超过3M的对象直接进入老年区。IBM的研究表明,新生代中对象98%是朝生夕死的,如果按照1:1的比例划分,会降低内存的利用率,可以将新生代的
2013-12-06 18:44:40 6662
原创 垃圾收集器参数总结
垃圾收集器参数总结-XX:+ 启用选项-XX:- 不启用选项-XX:= -XX:= 参数 描述-XX:+UseSerialGCJvm运行在Client模式下的默认值,打开此开关后,使用Serial + Serial Old的收集器组合进行内存回收-XX:+UseParNewGC打开此开关后,使用ParNew +
2013-12-06 10:50:43 1499
原创 java垃圾收集器
新生代收集器:Serial:串行、单线程、复制算法(显示名称为“Copy”)ParNew:并行、多线程、复制算法(显示名称为“ParNew”)Parallel Scavenge:并行、多线程、复制算法(显示名称为“PS Scavenge”)老年代收集器:Serial Old:串行、单线程、标记整理算法(与“Serial”及“ParNew”组合时,显示名称为“Mark Swe
2013-12-06 10:25:26 822
转载 经典排序算法 - 选择排序Selection sort
经典排序算法 - 选择排序Selection sort顾名思意,就是直接从待排序数组里选择一个最小(或最大)的数字,每次都拿一个最小数字出来,顺序放入新数组,直到全部拿完再简单点,对着一群数组说,你们谁最小出列,站到最后边然后继续对剩余的无序数组说,你们谁最小出列,站到最后边再继续刚才的操作,一直到最后一个,继续站到最后边,现在数组有序了,从小到大举例先说看每步的状态变
2013-12-05 02:42:45 572
转载 经典排序算法 – 插入排序Insertion sort
经典排序算法 – 插入排序Insertion sort 插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序,折半插入排序留到“查找”内容中进行。 图1演示了对4个元素进行直接插入排序的过程,共需要(a),(b),(c)三次插入。以下代码仅供参考,欢迎指正
2013-12-05 02:39:44 636
原创 Web资料总结
1)页面传值如何区分get和post 页面传值,可以form表单中设定method为get或者post,Servlet处理请求的时候,会通过service调度,是使用doGet还是doPost。单从请求的URL上来看,GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连。POST把提交的数据则放置在是HTTP包的包体中。对于get
2013-12-04 12:28:08 661
原创 Struts面试题
1)Struts2如何启动 Struts2是通过web.xml中的过滤器StrutsPrepareAndExecuteFilter启动的,Tomcat服务器启动的时候,会执行一次StrutsPrepareAndExecuteFilter里面的init方法,加载struts.xml配置文件,将配置文件的内容封装为javabean存放在内存中,以后用户请求将会读取内存,读取数据,而不用每次都
2013-12-04 04:13:58 9836 1
转载 深入剖析Socket---TCP通信底层队列填满的死锁问题
基础准备 首先需要明白数据传输的底层实现机制,在http://blog.csdn.net/ns_code/article/details/15813809这篇博客中有详细的介绍,在上面的博客中,我们提到了SendQ和RecvQ缓冲队列,这两个缓冲区的容量在具体实现时会受一定的限制,虽然它们使用的实际内存大小会动态地增长和收缩,但还是需要一个硬性的限制,以防止行为异常的程序所控制的单一TC
2013-12-03 16:21:07 8052
原创 Spring Bean研究
1.Spring IOC容器装载及注册bean的过程ApplicationContext context = newClassPathXmlApplicationContext( new String[] {"applicationContext-aop1.xml"});其中ClassPathXmlApplicationContext继承抽象类Abstr
2013-12-03 11:07:28 2617
原创 Struts2运行机制
一、概述 Struts2的核心是一个Filter,Action可以脱离web容器,那么是什么让http请求和action关联在一起的,下面我们深入源码来分析下Struts2是如何工作的。FilterDispatcher API 写道Deprecated. Since Struts 2.1.3, use StrutsPrepareAndExecuteFilter instead
2013-12-03 04:14:15 2105
原创 java抽象类与接口的区别
1)抽象类的定义: 包含抽象方法的类就是抽象类。抽象类不能实例化,如果一个类继承抽象类,想要实例化,必须实现抽象类中所有的抽象方法,只要其中还有抽象方法没有实现,编译器会强制将类也转换为抽象类。2)接口的定义: 接口是一个完全抽象的类,接口里面全部都是抽象方法,只能声明不能实现,接口里面的域默认是static、final的,所以不能修改。接口中方法,自动的都是publ
2013-12-02 15:31:08 511
原创 java,构造函数内部的多态行为
1)java类必须要有构造函数,在java中,private方法被自动认为是final方法,而且对子类是屏蔽的,也就是说子类对父类的继承,是不能重写private方法的,如果是同名,且参数类型和个数都相同时,不是重写,而是一个新的方法。2)定义父类Glyph父类中的draw()方法是可以重写的package cn.javass.user;public class Glyph {
2013-12-02 15:05:14 1894
原创 Java 父类和子类对象销毁实例
1)定义一个共享类Sharedpackage cn.javass.user;public class Shared { private int refcount=0; private static long counter=0; private final long id=counter++; public Shared(){ System.out.printl
2013-12-02 14:32:41 2217
原创 Struts Action实例化
1)Struts2的Action,配置在struts.xml文件中,web容器(这里我使用的是Tomcat)启动时,是不会初始化的,只有有web请求时,才会初始化相应的action,每一次请求都会有一个新的action被实例化,所以不用担心线程安全的问题。2)要使用Struts2必须要配置过滤器,过滤器在web.xml文件中配置。
2013-12-02 12:25:18 4788 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人