知识大全 java高级技术总结 2
Posted 属性
篇首语:大鹏一日同风起,扶摇直上九万里。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 java高级技术总结 2相关的知识,希望对你有一定的参考价值。
ArrayList集合与HashSet的区别 Arraylist : add方法直接把所以元素加进来 不会判断是否存在 HashSet:在调用add方法之前会先判断该元素是否存在 HashCode()方法 用于判断两个元素是否相等 在元素相应的类中定义 相应的hashcode值是由元素中相关成员变量算出 来的 同时还会覆蓋equals()方法 框架 在某些东西还没写出来之前 就能对他们进行调用 相当于一个基本架构 利用的是反射的原理 如 class forName( 配置信息 ) newInstance() 这样我们只要在配置文件里面将要引用的类名写进去就行了 同时可以随时更改 用类加载器的方式管理资源和配置文件 当程序给普通用户时 加载配置文件回事一个问题 因为它的路径不好找 此时有两种方法解决 getRealPath()方法 通过运算获得配置文件的路径 不是硬编码 (普通方法) 类加载器 类名 class getClassLoader() getResourceAsStream( /baidu/exam/configure properties ) 也可以简化为 类名 class getResourceAsStream( configure properties ) 配置文件与java类放在同一个包中 javabean与内省 是一种类 他里面有get() set()方法用于外界访问本类的私有变量 属性 去掉get set之后的东西即为属性 但不一定和成员变量名相同 他们是看不到的 内省 用于处理javabean类的Api String propertyname = x ; PropertyDescriptor pd = new PropertyDescriptor(propertyname p getClass()) Method methodx = pd getReadMethod() Object retval = methodx invoke(p) eclipse小技巧 方法的重构 将某段很长的代码放入一个函数中 但只需要将他们选择出来再右键选择重构 Inspector BeanInfo用于处理属性的类 BeanUtils工具包 注解 注解相当于一种标记 在程序中加了注解就等于为程序打上了某种标记 没加 则等于没有某种标记 以后 javac编译器 开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记 看你有什么标记 就去干相应的事 标记可以加在包 类 字段 方法 方法的参数以及局部变量上 为注解增加属性 什么是注解的属性 注解是一种标识 注解的属性是注解标识的内容 加了属性的标记效果为 @MyAnnotation(color= red ) 定义基本类型的属性和应用属性 在注解类中增加String color() @MyAnnotation(color= red ) 用反射方式获得注解对应的实例对象后 再通过该对象调用属性对应的方法 MyAnnotation a = (MyAnnotation)AnnotationTest class getAnnotation(MyAnnotation class) System out println(lor()) 可以认为上面这个@MyAnnotation是MyAnnotaion类的一个实例对象 为属性指定缺省值 String color() default yellow ; value属性 String value() default zxx ; 如果注解中有一个名称为value的属性 且你只想设置value属性(即其他属性都采用默认值或者你只有一个value属性) 那么可以省略value=部分 例如 @MyAnnotation( lhm ) 注意 :枚举和注解都是特殊的类 不能用new 创建它们的实例对象 创建枚举的实例对象就是在其中增加元素 在程序中如何创建出一个注解的实例对象啊?用@注解名 @Retention(RetentionPolicy RUNTIME) @Target(ElementType METHOD ElementType TYPE) public @interface ItcastAnnotation String color() default blue ; String value() int[] arrayAttr() default ; EnumTest TrafficLamp lamp() default EnumTest TrafficLamp RED; MetaAnnotation annotationAttr() default @MetaAnnotation( lhm ) [nextpage] 泛型 泛型是提供给javac编译器使用的 可以限定集合中的输入类型 让编译器挡住源程序中的非法输入 编译器编译带类型说明的集合时会去除掉 类型 信息 使程序运行效率不受影响 对于参数化的泛型类型 getClass()方法的返回值和原始类型完全一样 由于编译生成的字节码会去掉泛型的类型信息 只要能跳过编译器 就可以往某个泛型集合中加入其它类型的数据 例如 用反射得到集合 再调用其add方法即可 参数化类型与原始类型的兼容 参数化类型不考虑类型参数的继承关系 泛型通配符 使用?通配符可以引用其他各种参数化的类型 ?通配符定义的变量主要用作引用 可以调用与参数化无关的方法 不能调用与参数化有关的方法 限定通配符的上边界 正确 Vector<? extends Number> x = new Vector<Integer>() 错误 Vector<? extends Number> x = new Vector<String>() 定通配符的下边界 正确 Vector<? super Integer> x = new Vector<Number>() 错误 Vector<? super Integer> x = new Vector<Byte>() cha138/Article/program/Java/hx/201311/27158相关参考
Java线程安全总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近想将java基础的一些东
Java串口通信总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近在研究一个东西要用到串口
对Java多线程的一些总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 总结 何时使用多线程
Java的垃圾回收总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 内存是稀缺的资源哪怕内存一
Java的IO总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 知识点一:四大等级结构 ja
Java获取指定日期的实现方法总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!以下是对Java中
Java中的小知识点总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!最近在复习Java的基础遇到
Java中编码以及Unicode总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 基本概念
Java多线程操作相关问题总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
JAVAWEB开发中路径问题的总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用Java开发