代码如下: public class Test { public static void main(String[] args) throws Exception { System.out.println("调用.class"); Class<Main> mainClass = Main.class; System.out.println("调用Class.forName()"); Class<?> aClass = Class.forNam…
1. Collections类概述: 针对集合操作的工具类,都是静态方法.  2. Collection 和 Collections的区别: Collections是个java.util下的类,它包含有各种有关集合操作的静态方法. Collection是个java.util下的接口,它是各种集合结构的父接口. List, Set就是继承自Collection接口. 3. Collections类的成员方法(常用的): public static <T> void sort(List<T&…
我们都知道JAVA中A++和++A在用法上的区别,都是自增,A++是先取值再自增,++A是先自增再取值,那么为什么会是这样的呢? 1.关于A++和++A的区别,下面的来看个例子: public class PlusPlusDemo { public static void main(String[] args) { test(); } public static void test() { int a = 10; System.out.println(a++);//结果为10,但是a的值最终为1…
Class.forName 查阅javaAPI public static Class<?> forName(String className) throws ClassNotFoundException 返回与带有给定字符串名的类或接口相关联的 Class 对象.调用此方法等效于: Class.forName(className, true, currentLoader) 其中 currentLoader 表示当前类的定义类加载器.  在jdbc编程中,第一步就是加载数据库驱动程序,而Cla…
导读:这两天没有做项目,然后就想着把之前在项目中用到过的东西总结总结.记得之前做今日开讲项目时,在比较学生学号的时候,我最开始用的是"==",但是,实践证明,这个玩意儿吧,总是很奇怪,有时候对有时候不对.后来就换成了equals,结果就好多了.那时候我就在想,这两个有什么区别,string类型到底是怎么回事?现在总结总结,也祭奠一下当年面试笔试题的那些亡魂! 一.实例分析 首先,看看代码段: public class stringTest { private static String…
1.前言 Java8之前处理日期一直是Java程序员比较头疼的问题,从Java 8之后,Java里面添加了许多的新特性,其中一个最常见也是最实用的便是日期处理的类——LocalDate.LocalDate是一种更为高效的日期类,比起Date的复杂具有相当高的简洁性,吸取了企业级别的joda.time时间处理的优点,避免了传统的Date和Calendar复合起来计算的难处. 新增的日期常用的用这三个: java.time.LocalDate:只对年月日做出处理 java.time.LocalTim…
1.Driver接口 每种数据库的驱动程序都应该提供一个实现java.sql.Driver接口的类.在加载某一驱动程序的Driver类时,它应该创建自己的实例并向java.sql.DriverManager类注册该实例. 通常情况下,通过java.lang.Class类的静态方法forName(String className),加载欲连接数据库的Driver类,该方法的入口参数为Driver类的完整路径.加载成功后,会将Driver类的实例注册到DriverManager类中. 2.Drive…
这篇文章总结了Java中最基础的类以及常用的方法,主要有:Number,Character,String. 1.Number类 在实际开发的过程中,常常会用到需要使用对象而不是内置的数据类型的情形.所以,java语言为每个内置数据类型都提供了对应的包装类.六种内置数据类型:byte, short, int, long, float, double分别对应Number抽象类的子类:Byte,Short,Integer,Long,Float,Double 装箱:把基本类型用它们相应的引用类型包装起来…
 一.理论概述 数据输入/输出流(DataInputStream类与DataOutputStream类) 允许应用程序以与机器无关的方式从底层输入流中读取基本Java数据类型. 说白了就是,当读取一个数据时,不用再关心这个数值是那种字节 .  二.用法: DataInputStream类与DataOutputStream类的构造方法如下: 1,DataInputStream(InputStream in):使用指定的基础InputStream创建一个DataInputStream . 2,Dat…
在Java中,除了可以使用 String 类来存储字符串,还可以使用 StringBuilder 类或 StringBuffer 类存储字符串,那么它们之间有什么区别呢? String 类具有是不可变性.如 运行结果: 从运行结果中我们可以看到,程序运行时会额外创建一个对象,保存 "helloworld".当频繁操作字符串时,就会额外产生很多临时变量.使用 StringBuilder 或 StringBuffer 就可以避免这个问题.至于 StringBuilder 和StringBu…
Java 中 String 类的常用方法 Ⅰ String 类提供了许多用来处理字符串的方法,例如,获取字符串长度.对字符串进行截取.将字符串转换为大写或小写.字符串分割等,下面我们就来领略它的强大之处吧. String 类的常用方法: 结合代码来熟悉一下方法的使用: 运行结果: 友情提示: 1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1 2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引:如果没有匹配结果,返回 -1 3. 使用…
1.&& 和 &区别和联系: 相同点 : 结果是一样的.       不同点 :如果使用双&号判断,如果说条件一为false,不会判断条件二,但是单&号会继续判断. 2.|| 和 |区别和联系:      相同点 : 结果一样.         不同点 : 如果使用||号判断,如果说条件一为true,不会判断条件二,但是单|号会继续判断. 3.==和equals()的区别:     ==:比较的是地址(引用数据类型). equals:比较的是字符串的值. 4.异常和…
1. ArrayList存储自自定义对象并排序的案例: ArrayList存储自自定义对象,并使用Collections对ArrayList存储基本包装类的元素排序. 2. 代码实现: (1)Student.java: package cn.itcast_02; /** * @author Administrator * */ public class Student implements Comparable<Student> { private String name; private i…
1. InetAddress类 InetAddress是Java对IP地址的封装,在java.net中有许多类都使用到了InetAddress,包括ServerSocket,Socket,DatagramSocket等等.InetAddress是一个不可变对象:   •   InetAddress是一个对象,包含3个属性:主机名称.主机别名.主机ip   •   一个ip对应唯一一个主机名,一个主机名可以对应多个ip(一台计算机上有多个网络地址),一个域名可以对应多个ip(一个web服务有多台机…
1. 案例: 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名. 2. 案例代码如下: (1)思路是:先获取所有的文件和文件夹封装的对象,然后遍历的时候,依次判断,如果满足条件就输出. package com.himi.filesdemo; import java.io.File; /** * 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名 * @author hebao * */ public class FileDemo4 { public stat…
详见如下: Android(java)学习笔记87:File类使用…
引用:http://blog.csdn.net/xuefeng0707/article/details/40834595 从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心. 在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了. ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable. 从Conc…
概述 猫狗案例,我们想想狗一般就是看门,猫一般就是作为宠物了,对不.但是,现在有很多的驯养员或者是驯的,这应该属于经过特殊的培训训练出来的,对不.所以,这些额外的动作定义到动物类中就不合适,也不适合直接定义到猫或者狗中,因为只有部分猫狗具备这些功能.所以,为了体现事物功能的扩展性,Java中就提供了接口来定义这些额外功能,并不给出具体实现,将来哪些猫狗需要被培训,只需要这部分猫狗把这些额外功能实现即可. 1.接口的特点: A:接口用关键字interface表示 interface 接口名 {}…
结论 1-String,StringBuilder,StringBuffer 之间的区别主要是在两个方面,即运行速度和线程安全这两方面: 首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String 再来说线程安全,在线程安全上,String 是线程安全的, StringBuilder是线程不安全的,而StringBuffer是线程安全的 2.1-直接相加字符串,效率很高,因为在编译器便确定了它的值,也就是说形如"…
1 java三大特征 1)封装:即class,把一类实体定义成类,该类有变量和方法. 2)继承:从已有的父类中派生出子类,子类实现父类的抽象方法. 3)多态:通过父类对象可以引用不同的子类,从而实现不同的业务逻辑. 2 接口和抽象类区别 1)接口需要实现用implements,抽象类需要继承用extends 2)一个类可以实现多个接口,一个类只能继承一个抽象类. 3)实现接口必须实现接口里面的所有方法,继承抽象类只需要实现有abstract修饰的方法. 4)接口默认是public修饰,抽象类可以…
就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是相对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操作数目不固定的一组数据. 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型. JAVA集合主要分为三种类型: Set(集) List(列表) Map(映射) Collection 接口 :Collection是最基本的集合接口,声明了适用…
平时我们遇到日期的加减,感觉是相当麻烦的,以下是常用的日志加减的方法,包括日的加减.月的加减等,也包括了一些常用的日期格式化,这样在我们以后碰到日期加减的时候会省去很多麻烦,欢迎大神指正和吐槽: package bp.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public final clas…
package com.swift; import java.util.Date; public class Getclass_Test extends Date { public static void main(String[] args) { new Getclass_Test().test(); } public void test() { System.out.println(new String("abc").equals(new String("abc"…
1.&& 和 &区别和联系: 相同点 : 结果是一样的.       不同点 :如果使用双&号判断,如果说条件一为false,不会判断条件二,但是单&号会继续判断. 2.|| 和 |区别和联系:      相同点 : 结果一样.         不同点 : 如果使用||号判断,如果说条件一为true,不会判断条件二,但是单|号会继续判断. 3.==和equals()的区别:     ==:比较的是地址(引用数据类型). equals:比较的是字符串的值. 4.异常和…
1.is-a,has-a,like-a是什么 在面向对象设计的领域里,有若干种设计思路,主要有如下三种: is-a.has-a.like-a java中在类.接口.抽象类中有很多体现. 了解java看这里:什么是Java 了解类和对象看这里:类.对象到底有什么秘密 了解接口和抽象类看这里:接口和抽象类有什么区别 2.is-a是什么 is-a,顾名思义,是一个,代表继承关系. 如果A is-a B,那么B就是A的父类. 一个类完全包含另一个类的所有属性及行为. 例如PC机是计算机,工作站也是计算机…
List接口继承了Collection接口,位于java.util包中.它包含Collection接口的所有方法,外加其他一些方法(具体实现参考源码),比较重要的有: anyType get(int index) anyType set(int index, anyType newVal) void add(int index, anyType x) void remove(int index) ListIterator<anyType> listIterator(int pos) List…
一.泛型数组列表ArrayList 1.在Java中,ArrayList类可以解决运行时动态更改数组的问题.ArrayList使用起来有点像数组,但是在添加或删除元素时,具有自动调节数组容量的功能,而不需要为此编写任何代码. 对数组列表实施插入和删除操作效率比较低,对于小型数组来说可以接受.但是如果数组存储的元素数比较多,又经常需要在中间位置插入.删除元素,就应该考虑使用链表. ArrayList是一个采用类型参数(type parameter)的泛型类(generic class).为了指定数…
内部类 /* *Java支持在一个类中定义另一个类,这样的类称为内部类,而包含内部类的类称为内部类的外嵌类 */ 重要关系: /* *1.内部类的外嵌类在内部类中仍然有效,内部类的方法也可以外嵌类的方法 *2.内部类的类体中不可以声明变量类变量和类方法(static) *3.内部类仅供他的外嵌类使用.其他类不可以用某个类的内部类 */ /* *字节码文件:外嵌类$内部类名.class */ /* *内部类可以被修饰为static,但是内部类不能操作外嵌类的实例成员变量 */ 匿名类 和子类有关的…
1.final关键字和.net中的const关键字一样,是常量的修饰符,但是final还可以修饰类.方法.写法规范:常量所有字母都大写,多个单词中间用 "_"连接. 2.遍历集合ArrayList<Integer> list = new ArrayList<Integer>();list.add(1);list.add(3);list.add(5);list.add(7);// 遍历List方法1,使用普通for循环:for (int i = 0; i <…
JDK动态代理 此时代理对象和目标对象实现了相同的接口,目标对象作为代理对象的一个属性,具体接口实现中,可以在调用目标对象相应方法前后加上其他业务处理逻辑. 代理模式在实际使用时需要指定具体的目标对象,如果为每个类都添加一个代理类的话,会导致类很多,同时如果不知道具体类的话,怎样实现代理模式呢?这就引出动态代理. JDK动态代理只能针对实现了接口的类生成代理. CGLIB代理 CGLIB(CODE GENERLIZE LIBRARY)代理是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的…