自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 Linux常用命令

[用户名 @主机名 当前位置]cd / :进入根目录cd 目录名:进入指定目录pwd:显示当前位置ls:ll:mkdir:rm:rm -r:rm -rf:cp:mv:head 文件:显示文件内容,默认前十行head -n 文件:显示指定文件开始的n行数据tail:从文件结尾显示文件内容tail -n:显示指定文件尾部的n行数据tail -f:动态加载某个文件的内容cat 文件:查看指定文件的所有内容vi命令:打开文件:vi[文件名]进入编辑模式:i,a退出编辑

2022-07-22 14:46:48 166

原创 java设计模式

设计模式基本原则:(设计模式为什么这样设计的原则)(1)单一职责原则:对类来说,即一个类应该只负责一个职责。如类A负责两个不同职责:职责1,职责2;当职责1需求变更而改变A时,可能造成职责2执行错误,所以需将类A的粒度分解为A1,A2(2)接口隔离原则:客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。 public class demo1 {public static void main(String args[]) { A a = new A(); a.depe

2022-07-22 14:42:20 143

原创 python基础语法——列表,元组,字典,函数,类,异常,

sep 参数用来表示输出时,每个值之间使用哪种字符作为分隔,默认使用空格作为分隔符end 当执行完一个print语句以后,接下来要输出的字符,默认\n print('hello','world',sep='+',end='------')input() 内置函数接受用户的输入,不管用户输入的是什么,变量保存的都是字符串,括号里写提示内容在python里如果字符串和数字做加法运算,会直接报错以0b开头的数字是二进制,以0o开头的数字是八进制,以0x开头 的数字是十六进制bin()内置函数可将数字

2020-11-28 17:23:07 418

原创 HTML+CSS语法(如选择器/样式属性/边框等)

JavaSE中路径分为相对路径和绝对路径:相对路径:从工程名开始算绝对路径:盘符:/目录/文件名Web中路径分为相对路径和绝对路径:相对路径:. 表示当前文件所在的目录… 表示当前文件所在的上一级目录文件名 表示当前文件所在目录的文件,相当于./文件名(./可以省略)绝对路径:http://ip:port/工程名/资源路径...

2020-07-09 14:15:52 284

原创 Java——JDBC(JDBC程序编写)

java.sql包或javax.sql包JDBC代表一组公共的接口JDBC中的这些公共接口和DBMS数据库厂商提供的实现类,是为了实现java代码可以连接DBMS,并且操作里面的数据而申明的常用的接口:Connection:连接Statement和PreparedStatement:增删改查ResultSet:接受和处理查询结果辅助的类:DriverManager:驱动管理类JDBC程序编写步骤:(1)注册驱动(如未做,编译不会报错,运行时报错找不到驱动类等异常)(2)连接数据库:Dr

2020-07-09 13:46:57 857

原创 JavaScript基础语法(包含DOM,document等)

标识符:(1)可以有字母,数字,_,$(2)标识符不能以数字开头(3)不能是ja中的关键字或保留字一般首字母小写,每个单词的开头字母大写,其余小写<!DOCTYPE HTML><html> <head> <meta charset="utf-8"> <title></title> <!--js代码一旦用于引入外部文件,就不能再编写代码了,即使编写了也会被浏览器忽略--> <script t

2020-07-04 15:27:20 298

原创 MySql数据库基本语法(DQL,DML,DDL,TCL,DCL),CRUD操作

MySQL的数据类型1.整数系列TINYINT:非常小的整数SMALLINT:小整数MEDIUMINT:中整数INT/INTEGER:整数BIGINT:大整数如何使用(1)int 等价于int(x)(2)int(M):M表示宽度,需要结合另外的两个参数使用unsigned:表示无符号,即没有负数;zerofill:表示用0填充例如:int(2) unsigned zerofill:表示每一个整数有5位数字,如果不足5位的 在左边添0;如果只是单独int(2)就不起作用2.浮点小数

2020-06-14 11:37:44 394

原创 Java——函数式接口,Lambda表达式,方法引用和构造器引用,Stream,Optional

lambda表达式是为了给SAM接口的变量和形参赋值的一种语法函数式接口在java.util.function中(1)消费型接口它的抽象方法有一个特征:有参无返回值Consumer<T> 抽象方法:void accept(T t)消费型接口都以“Consumer”结尾;xxConsumer前面的xx代表形参类型,如:DoubleConsumer void accept(double value):接受一个double值(2)供给型接口它的抽象方法有一个特征:无参有返回值

2020-06-08 14:56:40 176

原创 Java——反射及反射的应用(获取类的信息,动态创建对象动态设置和获取属性的值,动态的调用方法,动态的读取注解,动态的读取子类的泛型父类的泛型实参)

类的加载(1)加载:把字节码读取到内存中(2)连接:验证:确保加载的类信息符合JVM规范;准备:为类变量分配内存并为非final类变量默认初始值,如果是final的静态常量,直接赋常量值,这些内存都将在方法去中分配;解析:虚拟机常量池内的符号引用(常量名)替换为直接引用(地址)的过程验证,准备完成后,在方法区中已经有一个能够代表当前类的Class对象(3)类的初始化:大多数情况下和类的加载一起完成,有时不是触发类初始化的操作(类的加载包含类的初始化一起完成):(1)当虚拟机启动,先初始化m.

2020-06-05 22:01:14 295

原创 Java——类的加载,类加载器,类加载器的双亲委托模式,类加载器的作用

类的加载(1)加载:把字节码读取到内存中(2)连接:验证:确保加载的类信息符合JVM规范;准备:为类变量分配内存并为非final类变量默认初始值,如果是final的静态常量,直接赋常量值,这些内存都将在方法去中分配;解析:虚拟机常量池内的符号引用(常量名)替换为直接引用(地址)的过程验证,准备完成后,在方法区中已经有一个能够代表当前类的Class对象(3)类的初始化:大多数情况下和类的加载一起完成,有时不是触发类初始化的操作(类的加载包含类的初始化一起完成):(1)当虚拟机启动,先初始化m.

2020-06-05 09:18:40 147 1

原创 Java——标准输入流,标准输出流,标准错误流,打印流

打印流:输出流(1)PrintStream如System.out/System.err(2)PrintWriter从服务器端往客户端返回消息时用到response,response.getWriter()可以返回PrintWriter对象;即Web服务器往客户端返回html网页时,用的是PrintWriter对象的输出方法java.util.ScannerSystem.in:默认情况下是从键盘输入的数据中扫描Scanner:可以从指定的文件,流中读取文本数据 @Testpublic voi

2020-06-03 14:19:16 1221

原创 Java—Reader,Writer,InputStream,OutputStream,缓冲IO流,转换流,数据IO流,序列化与反序列化,try...catch

IO概述(1)如果对于File对象来说,输入输出流只能针对文件,不能针对目录(2)IO操作不仅仅是针对文件,还可以从网络中输入输出(3)输入输出的参照物是当前程序IO的分类(1)按方向输入流(InputStream):将数据从某个源流向程序中输出流(OutputStream):将数据从程序往外发送到某个目的地(2)按操作数据的单位字节流:适用于任何类型的文件,但如果是纯文本文件用字符流更快字符流:只能用于读/写纯文本数据(内容全部是字符),纯文本文件:.txt,.html,.xml,

2020-06-03 08:25:02 149

原创 Java——java.io.File类常用API(获取文件/目录详细信息,创建,删除,重命名,文件过滤器)

java.io.File类API(1)获取文件或目录的详细信息(2)获取文件或目录的路径import java.io.File;import java.io.IOException;import org.junit.Test;public class Test3 {@Testpublic void test3() throws IOException {File file = new File("…/…/UI/UI设计class03.ppt"); // 不规范路径System.ou

2020-06-01 15:00:01 548

原创 Java——泛型类/泛型接口/泛型方法

标题

2020-05-31 21:35:59 195

原创 Java——Collection(List,Set),Map系列集合的特点

Java集合框架两大接口(1)Collection:规范单值集合的接口(2)Map:规范对值集合的接口Collection(1)它是根接口(2)它没有直接的实现类,有更具体的子接口(3)有些集合的元素是可以重复的,有些集合的元素是不能重复的,有些集合的元素是有序的,有些集合的元素是无序的...

2020-05-31 08:22:52 307

原创 Java——线程安全问题,同步方法,同步代码块,生产者和消费者问题

线程安全问题当多个线程使用“共享数据”时,就会有线程安全问题当一个线程修改了“共享数据”,是会影响其它线程如何解决?加锁:通过同步代码块或同步方法同步代码块语法格式:synchronized(锁对象){需要加锁的代码}锁对象:又称为监视器对象,同一时刻某一段代码,只允许一个线程运行,这个锁就记录谁现在在运行,其他线程进不来锁对象的选择:可以是任意类型的对象,必须是这几个线程使用同一个锁对象锁的代码的范围选择:太大不行,太小不行;锁一次任务同步方法:锁的是一次调用过程语法格式:.

2020-05-28 14:24:20 237

原创 Java——如何实现多线程,Thread类的常用API,线程的生命周期

Java中如何去实现多线程?(1)java的程序入口是main方法(main线程/主线程)线程是进程的其中一条路径,即一个进程至少有一个线程,main线程是java程序进程的第一个线程(2)如何开启main线程以外的其他线程?(SE阶段)继承Thread类或者实现Runnable接口继承Thread类(1)编写线程类去继承java.lang.Thread类(2)必须重写父类的public void run()方法,在run()中需要编写这个线程需要完成的任务(3)创建线程类的对象(..

2020-05-27 20:49:47 141

原创 Java——基本数据类型及其包装类,装箱与拆箱,包装类的常用API,包装类对象的缓存问题

为什么要有包装类因为java是面向对象的编程语言,但8种基本数据类型不属于对象,但java中在设计很多API,新的特性等,不支持基本数据类型,只支持对象,为了解决这一问题,java中为8种基本数据类型配上包装类1.基本数据类型及其对应的封装类 基本 包装类 byte Byte short Short int Integer long Long float Float double Double char Character .

2020-05-26 22:07:33 101

原创 Java——异常的处理方式(try...catch,throws,throw)自定义异常

java.lang.Throwable异常的公共父类是Throwable,根父类是Object异常的公共父类java.lang.Throwable(1)只有当对象是此类(或其子类之一)的实例时,才能通过java虚拟机或者java throw语句抛出(2)只有此类或其子类之一才可以是catch子句中的参数类型Throwable类的子类:(1)Error:错误一般指严重错误,一般合理的应用程序不应该试图去捕获它。经典错误:VirtualMachineError(堆内存溢出OutOfMemoryE

2020-05-26 21:10:11 996

原创 Java——文档注解,JUnit的注解,自定义注解和元注解,静态导入

三个基本注解(1)@Override作用:检查这个方法是否符合重写的要求(2)@SuppressWarnings(xx)作用:抑制警告(3)@Deprecated作用:标记某个方法,类,属性等已过时文档注解相关的注解/****/@author :作者@see:另请参阅@since:从xx版本引入@param:形参格式:@param 形参名 形参数据类型 解释要求:方法有几个形参,就写几个@param@return:返回值格式:@return 返回值类型 解释要求:如果方

2020-05-25 20:27:18 246

原创 Java——枚举相关用法

当某个类型的对象是固定的,有限几个,就可以选择使用枚举声明【修饰符】 enum 枚举类型名{ 常量对象列表}【修饰符】 enum 枚举类型名{ 常量对象列表; 其他的成员列表}说明:(1)如果常量对象列表后面还有其他的成员,那么需要在常量对象列表后面加;进行分割(2)常量对象后面没有(“值”)就是调用无参构造;常量对象后面有(“值”)就是调用有参构造(3)枚举类型不能继承其他类,因为枚举类型有一个隐含的父类java.lang.Enum1.Enum类中有一个唯一的构造器p

2020-05-25 09:59:32 248

原创 Java——内部类(静态内部类,成员内部类,局部内部类,匿名内部类)的特点及用法

内部类内部类:在一个类里面的类分类:根据内部类所在位置的不同:(1)成员内部类:外部类中方法外1.有static修饰:静态内部类2.无static修饰:成员内部类【修饰符】 class 外部类 【extends 父类】【implements 父接口们】 { 【其他修饰符】 static class 静态内部类 【extends 父类】【implements 父接口们】{ } 【其他修饰符】 class 成员内部类 【extends 父类】【implements 父接口们】{ }

2020-05-24 11:35:05 259

原创 常用接口——java.util.Comparator和java.lang.Comparable

java.util.Comparator接口此接口代表的是java中比较两个对象的大小标准,而且是一种“定制”比较的标准这个接口中没有规定如何比较两个对象的大小,但是规定了:抽象方法:int compare(Object o1,Object o2)如果o1>o2,就返回正整数如果o1<o2,就返回负整数如果o1=o2,就返回0java.lang.Comparable接口自然比较,自然顺序int compareTo(Object obj)this与obj对象比较:this&g

2020-05-23 21:00:39 185

原创 Java——接口的声明及特点

接口声明【权限修饰符】 interface 接口名{接口的成员列表;}接口的成员JDK1.8之前,只有两种成员(1)全局的静态常量:public static final … 这三个单词可省略(2)公共的抽象方法:public abstract … 这两个单词可省略接口的实现(1)语法格式:【修饰符】 class 实现类 implements 接口们{}接口的特点(1)在实现类实现接口时,要么实现/重写所有的抽象方法,要么这个实现类是一个抽象类(2)接口不能直接创建对象(3

2020-05-23 14:57:35 1418

原创 Java——根父类(Object类)的常用方法

Java中规定:如果一个类没有显式声明它的父类,那么默认这个类的父类就是java.lang.Object。根父类:(1)Object类中声明的方法,所有引用数据类型中都有(所有对象都实现这个类的方法)(2)所有类的对象的实力初始化过程,都会调用Object的实例初始化方法(3)Object类型的变量,形参,数组可以接受任意类型的对象(所有的对象都可以赋值给Object的变量)java.lang.Objectpublic String toString()用于返回对象的消息,建议所有子类重写,

2020-05-22 22:29:16 349

原创 Java——抽象方法和抽象类的特点

抽象方法语法格式:【其他修饰符】 abstract 返回值类型 方法名(【形参列表】);抽象方法无方法体抽象类如果一个类中包含了抽象方法,那么这个类必须是一个抽象类语法格式:【其他修饰符】 abstract class 抽象类名{【其他修饰符】 abstract 返回值类型 方法名(【形参列表】);}抽象类的特点(1)抽象类不能实例化,既不能创建对象(2)子类直接继承抽象类会报错;解决方法:要么子类也是一个抽象类,要么重写父类的所有抽象方法(3)抽象类有构造器,这个构造..

2020-05-22 16:22:10 1639

原创 API——Arrays类的常用方法

java.util.Arrayspublic static int binarySearch(int[] arr,int key)使用二分搜索法搜索arr数组中的key值,如果key在arr数组中存在,就返回找到的第一个的下标,如果不存在返回负数(-(插入点)-1) 要求:数组是有序的,否则结果不确定public static int[] copyOf(int[] original,int newLength)从original原数组中复制newlength个数得到新数组;新数组的长度为newle

2020-05-22 14:58:22 242

原创 Java——静态代码块,实例初始化方法和非静态代码块,类初始化方法

非静态代码块(1)声明:【修饰符】 class 类名{{非静态代码块; }}(2)代码的执行:1.在每次创建对象的时候都会执行;2.比构造器先执行实例初始化(1)<init>(【形参】){}(2)实例初始化的代码包括:1.为成员变量显示赋值;2.执行非静态代码块;3.执行构造器其中1和2按顺序执行,3一定是最后执行(3)当创建对象,调用对应的构造器时,其实执行的是对应的实例初始化方法静态代码块(1)声明【修饰符】 class 类名{static{.

2020-05-19 10:49:20 260

原创 Java——成员变量(类变量,实例变量)与局部变量的区别

声明的位置(1)成员变量:类中方法外(2)局部变量:方法()的形参列表中;方法体{}中;代码块中运行时在内存中的位置(1)成员变量:类变量:方法区中;实例变量:堆(2)局部变量:native方法中的局部变量:本地方法栈非native方法中的局部变量:虚拟机栈修饰符(1)成员变量:四种权限修饰符,static,final(2)局部变量:final生命周期(1)类变量:每一个对象是共享的随着类的加载而分配空间,随着类的卸载而消亡(2)实例变量:每一个对象是独立的随着对象的创建而.

2020-05-18 22:08:07 573

原创 Java——其它修饰符(final,native,static,abstract)

final修饰符意思:最终的可修饰:类(外部类,内部类),变量(成员变量(类变量,实例变量),局部变量),方法(静态方法,非静态方法)修饰后有何不同(1)修饰类:终极类即这个类不能被继承了(2)修饰方法:终极方法即这个方法不能被重写(3)修饰变量:终极变量即这个变量的值不能修改,也称为常量native修饰符意思:原声的,本地的可修饰:方法修饰后有何不同(1)native修饰的方法看不见方法体语法格式:【修饰符】 class 类{ 【其他修饰符】 n

2020-05-18 21:44:28 419

原创 Java——数据类型的转换及instanceof

基本数据类型的转换(1)自动类型转换 byte->short->char->int->long->float->double byte,short,char进行算数运算时会自动转换成int boolean类型不参与数据类型转换(2)强制类型转换 double->float->long->int->char->short->byte引用数据类型的转换父子类之间的转换(1)向上转型:把子类的对象赋值给父类..

2020-05-18 15:43:29 269

原创 Java——构造器,this,super,类的继承的特点

构造器作用:(1)构造对象,创建对象,和new一起使用,每次调用它就是在创建新的对象; (2)可以在创建对象的同时给属性赋值。特点:(1)所有类都有构造器; (2)构造器名称必须与类名相同 (3)无返回子类型,也不写void (4)如果没有显示声明构造器,那么编译器自动回生成默认的无参构造 (5)如果有显示声明构造器,那么编译器不会自动生成默认的无参构造 (6)可以重载this:当前对象意思:(1)在构造器中时,指正在被创建的对象 (2)在方法中..

2020-05-18 15:20:35 129

原创 Java多态的应用——多态数组和多态参数

多态引用左边的类型是父类类型,右边的对象是子类的对象多态的应用多态数组:数组的元素是父类的类型,实际存储的是子类的对象public class Polymorphic_Array{ public static void main(String[] args){ Graphic[] array =new Graphic[2]; array[0]=new Circle(2.3); array[1]=new Rectangle(3.2,4.3); for(int i=0;i&lt..

2020-05-18 11:20:36 500

原创 Java——对象数组和可变参数

class ObjectArray{ public static void main(String[] args){ //声明一个数组 Circle[] arr = new Circle[3]; //**这个new不是创建圆的对象,而是创建数组对象;此时数组元素的默认值为null** //为数组元素赋值 for(int i = 0;i<arr.length;i++){ arr[i] = new Circle(); //**创建圆对象** arr[i].r.

2020-05-14 15:46:09 544

原创 Java中数组的初始化(静态初始化和动态初始化)

静态初始化在声明和定义数组的同时,给数组元素赋值方式一:数组初始化式 int[] arr ={1,2,3}; //正确 int[] arr; arr={1,2,3}; //错误(因为数组初始化式只能用于声明且同时赋值的情况)方式二 int[] arr = new int[] {1,2,3}; //正确 将其拆开的写法: int[] arr; arr =new int[] {1,2,3}; //正确 int[] arr; arr = new int[3

2020-05-14 14:38:44 1061

空空如也

空空如也

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

TA关注的人

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