- 博客(19)
- 收藏
- 关注
转载 Java:对象的强、软、弱和虚引用
转载:http://zhangjunhd.blog.51cto.com/113473/530921.对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种
2015-07-30 16:05:04 303
转载 最长递增子序列 O(NlogN)算法
今天回顾WOJ1398,发现了这个当时没有理解透彻的算法。看了好久好久,现在终于想明白了。试着把它写下来,让自己更明白。最长递增子序列,Longest Increasing Subsequence 下面我们简记为 LIS。排序+LCS算法 以及 DP算法就忽略了,这两个太容易理解了。假设存在一个序列d[1..9] = 2 1 5 3 6 4 8 9 7,可以看出来它的L
2015-07-11 09:14:07 360
原创 struts2源码分析--IOC容器的实现(操作以及容器的初始化)
一、容器的引入在面向对象的世界里,业务逻辑的实现通常是由多个对象相互协作完成的,这使得每个对象都需要,与其合作的对象(也就是它所依赖的对象)的引用。如果这个获取过程要靠自身实现,那么如你所见,这将导致代码高度耦合并且难以测试,容器的引入正是为了解决上述的弊端。 struts2做为一个 web层的MVC实现框架,其核心功能主要是帮助我们处理 http请求,但是 struts2本身也包含了一个 IOC
2015-06-23 17:43:19 421
原创 struts2 通过源码了解action生命周期过程
通过一个简单的项目,使用debug模式,了解struts2action的处理过程。首先看下struts2 的组织结构通过上图,在Struts2中一个请求的生存周期包括:1. 用户发送请求 : 用户为访问资源向服务器发送请求.2. FilterDispatcher决定适当的action : FilterDispatcher接受请求然后决定调用适当的action
2015-06-15 08:44:32 502
原创 java 泛型的浅显认识
泛型的引入可以解决之前的集合类框架在使用过程中通常会出现的运行时刻类型错误(安全性更好)类型擦除Java中的泛型基本上都是在编译器这个层次来实现的。在生成的Java字节代码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数,会被编译器在编译的时候去掉。这个过程就称为类型擦除。因此,List和List在运行时事实上是相同的类型。类型擦除也是Java的泛型实现方式与C++模板机制实现方式之间的
2015-05-05 16:38:23 375
转载 ie浏览器F12查看请求挂起
只有在IE(目前只在IE8和IE9中测试)中浏览时,发现有好些资源加载不上,在F12工具里查看发现是请求被挂起,一段时间后就会终止,(此时的IE的请求并不多),在HttpWatch里查看这种请求,是大约30秒后就会有异常:Error_internet_connection_reset,同样的应用用火狐或者谷歌一切正常,如图。但是另一个奇怪的现象是,如果在局域网内网访问这个应用的话,一切又正常了——
2015-04-21 14:08:56 46750 5
转载 java 集合区别
java.util包中就包含了一系列重要的集合类,而对于集合类,主要需要掌握的就是它的内部结构,以及遍历集合的迭代模式。Java2的集合框架,抽其核心,主要有三种:List、Set和Map。如下图所示:方法/步骤集合类特性(几个常用类的区别)ArrayList: 元素
2015-03-20 17:06:13 406
原创 java 动态代理 自我理解
在说动态代理前,我们前讨论下一般的静态代理。代理就是为你的对象提供额外的或不同的操作,从而进一步满足你需要的对象,因此代理通常充当一个中间人角色。如果要对第三方提供的JAR包中的某个类中的某个方法的前后加上自己的逻辑,比如打LOG,注意此时我们只有第三方提供的CLASS文件,因此根本不可能去修改别人的源代码,那该怎么办?这个时候我们就需要代理,有两种方法可以实现,一种是利用继承(即让代
2015-03-10 21:10:03 344
转载 剖析内部类如何实现的
内部类有两种情况:(1) 在类中定义一个类(私有内部类,静态内部类)(2) 在方法中定义一个类(局部内部类,匿名内部类) 1、私有内部类 —— 在方法之间定义的内部类,非静态 我们首先看看类中内部类的两个特点: (1) 在外部类的作用范围内可以任意创建内部类对象,即使内部类是私有的(私有内部类)。即内部类对包围它的外部类可见。
2015-01-10 12:33:39 285
原创 java内部类和静态内部类区别、用法
一、静态内部类的使用目的。 在定义内部类的时候,可以在其前面加上一个权限修饰符static。此时这个内部类就变为了静态内部类。不过由于种种的原因,如使用上的限制等等因素(具体的使用限制,笔者在下面的内容中会详细阐述),在实际工作中用的并不是很多。但是并不是说其没有价值。在某些特殊的情况下,少了这个静态内部类还真是不行。如在进行代码程序测试的时候,如果在每一个Java源文件中都设置一个主
2015-01-10 12:06:20 492
转载 Java中的动态代理
动态代理在Java中是很重要的一部分,在很多框架中都会用到,如Spring中的AOP、Hadoop中的RPC等。为此在这把我对Java中的动态代理的理解分享给大家,同时写了一个模拟AOP编程的实例。(Demo实例提供下载) 引入场景如果要对第三方提供的JAR包中的某个类中的某个方法的前后加上自己的逻辑,比如打LOG,注意此时我们只有第三方提供的CLASS文件,因此根本不可能
2015-01-05 21:28:50 291
转载 排序算法的java实现
冒泡、选择就不写了。很常见一:插入排序:/** * 插入排序 */public class P4_3 { static void insertSort(int[] a){ int j,t; /** * */ for (int i = 0; i ) { t=a[i]; j=i-1; while (j
2014-12-02 22:37:05 279
转载 关于Java你可能不知道的10件事
呃,你是不是写 Java已经有些年头了?还依稀记得这些吧: 那些年,它还叫做 Oak;那些年, OO还是个热门话题;那些年, C++同学们觉得 Java是没有出路的;那些年, Applet还风头正劲……但我打赌下面的这些事中至少有一半你还不知道。这周我们来聊聊这些会让你有些惊讶的Java内部的那些事儿吧。1. 其实没有受检异常(checked exception)是的!
2014-12-02 22:25:50 381
转载 java.util.ConcurrentModificationException 出现的原因和解决办法
用iterator遍历集合时碰到java.util.ConcurrentModificationException这个异常,下面以List为例来解释为什么会报java.util.ConcurrentModificationException这个异常,代码如下: Java代码 public static void main(String[] args)
2014-11-27 16:45:59 313
转载 Java1.5泛型总结
下面是从java.util包中的List接口和Iterator接口的定义中摘录的片断:public interface List { void add(E x); Iterator iterator();}public interface Iterator { E next(); boole
2014-11-22 09:14:04 404
转载 java 反射 Field类
package com.ncs;public class Point {private int x;public int y;public Point(int x, int y) {super();this.x = x;this.y = y;}}
2014-09-25 17:24:27 352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人