`
Arron.li
  • 浏览: 134156 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
明天就要离开我现在的公司,08年毕业后便进入现在公司FB,想到离开还是有一点点伤感,仔细想来这两年学到的东西,顺便整理下,算作是对两年工作 的一个总结吧。 这两年一直从事J2EE方向的开发,用的都是开源的框架,流 ...
1 java反射机制:运行时的类信息 Class类与java.lang.reflect类库一起对反射概念进行了支持,该类库包含了Field,Method以及Constructor类。这些类型的对象是由JVM在运行时创建的,用以表示未知类里对应的成员。这样就可以使用Constructor创建新的对象,用get()与set()方法读取与修改与Field对象相关的字段,用invoke()方法调用与Method对象相关的方法等等。   2 动态代理: 代理模式:为了提供额外的或不同的操作,而插入的用来代替“实际”对象。这些操作通常涉及与“实际”对象的通讯,因此代理通常充当着中间人的角色。 动态 ...
1 java回调机制: 首先解释java回调机制,对象能够携带一些信息,这些信息允许它在稍后的某个时刻调用初始的对象,如果回调是通过指针实现的,那么就只能寄希望程序员不会误用此指针,java更小心仔细,所以没有在语言中包括指针。 回调的价值在于它的灵活性-可以在运行时动态决定需要调用什么方法。 import static net.mindview.util.Print.*; interface Incrementable { void increment(); } // Very simple to just implement the interface: clas ...
此文档是在CSDN下载的,提供javaeye社区下载  
周末研究了下java泛型,关于泛型通配符的协变与逆变问题,题目如下:  题目要求:创建一个泛型类Generic1<T>,它只有一个方法,将接受一个T类型的参数。创建第二个泛型类Generic2<T>,它也只有一个方法,将返回类型T的参数。编写一个泛型方法,它具有一个调用第一个泛型类的方法的逆变参数。编写第二个泛型方法,它具有一个调用第二个泛型类的方法的协变参数。 实例代码如下:   package generics.exercises; import java.util.ArrayList; import java.util.List; impo ...
今天研究了下java反射机制,并利用反射机制,通过非默认构造器创建对象,代码如下: public class Toy { // Comment out the following default constructor // to see NoSuchMethodError from (*1*) public Toy() {} public Toy(int i) {} public Toy(String s) {System.out.println("Toy(String s)");} } public class ToyTest { ...
1 非静态内部类为什么不能有静态成员,我自己总结了下, 如下代码 public class OuterClass{ class InnerClass{ private static int i; } }  对于java类加载顺序我们知道,首先加载类,执行static变量初始化,接下来执行对象的创建,如果我们要执行代码中的变量i初始化, 那么必须先执行加载OuterClass,再加载Innerclass,最后初始化静态变量i,问题就出在加载Innerclass上面,我们可以把InnerClass看成OuterClass的非静态成员,它的初始化必 ...

类的初始化顺序

    博客分类:
  • Java
1 对于继承来讲,初始化次序大致如下: 1)父类的静态变量和静态块。父类的静态变量和静态块的初始化次序是按代码次序执行。 2)子类的静态变量和静态块。子类的静态变量和静态块的初始化次序同父类。 3)父类的非静态变量和非静态块。他们之间初始化次序按代码次序执行。此时如果对象中所有的非静态变量和非静态块没有直接赋值,将执行默认的初始化。(其中非静态变量包括基本类型的变量和对象的引用) 4)父类的构造函数。调用构造函数时,会对实例变量进行初始化。 注意:1), 2)无论类是否产生对象,他们都回执行初始化;3),4)产生对象后才会执行。 5)子类的非静态变量和非静态块。他们之间初始化次序按代 ...

violet UML 下载

violet UML 是一款简单实用的建模工具,无需安装,操作简单。
1 问题 :在list<String> 中清空所有的记录,只使用使用单循环,不使用removeAll()   2 可以写出五种方式,代码如下: import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class ListRemoveTest { public static void main(String[] args) { ListRemoveTest test = new ListRemoveTest() ...
1 问题: 安装mysql时在最后安装过程中,最后执行“Apply security setting”弹出ERROR Nr.1045错误。   2 环境: windows xp sp2,防火强已经关闭,可以telnet localhost 3306   3 在网上解决方案: WINDOWS: 方法       1.以系统管理员身份登 ...
jvm terminated Exit code=-1 只需要删除eclipse.ini中的--launcher.XXMaxPermSize 256M
今天小试了日期的加减法,功能实现了,但觉得代码很长,有更好的解决方案或者建议请给出 package com.common; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import org.junit.Test; public class CalendarCalculate { @Test public void ...
据说JSF的主要负责人就是 struts的主要作者,所以二者的相似点还是有很多的。 都采用taglib来处理表示层:在jsp页面中,二者都是采用一套标记库来处理页面的表示和model层的交 互。 二者都采用了bean来作为和jsp页面对应的model层。该model层保存了jsp页面上的数 据,同时可以作一些验证工作,在struts中就是FormBean,在JSF中就是back bean。 都 采用bean作为控制层,Struts中采用ActionBean来处理业务逻辑,对于简单的应用可以直接在ActionBean中编写业务逻辑代码,也 可 ...
JAF 学习 The JavaBeans Activation Framework 1.1 contains a few small enhancements and bugs fixes. The enhancements are described here and have been approved by the JCP as JSR-925 . The primary enhancements are: Provide a list of all MIME types known to a MailcapCommandMap. ...
Global site tag (gtag.js) - Google Analytics