Java
Bug-Killer
日事日毕,日清日高,凡事预则立,不预则废
展开
-
Map接口输出
对于Map接口来说,其本身不能使用迭代,(例如Iterator,foreach)进行输出,以为Map中每个位置存放一对值(key—value),而Iterator中每次只能找到一个值,所以 非要使用迭代输出的话: 1 ,将Map实例通过entrySet()方法变为Set接口对象 2 ,通过Set接口实例为Iterator实例化 3 ,通过Iterator迭代输出,每个内容都是Map.Entry原创 2015-12-05 20:38:20 · 481 阅读 · 0 评论 -
PreparedStatement接口
PreparedStatement接口是Statement子接口。属于预处理操作。 设置日期格式问题 在PreparedStatement中定义了setDate()方法,此方法可以设置日期内容,在使用此方法时,后边Date类型变量是java.sql.Date,而不是java.util.Date,所以,要将java.util.Date转换成jva.sql.Date类型的内容使用原创 2015-12-03 08:51:35 · 471 阅读 · 0 评论 -
类集-List接口
Connection接口下存在很多子接口,List接口是其中之一,List接口中可以存放任意的数据,而且在List接口中,内容是可以重复的。public interface ListE> extends ConnectionE>如果要使用接口,肯定要实现对象多态性的实例化操作。List接口的常用子类——ArrayList ArrayList是List接口的子类,可以直接通过对象多原创 2015-12-03 19:29:29 · 373 阅读 · 0 评论 -
处理大数据对象 -处理BLOB数据
import java.sql.* ;import java.io.File ;import java.io.FileInputStream ;import java.io.InputStream ;public class BlobDemo01{ //定义数据库驱动程序 public static final String driver = "org.gjt.mm.原创 2015-12-03 15:10:01 · 580 阅读 · 0 评论 -
多线程 同步与死锁
1.1 同步多个操作在同一时间内 只能有一个线程运行,其他线程要等此线程完成之后才能继续执行。 要解决资源共享的同步操作问题,可以使用同步代码块和同步方法完成。 1.1 同步代码块 代码块分四种: (1) 普通代码块:是直接定义在方法之中的。 (2)构造块:是定义在类中的,优先于构造方法执行,可以重复调用 (3)静态块:是使用static关键字声明,又相遇构造块执行,只执行一次 (4原创 2015-12-01 14:59:03 · 384 阅读 · 0 评论 -
泛型操作范例
表示一个人的信息 ·基本信息 ·联系方式 肯定要先定义一个接口,只有实现了接口的类,才能表示出人的信息。 定义一个接口,没有任何方法,称为标识接口,之后定义人的类,人的类中只要是此接口的子类,就可以表示人的信息。 1,首先 定义一个没有内容的接口,即 标识接口,让具体信息子类来实现此接口 去表示人的信息 2,定义子类 实现标识接口 声明 人的信息 3,定原创 2015-12-02 19:04:53 · 354 阅读 · 0 评论 -
线程操作案例——生产者和消费者
要求:生产者生产出一个信息之后也将其存放到一个区域之中,之后,消费者从此区域中取得信息。 思考:既然是信息,定义一个信息类,生产者和消费者同时占有这个信息类的引用,那么,可以通过生产者和消费者两个线程通过信息类联合在一起。 首先,定义一个信息类class Info //定义信息类{ private String name = "IronMan" ; //定义姓名属性原创 2015-12-01 16:58:10 · 436 阅读 · 0 评论 -
泛型的使用
1.1 定义泛型接口 不仅可以声明泛型类,也可以声明泛型接口,声明泛型类和声明泛型接口语法类似,是在接口名称后边加上 格式: interface 接口名称<泛型标识>{}interface Info<T> //在接口上定义泛型{ public T getVar() ;//定义抽象方法,抽象方法返回值是泛型类型}1.2 泛型接口实现的两种方式 定义子类,在子类上也声明泛型类型原创 2015-12-02 14:00:59 · 296 阅读 · 0 评论 -
泛型(Generic)
泛型,可以解决数据类型的安全性问题,主要的原理是,在类声明的时候,通过一个标识,表示类中某个属性的类型或者某个方法的返回值及参数类型。这样在类声明或实例化的时候只要指定好需要的类型即可。 数据类型不统一造成 数据类型的安全性问题 1.1泛型类定义格式[访问权限] class类名称<泛型类型1,泛型类型2...>{ [访问权限]泛型类型标识 变量名称 ; [访问权限]泛型类型标原创 2015-12-02 09:08:24 · 323 阅读 · 0 评论 -
线程操作范例
1.1 使用 Thread 类在Thread中直接存在了name属性,class MyThread extends Thread{ public int time ; //设置时间属性 public MyThread(String name,int time) //Thread类中有name属性 { super(name) ; //为原创 2015-12-01 13:29:15 · 318 阅读 · 0 评论 -
线程操作方法
一 取得和设置线程名称在Thread的类中,可以通过getName()方法取得线程名称,通过setName()设置下那成名称。 线程的名称一般在线程启动之前设置,也允许为已经运行的线程设置,允许两个Thread类有相同的名字。 如果程序没有个线程指定名称,则系统会自动给线程分配一个。 代码如下class MyThread implements Runnable //实现Runnable接口原创 2015-11-30 19:17:54 · 401 阅读 · 0 评论 -
JAVA类集
类集的作用 类集实际上就是一个动态的对象数组,与一般的对象数组不同,类集中的对象内容可以任意扩充。使用类集可以方便的想数组中添加任意多个数据 类集的特征 所有的类集操作都存放在java.util包中。 这种框架是高性能的; 框架必须允许不同类型的类集以相同的方式和高度 Connection接口的定义 Connection是保存单值集合的最大父接口;public interface Co原创 2015-12-03 19:23:12 · 369 阅读 · 0 评论 -
LinkedList类
LinkedList表示的是一个链表的操作类,定义如下public class LinkedList<E>extends AbstractSequentialList<E>implements List<E>Queue接口是Collection的子接口,定义如下public interface Queue<E> extends Collection<E>import java.util.Linked原创 2015-12-03 22:41:05 · 362 阅读 · 0 评论 -
执行数据库更新操作
数据库连接之后,要进行数据库操作,则要使用Statement接口完成,此接口可以使用Connection接口中提供的createStatement(方法实例化) 例如 向 mytable 表中增加 数据 并执行数据库更新操作import java.sql.Connection ;import java.sql.DriverManager ;import java.sql.SQLExcepti原创 2015-12-02 22:22:20 · 649 阅读 · 0 评论 -
Iterator接口
Iterator接口简介 集合输出的标准操作: “在使用集合输出的时候,只要碰到集合输出的操作,就使用Iterator接口” Iterator接口的工作原理 Iterator接口是专门的迭代输出接口,迭代输出就是指将元素一个个进行判断,判断其是否有内容,有内容则取出。 因为Iterator本身是一个接口,要想实例化必须依靠Collection接口完成import java.util.Lis原创 2015-12-04 17:25:41 · 503 阅读 · 0 评论 -
foreach
foreach支持数组的输出,也支持集合的输出操作。import java.util.List ;import java.util.ArrayList ;public class ForeachDemo01{ public static void main(String[] args) { List<String> list = new ArrayList<St原创 2015-12-04 18:54:48 · 340 阅读 · 0 评论 -
Set接口
Set接口也是Collection接口的子接口,但是与Collection或List接口不同的是,Set接口不能加入重复的元素。 定义格式public interface Set<E>extends Collection<E> Set接口主要方法与Collection接口一致 Set接口的实例无法像List接口一样双向输出 Set接口的常用子类 散列存放:HashSet 有序原创 2015-12-04 09:12:09 · 300 阅读 · 0 评论 -
Map接口
Collection接口中,每次保存的对象是一个对象,而Map中保存的是一对对象。对象的形式以“key—>value”的形式保存在集合之中的。 定义格式public interface Map<K,V>Map.Entry接口 Map.Entry是Map中内部定义的一个接口,专门来保存key—->value内容。 定义格式:public static interface Map.Entry<K,原创 2015-12-04 21:36:08 · 426 阅读 · 0 评论 -
去掉集合中重复元素
如果要想取消掉重复元素,则需要Object类中的两个方法 hashCode():表示唯一的编码 equals() ;进行对象的比较操作 import java.util.Set ; //导入Set接口import java.util.HashSet ; //导入TreeSet类class Person //定义Person类{ private String nam原创 2015-12-04 14:32:15 · 571 阅读 · 0 评论 -
ListIterator接口
Iterator接口主要功能是由前向后单向输出,如果想实现由前向后或由后向前的双向输出,则必须使用Iterator接口的子接口——ListIterator接口 定义格式public interface ListIterator<E> extends Iterator<E>import java.util.ArrayList ; //导入ArrayList类import java.util.Lis原创 2015-12-04 17:58:09 · 501 阅读 · 0 评论 -
处理大对象数据-处理CLOB数据
大对象处理主要值CLOB和BLOB两种类型的字段,在CLOB中可以存储海量文字,在BLOB中可以存储二进制数据,如果在程序中药理大对象数据,则必须使用PreparedStatement完成,所有的内容要通过IO流的方式从大文本字段中保存和读取。 1 使用IO流保存操作import java.sql.* ;import java.io.File ;import java.io.FileInput原创 2015-12-03 13:15:14 · 575 阅读 · 0 评论 -
MySql
在mysql中 可以方便的创建和删除数据库, 创建数据库CREATE DATABASE 数据库名称 ;删除数据库Drop DATABASE 数据库名称 ;使用数据库use 数据库名称创建数据库表。 连接到数据库后,就可以执行建表语句 A 增加数据insert into 表名称(字段1,字段2...) value(值1,值2...) ;insert into mytable(name,pass原创 2015-12-02 19:37:37 · 295 阅读 · 0 评论 -
数据库连接操作
import java.sql.Connection ;import java.sql.DriverManager ;import java.sql.SQLException ;import java.sql.Statement ;public class ConnectionDemo01{ //定义MySql数据库驱动程序 public static final Stri原创 2015-12-02 22:12:50 · 331 阅读 · 0 评论 -
ResultSet接口
数据库的操作主要是查询和更新操作。查询操作会把数据库中查询结果返回给用户 使用sql中的select语句,可以将数据库中的全部结果查询出来,所有的查询记录将使用ResultSet进行接收,并使用ResultSet显示内容。 在操作的时候,使用Statement中的executeQuery()方法进行数据库查询。 此方法的返回值就是ResultSet接口。import java.sql.Conne原创 2015-12-02 23:12:28 · 486 阅读 · 0 评论 -
多线程
Java的多线程实现: 在Java中实现多线程有以下两种方式: A 继承 Thread 类 B 实现 Runnable 接口一 , 继承 Thread 类Thread类实在java.lang包中定义的。一个类只要继承了Thread类,就称为多线程操作类,在Thread的子类中,必须明确的覆写Thread类中的run()方法,此方法为线程的主体。 线程操作类格式class MyThread原创 2015-11-30 11:08:13 · 309 阅读 · 0 评论 -
包装类
八中基本数据类型不是对象。 把int等基本数据类型包装成一个类,就可以以对象的形式操作基本数据类型。 下面以Integer和Float为例: 装箱及拆箱: A 将基本数据类型变为包装类,称为装箱 B 将包装类的类型变为基本数据类型,称为拆箱public class WrapperDemo01{ public static void main(String[] ar原创 2015-11-27 21:57:30 · 289 阅读 · 0 评论 -
面向对象 String类
1 实例化String对象1.1 直接赋值public class StringDemo01{ public static void main(String[] args) { String name = "IronMan" ; //直接赋值 System.out.println("姓名:"+name) ; }}1.2 通过ne原创 2015-11-24 12:14:19 · 359 阅读 · 0 评论 -
判断与循环语句
程序的结构分三种:1,顺序结构 2,选择结构 3,循环结构1.1 选择结构:是根据条件的成立与否,再决定要执行哪些语句的一种结构public class IfDemo02{ public static void main(String[] args) { int i = 1 ; //定义整型变量并赋值 int j = 2 ; //原创 2015-11-19 15:10:39 · 306 阅读 · 0 评论 -
final关键字
final在java中表示的意思是最终的意思 使用final关键字可以声明 类,属性,方法: |-使用final声明的类不能有子类 ; |-使用final声明的方法不能被子类所覆写 ; |-使用final声明的变量称为常量,常量不可以修改。final class Demo01 //声明final类{}class Demo2 extends Demo01 //原创 2015-11-26 18:50:23 · 257 阅读 · 0 评论 -
面向对象 this关键字
1 this关键字的作用1.1 ,表示类中的属性。 1.2 ,可以使用this调用本类中的方法。 1.3 ,this表示当前对象。1.1 表示类中属性在操作的时候,属性最好使用this.属性形式表示class Person //定义Person类{ private String name ; //声明String对象 private int age ;原创 2015-11-25 15:13:26 · 303 阅读 · 0 评论 -
String类的常用方法
1.1 , 字符数组与字符串一个字符串可以变成字符数组,同样,一个字符数组也可以变成一个字符串。在String类中存在以下两种方法: 将字符串变为字符数组:public char[] toCharArray() 将字符数组变为字符串:public String(char[] value,int offset,int count)举例:public class St原创 2015-11-24 21:15:41 · 360 阅读 · 0 评论 -
Java 数组
1 数组数组是一组相关数据的集合,一个数组实际上就是一连串的变量。数组的优点 :·不使用数组定义100个整型变量:int i1;int i2;int i3;...int i100·使用数组定义: int i[100]1.1 一维数组要使用java的数组,必须经过两个步骤:(1)声明数组(2)分配内存给该数组声明形式一:·声明一维数组:数据类型 数组名[] = null;·分配内存给原创 2015-11-19 22:04:27 · 339 阅读 · 0 评论 -
简单的Java程序 简约不简单
简单的Java程序public class TestDemo01{ public static void main(String[] args) { int num = 10 ; //定义整型变量并赋值 num = 30 ; //修改变量 System.out.println("num: "+num) ;原创 2015-11-18 15:53:01 · 353 阅读 · 0 评论 -
程序分析思路
编写程序之前,一定要分析思路 1,根据要求,写出类所包含的属性; 2,所有的属性要进行封装(private); 3,封装之后的属性通过set()设置,get()取得; 4 , 如果需要,可以加上若干个构造方法 ; 5,再根据其他要求添加方法 ; 6,类中的所有方法都不要直接输出,而是要交给被调用出输出。例如:定义并测试一个Student类,原创 2015-11-23 22:17:03 · 483 阅读 · 0 评论 -
面向对象 构造方法
1 构造方法1.1 构造方法的定义格式class 类名称{ 访问权限 类名称(类型1参数1,类型2 参数2) { 程序语句 ; //构造方法没有返回值 }}在构造方法的声明中注意: 1,构造方法的名称必须与类名称一致。 2,构造方法的声明处不能有任何返回值类型的声明。 3,不能在构造方法中使用return返回一个值。1.2 声明构造方原创 2015-11-23 14:52:44 · 487 阅读 · 0 评论 -
面向对象1 类与对象
1.1类与对象的关系面向对象的核心组成部分:类与对象。 类,是对某一类事物的描述,是抽象的; 对象是实际存在的该类事物的每个个体,因而也称为 实例(instance)2.1定义类和对象**2.1.1类的定义**class 类名称 { 数据类型 属性 ; //声明成员变量(属性) } public 返回值的数据类型 方法名称(参数1,原创 2015-11-21 23:05:56 · 332 阅读 · 0 评论 -
面向对象 引用传递
- 1.1 引用传递引用传递 1class Demo{ int temp = 10 ; //定义属性,没有封装,便于操作}public class RefDemo01{ public static void main(String[] args) { Demo d1 = new Demo() ; //实例化Demo对象,实例化之后原创 2015-11-24 23:00:03 · 336 阅读 · 0 评论 -
面向对象 static关键字
在JAVA中可以使用static声明属性或方法,因为在之前所讲解的属性和方法都属于非static的,这样一来,每个对象都占有各自的内容,如果现在希望一个属性被所有对象共同拥有,则可以将其声明成static类型, 声明成static类型的属性和方法之后,此属性和方法称为类方法,可以由类名称直接调用。 1.1使用static关键字声明属性class Person{ String name ;原创 2015-11-25 20:02:19 · 375 阅读 · 0 评论 -
方法的声明及使用
1.1方法的定义方法就是一段可以重复调用的代码块, 方法的定义格式 public static 返回值类型 方法名称(类型 参数1,类型 参数2…) { 方法主体 程序语句: [return 表达式] }public class MethodDemo01{ public static void main(String[] args原创 2015-11-20 11:16:52 · 611 阅读 · 0 评论 -
Object类
Object类 在Java中所有的类都有一个公共的父类就是Object类,一个类只要没有明显的继承一个类,那他就是Object类,以下两种代码表示含义相同。class Person{}class Person extends Object{}toString 打印对象信息public String toString(){}equals()方法 equals方法的主要功能主要是完成两个对象的比原创 2015-11-27 20:51:06 · 315 阅读 · 0 评论