java基础
Deep_Breaths_Sky
这个作者很懒,什么都没留下…
展开
-
Java基础加强
*0 泛型设计 a)泛型只是在源码级别上(.java)一个约束,字节码级别上(.class)该约束“擦除” b)对于多个Dao在编码上非常类似 c)写一个BaseDao类,让具体类扩展其对应的方法,但在BaseDao中不能引入任何与具体类型的变量 d)可以通过构造方法为实例变量赋值*1 反射泛型 //取得BaseDao的字节码对象 Class baseDaoClass = this.g原创 2016-01-23 16:44:14 · 158 阅读 · 0 评论 -
数组
一】数组的三种定义方法: 1》元素类型[] 数组名 = new 元素类型[元素个数或数组长度]; 2》元素类型[] 数组名 = new 元素类型[元素1,元素2, 元素3...]; 3》元素类型[] 数组名 = {元素1,元素2, 元素3...}; 二】数组的简单输出方法: 通过Arrays类中的toString方法: ·方法原型: static S原创 2016-01-23 16:41:31 · 249 阅读 · 0 评论 -
函数重载
一、函数重载的条件:(满足其一即可) 1)参数个数不同 2)参数类型不同 3)参数类型的顺序不同 示例: 1 /*函数重载条件*/ 2 public class FunctionDemo8 3 { 4 public static void原创 2016-01-23 16:41:28 · 247 阅读 · 0 评论 -
Java关键字transient和volatile小结
转载自:http://blog.csdn.net/flyingpig4/article/details/9233917转载 2016-01-25 11:44:21 · 252 阅读 · 0 评论 -
如何正确遍历删除List中的元素
转载自: http://haohaoxuexi.iteye.com/blog/1523785遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题。下面主要看看以下几种遍历删除List中元素的形式:1.通过增强的for循环删除符合条件的多个元素2.通过增强的for循环删除符合条件的一个元素3.通过普通的for删除删除符合条件的多个元素4.通过Iter转载 2016-01-25 11:24:57 · 294 阅读 · 0 评论 -
Thread.currentThread().getContextClassLoader()与Test.class.getClassLoader()区别
转载自: http://blog.csdn.net/truong/article/details/34436367忘记以前有没有问过这个问题,总之我现在有看到几个地方有这个:Thread.currentThread().getContextClassLoader()我总是想不出在什么情况下会用这种方式获得一个ClassLoader,因为好像默认情况下,它返回的是和加载应用的转载 2016-01-23 15:55:38 · 748 阅读 · 0 评论 -
深入分析Java ClassLoader原理
转载自:http://blog.csdn.net/xyang81/article/details/7292380 分类:JavaSE(25) 目录(?)[-]一什么是ClassLoader二Java默认提供的三个ClassLoader三ClassLoader加载类的原理 1原理介绍为什么要使用双亲委托这种模型呢但是JVM在搜索类的时候转载 2016-01-23 15:41:29 · 278 阅读 · 0 评论 -
Float 的isNan 方法
Java.lang.Float.isNaN()方法 : 此方法如果此对象所表示的值是NaN,返回true,否则返回false。 NaN 实际上就是 Not a Number的简称。0.0f/0.0f的值就是NaN,从数学角度说,0/0就是一种未确定。原创 2016-01-25 15:00:26 · 14562 阅读 · 4 评论 -
this.class.getResource 、this.classLoader.getResource 和ClassLoader.systemResource的区别
转载自: http://swiftlet.net/archives/868 在Java中获取资源的时候,经常用到Class.getResource和ClassLoader.getResource,本文给大家说一下这两者方法在获取资源文件的路径差异。 Class.getResource(String path) path不以’/’开头时,默认是从此类所在的包下取资源;path以’/’开头时,则是转载 2016-01-26 10:27:41 · 446 阅读 · 0 评论 -
ThreadLocal的使用在Tomcat的服务环境下要注意
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2016-05-24 11:54:52 · 3038 阅读 · 0 评论 -
抽象类注意
一、抽象类中有构造函数吗? 有,用于给子类对象进行初始化。 二、抽象类可以不定义任何抽象方法吗? 可以的。但是很少见。目的就是不让该类创建对象。 通常这个类中的方法有方法体,但是却没有内容。 三、抽象关键字不可以和哪些关键字共存? private 不行 父类函数原创 2016-01-23 16:41:33 · 506 阅读 · 0 评论 -
一个对象的实例化过程【重点】
一、过程 Person p = new Person(); 1,JVM会去读取指定路径下的Person.class文件,并加载进内存, 并会先加载Person的父类(如果有直接父类的情况下) 2,在堆内存中开辟空间,分配地址。 3,并在对象空间中,对对象中的属性进行默认初始化 4,调用对应的构造函数,进行初始化 5,在构造函数中,第一行会先调用父类中的构造函数进行初始化。 6,原创 2016-01-23 16:41:35 · 1628 阅读 · 0 评论 -
final关键字
一、用法: 1》final修饰类:该类不可以被继承 2》final修饰方法:该方法不能被覆盖 3》final修饰变量:该变量是一个常用,只能被赋值一次 二、final修饰变量可以借助构造函数,两种形式: 第一种:class Demo { private final double PI原创 2016-01-23 16:41:38 · 174 阅读 · 0 评论 -
异常处理规则
异常在项目中,往往替代boolean值,作为成功与否的标志,规则如图:原创 2016-01-23 16:43:38 · 177 阅读 · 0 评论 -
线程池
一】原理 ·传统的: 1)JDBC传统方式找DriverMannager要连接,而这个连接的数目是有限的。 2)传统方式的close(),并未将Connection重用,只是切断应用程序和数据库的桥梁,即无SQL语句发送到数据库。 3)项目中,对于Connection不会直接使用DriverMannager取得,而使用连接池方式取得。原创 2016-01-23 16:43:41 · 261 阅读 · 0 评论 -
ThreadLocal<T>类
ThreadLocal类 -------每个线程有仅拥有一个T对象 重点方法: T get();//返回此线程局部变量的当前线程副本中的值 T initialValue原创 2016-01-23 16:43:36 · 229 阅读 · 0 评论 -
面向对象与基于对象的区别
面向对象和基于对象的区别是多态,和继承无关。 基于对象仅仅支持了抽象数据类型的功能,继承也不过体现了一种is-a的关系,也是抽象数据类型,只是建立了一个层次体系。但是什么是面向对象呢?就是根据对象的实际类型不同,可以自动完成不同的行为,而仅仅通过一致的调用形式。换句话说,也就是虚函数实现的多态。以上观点,在OO设计中已经得到了公认,多态的另一种实现方法是泛型。 “面原创 2016-01-23 16:42:49 · 1453 阅读 · 0 评论 -
UUID使用
String str = UUID.randomUUID().toString();原创 2016-01-23 16:42:12 · 2496 阅读 · 0 评论 -
通过内省机制设置JavaBean
一、步骤: 1)使用PropertyDescriptor类获取属性描述者对象//pd引用Student的name属性PropertyDescriptor pd = new PropertyDescriptor("name", Student.class); 2)通过getWriteMethod()方法+invoke()方法进行设置//相当于得到setNam原创 2016-01-23 16:41:55 · 591 阅读 · 0 评论 -
反射
1)定义:就是把JAVA类中的各种成分映射成一个个的java对象。 利用反射技术可以对一个类进行解剖,把各个组成部分映射成一个个对象。 2)外存中的类加载到内存中,会形成该对象的Class类。如:String.class、Person.class 得到此class类的三种方式:原创 2016-01-23 16:41:50 · 171 阅读 · 0 评论 -
枚举类:用enum关键字来定义一个枚举类
1)枚举类的两种定义方法 1》通过构造器 public enum Grade{ A("A", "90-100"),B("B","80-89"),C("C", "70-79"),D("D", "80-89"),E("E", "90-100");原创 2016-01-23 16:41:47 · 792 阅读 · 0 评论 -
迭代集合的方式
1)对list和set集合的迭代 1》通过iterator迭代 Iterator it = set.iterator(); while (it.hasNext()) { Integer key = it.next(); S原创 2016-01-23 16:41:45 · 416 阅读 · 0 评论 -
多态
一、在代码中的体现:父类或者接口的引用指向其子类的对象。 二、多态的前提: 1》必须要有关系:继承或实现。 2》要有覆盖。三、多态时,成员的特点: 1》成员变量 编译时:参考引用型变量所属的类中是否有调用的成员变量(有,编译成功, 无,编译失败); 运行时:参考引用型变量所属的类中是否有调用的成员变量,并运行该所属类中的成员变量; 简单说:编译和原创 2016-01-23 16:41:43 · 191 阅读 · 0 评论 -
接口
一、用途:当一个抽象类中的方法都是抽象的时候,便可以将该抽象类用另一种形式interface定义和表示。 其作用相当于C语言中函数指针的回调机制。 二、特点: 1》对于接口中常见的成员--》这些成员都有固定的修饰符: 1,全局常量:public static final 2,抽象方法:public abstract 注:这些修饰符可以不写,因为系统会默认隐形添原创 2016-01-23 16:41:40 · 199 阅读 · 0 评论 -
如何正确使用log4j
转载自: http://blog.sina.com.cn/s/blog_616b57310100f36s.html Java Web开发的过程中,通过会采用输出log的方式来进行调试,产品上线之后,也通常使用log来记录系统的运行状态。最简单的输出log的方式就是使用System.out.println(String msg)和System.err.println(Stri转载 2016-04-22 00:03:25 · 558 阅读 · 0 评论