自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 原生JDBC获取数据库表中字段信息

原生JDBC获取数据库表中字段信息

2022-09-02 10:16:52 782 1

原创 将时间戳转为yyyy-MM-dd

将时间戳转为yyyy-MM-dd

2022-09-02 10:14:26 863

原创 解析xml字符串

解析xml字符串

2022-09-02 10:11:41 1841

原创 JavaSE--Set接口

/-----Collection接口:单列集合、用来存储一个一个对象* /-----set接口:储存无序的,不可重复的数据* /-----HashSet接口:储存无序的,不可重复的数据* /-----LinkedHashSet:作为HashSet的子类;遍历其内部数据时,可以按照添加的顺序遍历* 对于频繁的遍历操作,linkedHashSet效率高于HashSet* /-----Tr.

2022-01-24 18:21:30 410

原创 Java--SE List接口

ArrayList源码分析:jdk7情况下* ArrayList list=new ArrayList();//创建了长度是10的Object[]数组elementData* list.add(123);//elementData[0]=new Integer(123);* ...* list.add(123);//如果此次的添加导致底层elementData数组容量不够,则扩容* 默认情况下,扩容为原来的1.5倍,同时需要将原有数组中的数据复制.

2022-01-23 18:45:35 202

原创 JavaSE--集合

/** * 集合框架 * /-----Collection接口:单列集合、用来存储一个一个对象 * /-----list接口:储存有序的、可重复的数据 * /-----ArrayList、LinkedList、Vector * /-----set接口:储存无序的,不可重复的数据 * /-----HashSet、LinkedHashSet、TreeSet * /-----Map接口:双列集合,用来储存(key-value).

2022-01-21 19:23:03 515

原创 JavaSE--StringBuffef,StringBuilder

/** * String,StringBuffer,StringBuilder三者之间的异同 * String:不可变的字符序列;底层使用char[]储存 * StringBuffer:可变的字符序列;线程安全的,效率低;底层使用char[]储存 * StringBuilder:可变的字符序列;jdk5.0新增的,线程不安全的,效率高;底层使用char[]储存 * * 源码分析: * String str=new String();//char[] value=new char[0]; .

2022-01-20 18:06:47 194

原创 JavaSE--String

/** * String的使用 * * String:字符串,使用一对""引起来表示 * 1、String声明为final的,不可被继承 * 2、String实现了Serializable接口:表示字符串是支持序列化的 * 实现了Comparable接口,表示String可以表示大小 * 3、String内部定义了final char[] value用于存储字符串数组 * 4、String:代表不可变的字符序列。简称:不可变性 * * 体现:1、当对字符串重新赋值时.

2022-01-20 13:52:14 161

原创 JavaSE -多线程(JDK5.0新增创建线程方式)

方式三:实现Callable接口/** * 创建线程的方式三:实现callable接口。 ---jdk 5.0新增 * ①创建一个实现callable接口的实现类 * ②实现call方法,将此线程需要执行的操作声明在call()中 * ③创建Callable接口实现类对象 * ④将此Callable接口实现类对象传递到FutureTesk构造器中,创建FutureTesk对象 * ⑤将FutureTesk对象作为参数传递给Thread类的构造器中,创建Thread类对象 * ⑥Thr.

2022-01-17 19:15:40 219

原创 多线程-(生产者/消费者问题)

/** * 生产者/消费者问题 */class Clerk{//产品 private int productNumber=0; public synchronized void produceProduct(){ if (productNumber<20){ productNumber++; System.out.println(Thread.currentThread().getName()+"开始生产第:"+p.

2022-01-17 14:51:44 57

原创 JavaSE 多线程-线程通信

线程通信的例子:使用两个线程打印1-100.线程一,线程二交替打印 * * 涉及到的三个方法: * wait():一旦执行此方法,当前线程就会进入阻塞状态,并释放同步监视器。 * notify():一旦执行此方法,就会唤醒被wait的一个线程。如果有多个线程被wait,就唤醒优先级较高的那个 * notifyAll():一旦执行此方法,就会唤醒所有被wait的线程。 * * 说明: * wait()、notify()、notifyAll()三个方法必须使用在同步代码块或同步方法中 * w.

2022-01-17 14:49:22 230

原创 JavaSE 多线程-同步代码块解决线程安全

/** * 创建三个窗口卖票,总票数100张,实现Runnnable接口的方式 * * 1、问题:买票过程中,出现了错票重票-->出现了线程安全的问题 * 2、问题出现得原因:当某个线程操作钞票的过程红,尚未完成操作时,其他线程参与进来,也操作钞 票 * 3、如何解决:当一个线程a在操作ticket的时候,其他线程不能参与进来。直到线程a操作完成ticket 时,线程才可以开始操作ticket。 * 这种情况下即使a出现了阻塞,也不能被改变.

2022-01-16 14:02:12 152

原创 JavaSE 多线程(创建多线程)

方式一/** * 多线程的创建,方式一:继承于Thread类 * 1、创建一个继承于Thread类的子类 * 2、重写Thread类的run()方法-->将此线程执行的操作声明在run()中 * 3、创建Thread类的子类的对象 * 4、通过此对象调用start()方法 * 例子:遍历100以内的所有偶数 */// 1、创建一个继承于Thread类的子类class MyThread extends Thread{// 2、重写Thread类的run()方法-->将

2022-01-15 20:02:30 138

原创 JavaSE异常处理(throws)

异常处理的方式二:throws+异常类型1、“throws+异常类型”写在方法的声明处。指明此方法执行时,可能会抛出异常类型。一旦方法体执行时,出现异常,仍会在异常代码处生成一个异常类的对象,此对象满足throws后异常类型时,就会被抛出。异常后续的代码就不再执行2、体会:try-catch-finally:真正的将异常处理掉了throws+异常类型的方式只是将异常抛给了方法的调用者。并没有将真正的异常处理掉3、开发中如何选择使用try-catch-finally还是使用throws+异常类

2022-01-12 18:45:39 489

原创 JavaSE异常处理(try-catch-finally)

一、异常的处理:抓抛模型过程一:“抛”:程序在执行过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象。并将此对象抛出。一旦抛出此对象后,其后的的代码就不再执行。过程二:“抓”:可以理解为异常的处理方式:① try-catch-finally ② throws二、try-catch-finally的使用try{//可能出现异常的代码块}catch(异常类型1 变量名1){//处理异常的方式1}catch(异常类型2 变量名2){//处理异常的方式2

2022-01-12 13:27:42 283

原创 面向对象下(内部类)

类的内部成员五:内部类1、Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B就是外部类2、内部类的分类:成员内部类(静态、非静态) VS 局部内部类(方法内、代码块内、构造器内)3、成员内部类:一方面,作为外部类的成员:>调用外部类的结构>可以被static修饰>可以被四种不同的权限修饰另一方面,作为一个类>类内可以定义属性,方法,构造器等>可以被final修饰,表示此类不可以被继承,言外之意不使用final修饰,就可以被

2022-01-10 14:32:54 222

原创 面向对象下(接口 )

接口的使用1、接口使用interface来定义2、Java中,接口和类是并列的两个结构3、如何定义接口:定义接口中的成员3.1 JDK7之前:只能定义全局变量和抽象方法>全局变量:public static final的,但是书写时,可以省略不写public static final int MAX_SPEED = 7900;//第一宇宙速度int MIN_SPEED = 1;//省略了public static final>抽象方法:public abstrac

2022-01-08 14:12:03 264

原创 面向对象下(抽象类和抽象方法的使用)

abstract关键字的使用:1、abstract:抽象的2、abstract可以用来修饰的结构:类,方法3、abstract修饰类:抽象类>此类不能实例化>抽象类中一定有构造器,便于子类实例化时调用>开发中,都会提供抽象类的子类,让子类对象实例化,完成相关操作4、abstract修饰方法:抽象方法>只有方法的声明,没有方法体public abstract void play();>包含抽象方法的类一定是抽象类,反之,抽象类中可以没有

2022-01-07 18:32:03 322

原创 面向对象下(final)

1、final可以用来修饰的结构:类、方法、变量。2、final 用来修饰一个类:此类不能被其他类所继承。比如:String类、System类、StringBuffer类3、final 用来修饰方法:表明此方法不能被重写比如:Object类中的getClass4、final 用来修饰变量:此时的“变量”就称为是一个常量4.1 final修饰属性:可以考虑赋值的位置有:显性初始化、代码块中初始化、构造器中初始化4.2 final修饰局部变量:尤其是使用final修饰形参时,表明

2022-01-07 14:18:01 208

原创 面向对象下(属性赋值的先后顺序)

对属性可以赋值的位置①默认初始化②显示初始化③构造器中赋值④构造器中初始化⑤有了对象以后,可以通过“对象.属性”或“对象.方法”进行赋值。执行的先后顺序①-②、⑤-③-④;①-⑤、②-③-④;②和⑤谁先声明谁先执行...

2022-01-06 20:45:28 60

原创 面向对象下(代码块)

1、代码块的作用:用来初始化类,对象2、代码块如果有修饰的话,只能使用static。3、分类:静态代码块 vs 非静态代码块4、静态代码块>内部可以有输出语句>随着类的加载而执行,而且只执行一次>作用:初始化类的信息>如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行>静态代码块的执行要优先于非静态代码块的执行>静态代码块内只能调用静态的属性,静态的方法,不能调用非静态的结构5、 非静态代码块>内部可以有输出语句

2022-01-06 20:22:20 121

原创 面向对象下(单列设计模式:饿汉式vs懒汉式)

一、所谓的单列设计模式,就是采用一定的方法保证在整个的软件系统中二、单列的饿汉式实现public class SingletonTest1 { Bank bank1=Bank.getInstance();}class Bank{ //1、私有化构造器 private Bank(){ } //2、创建内部类对象 //4、要求此对象也必须声明为静态的 private static Bank instance=new

2022-01-06 15:15:06 295

原创 面向对象下(static)

static关键字的使用1、static:静态的2、static可以用来修饰:属性,方法、代码块、内部类3、使用static修饰属性:静态变量(类变量)3.1属性:按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量)实例变量:我们创建类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当 修改其中一个对象中的非静态属性时,不会导致其他对象中相同的...

2022-01-05 17:59:03 186

原创 面向对象中(包装类)&&(JDK5.0新特性:自动装箱/自动拆箱)

包装类的使用:1、java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征基本数据类型 包装类 byte Byte short Short int Integer long Long float Float double Double boolean Boolean char Character 注明:表明的红色父类为Number2、掌握的:基本数据类型、包装类、String三者之间.

2022-01-04 19:50:20 157

原创 面向对象中(Object类)

一、java.lang.Object类1、Object类是所有Object类的根父类2、如果在类的声明中未使用extends关键字指明其父类,则默认为java.lang.Object类3、Object类中的功能(属性、方法)都具有通用性属性:无方法:equals() / toString() / getClass() / hashCold() / clone() / finalize() /wait()、notify()、notifyAll()4、Object类只声明了一个空参构

2022-01-04 13:52:49 193

原创 面向对象中(instanceof的使用)

强制转换:使用多态性时,无法调用子类特有方法,可以强制转换Person person=new Student();Student student=(Student) person;//强制转换student.study;//study(Student类特有方法)使用强制转换时,可能出现ClassCastExpection的异常。Teacher teacher=(Teacher)person;//强制转换错误instanceof关键字的使用a instanceof A:判断对象

2022-01-02 20:17:16 231

原创 面相对象中(多态性的使用)

1、理解多态性:可以理解为一个事物的多种形态2、何为多态性:对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用)3、多态的使用:虚拟方法调用有了对象的多态性以后,我们在编译期,只能调用在父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。总结:编译,看左边;运行:看右边。4、多态性的使用前提:① 类的继承关系 ② 方法的重写5、对象的多态性只适用于方法,不适用于属性6、多态性是运行时行为...

2022-01-02 14:39:38 140

原创 面向对象中(super调用属性和方法)

super关键字的使用:1、super理解为:父类的2、super可以用来调用:属性、方法、构造器3、super的使用:调用父类的属性和方法3.1 我们可以在子类的方法或构造器中。通过使用"super.属性"或"super.方法"显式的调用父类中声明的属性和方法。但是通常情况下、我们习惯省略“super”。3.2 特殊情况:当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,必须使用“super.属性”的方式,表明调用的是父类的属性。...

2022-01-01 16:42:51 1260

原创 面向对象中(方法的重写)

方法的重写:1、重写:子类继承父类后,可以对父类中同名,同参的方法,进行覆盖操作。2、应用:重写以后,当创建子类对象以后,通过子类对象调用父类中的同名同参的方法时,实际执行的是子类重写父类的方法3、重写的规则方法的声明:权限修饰符 返回值类型 方法名(形参列表)throws 异常的类型{}约定俗称:子类中的重写叫重写的方法,父类中的叫被重写的方法① 子类中重写的方法的方法名和形参列表与父类中被重写的方法名和形参列表相同② 子类重写的方法的权限修饰符不小于父类中被重写的方.

2021-12-31 18:03:17 257

原创 面向对象中(继承)

一、继承性的好处① 减少了代码的冗余,提高了代码的复用性② 便于功能的扩展③ 为之后的多态性的使用,提供了前提二、继承性的格式:class A extends B{}A:子类、派生类、subclassB:父类、基类、超类、spuerclass2.1 体现:一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有属性和方法特别的,父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私有的结构。只是因为封装性的影响,使得子类不能直接调用父类的结构

2021-12-31 13:43:08 112

原创 面向对象上(JavaBean&&this调用属性、构造器)

一、JavaBean是一种Java语言写成的可重用组件。 所谓javaBean,是指符合如下标准的Java类 >类是公共的 >有一个无参的公共的构造器 >有属性,且有对应的get,set方法二、this调用属性 this关键字的使用 1、this可以用来修饰:属性,方法,构造器 2、this可以理解为:当前对象,或正在创建的对象...

2021-12-27 12:53:38 139

原创 面向对象上(构造器)

一、构造器的作用:1:创建对象2:初始化对象的信息二、说明:1、如果没有显示的定义类的构造器的话,则系统默认提供一个空参的构造器。2、定义构造器的格式:权限修饰符 类名(形参列表){}3、一个类中定义的多个构造器,彼此构成重载4、一旦我们显示的定义了类的构造器之后,系统就不再提供默认的空参构造器 public static void main(String[] args) { //创建类的对象:new+构造器 Person p=new P

2021-12-27 10:49:04 36

原创 面向对象上(封装性的体现)

一、封装性的体现: 我们将类的属性xxx私有化(private),同时提供公共的(public)方法来获取(getXxx)和设置(setXxx)此属性的值。private String name;private int age;private int legs;//腿的个数public void setLegs(int l){ legs=l;}public int getLegs(){ return legs;}二、封装性的体现,需要权...

2021-12-26 13:35:23 452

原创 面向对象上(值传递机制)

一、变量的赋值如果变量是基本数据类型,此时赋值的是变量所保存的数据值。int m=10;int n=m;System.out.println("m="+m+" n="+n);n=20;System.out.println("m="+m+" n="+n);如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。Order o1=new Order();o1.orderId=1001;Order o2=o1;System.out.println("o1.Orde

2021-12-23 17:31:05 1594

原创 面向对象上(方法的重载&冒泡排序&可变形参个数的方法)

一:方法的重载:1.定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。 “两同一不同”:同一个类、相同方法名 参数列表不同,参数个数不同,参数类型不同,参数顺序不同2、判断是否重载: 跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系。3、再通过对象调用方法时,如何确定某一个指定的方法: 方法名---->参数列表二:冒...

2021-12-23 13:58:48 198

原创 面向对象a(数组内存解析)&(匿名对象的使用)

内存解析的说明1、引用类型的变量:只可能存储两种值:null或地址值(含变量类型)匿名对象的使用1、我们创建的对象,没有显示赋值给一个变量名。即为匿名对象2、特征:匿名对象只能调用一次3:使用public class Phone { public static void main(String[] args) { ShowPhone mall=new ShowPhone(); mall.showPhone(new SellPhone().

2021-11-10 22:28:18 58

原创 面向对象上

类中方法的声明和使用1、举例 public void eat(){} public viod eat(String foot){} public String eat(){} public String eat(String foot){}2、方法的声明: 权限修饰符 返回值类型 方法名(形参列表){ 方法体...

2021-11-08 12:10:04 36

原创 面向对象上

类中属性的使用属性(成员变量)vs局部变量不同点:1、在类中声明的位置不同属性(成员变量):直接定义在类的一对{}内局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部变量2、有关于权限修饰符的不同属性:可以在声明属性时,指明其权限,使用权限修饰符局部变量:不可以使用权限修饰符3:默认初始化的情况属性: 整形(byte、short、int、long)//0 ...

2021-11-08 11:04:01 29

原创 面向对象上

一、面相对象的三大特征:封装、继承、多态二、面向对象的两个要素:类:对类事物的描述对象:对象是实际存在的该类事物的每个个体,也称为实例>1、设计类属性=成员变量//属性int age;String name;boolean isMan;方法=成员方法=函数//方法 public void eat(){ System.out.println("人可以吃饭"); } public void sleep(){

2021-11-07 16:55:18 39

计算机网络.zip

计算机网络.zip

2021-12-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除