自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

行来行去踢桃

没什么技术,跟着写博客

  • 博客(36)
  • 收藏
  • 关注

原创 反射操作方法和构造方法

获取构造方法Constructor con = clazz.getConstructor(Class…参数类型);clazz.getDeclaredConstructor();clazz.getDeclaredConstructors();Constructor类中的常用方法con.getModifiers();con.getName();con.getParameterTypes(...

2019-05-25 14:44:57 250

原创 反射机制

类是用来描述对象的反射机制用来描述所有的类,所有的类也具有相同的特征,比如说:几乎每一个类都有属性,方法。每一个类都有构造方法,每一个类都有权限修饰符,特征修饰符Class用来描述类本身Package用来描述类所属的包Field用来描述类中的属性Method用来描述类中的方法Constructor用来描述类中的构造方法Annotation用来描述类中的注解1.如何获取Clas...

2019-05-24 18:35:54 148

原创 线程死锁

典型的问题:哲学家就餐主方法package test;public class Test { public static void main(String[] args){ Chopstick chopstick1 = new Chopstick(1); Chopstick chopstick2 = new Chopstick(2); ...

2019-05-24 11:43:30 114

原创 线程join方法

join是Thread类中的方法让两个并行的线程变成单线程join()可以传递毫秒值作为参数主方法:public class Test { public static void main(String[] args){ ThreadOne threadOne = new ThreadOne(); threadOne.start(); }}...

2019-05-24 11:12:11 126

原创 生产消费模型

问题: &emsp’两个消费者同时访问一个仓库对象,仓库内只有一个元素的时候,两个消费者并发访问,会有可能产生抢夺资源的问题。解决:  仓库对象被线程访问的时候,仓库对象被锁定。仓库对象只能被一个线程访问,其他的线程处于等待状态。利用特征修饰符synchronized,同步,一个时间点只有一个线程访问线程安全锁两种形式:  1.将synchronized放在方法的结构上 pub...

2019-05-24 10:32:22 213

原创 线程基础

程序:可以理解为是一组静态的代码进程:正在进行的程序,就是静态的代码运行起来了线程:正在执行程序中的小单元线程的几种状态:new     start()  CPU分配,run()  wait()     exception/over创建线程------就绪状态------执行状态------等待状态(挂起)------异常/消亡        |            |      ...

2019-05-24 08:42:33 82

原创 一件重要的事情

流也写了。希望你们能动动手。写个银行业务系统,以下功能就够了:程序刚运行,有:1.开户2.登录3.销户三个选择登录后有:1.存钱2.取钱3.转账三个选择没学数据库。就用.txt文件来代替账户密码存储在.txt文件中,选择登录的时候,Scanner实现输入一行(账号),再一行(密码),账号和密码都匹配—>登录成功账号唯一,密码可以一样。开户的时候,也是输入账号和密...

2019-05-13 23:31:49 160

原创 缓冲流

缓冲流:在流管道内增加缓存的数据,让我们使用流读取的更加的流畅(性能会得到提升)缓冲流是高级流—>通过低级流来创建BufferedInputStream / BufferedOutputStreamBufferedReader / BufferedWriter字节型BufferedInputStream构建方式:使用低级流构建基本使用与低级流的方法完全一致read()   ...

2019-05-13 23:05:05 123

原创 字符型文件流

字节流好处在于什么类型的文件都可以处理,不好在于处理纯文本的文件可能会出现乱码的问题字符型文件流 可以处理中文 用字节流处理中文可能产生问题FileReaderFileWriter只能操作纯文本文件字节流怎么用,字符流就怎么用FileReader继承InputStreamReaderFileWriter继承InputStreamWriter单这么写不太好,给你们加个粗吧...

2019-05-13 22:37:57 146

原创 字节型文件流

可以把流理解为一根管文件流:读取文件中的信息/将信息写入文件中文件流按照读取或写入的单位(字节数)大小来区分  字节型文件流(1字节)    FileInputStream/FileOutputStream  字符型文件流(1~2字节)    FileReader/FileWriter1.字节型文件输入流FileInputStream继承InputStream类,字节型输入流的父...

2019-05-13 20:02:48 273

原创 IO-File类

File—>与电脑上的文件或文件夹产生一 一对应的映射关系File是java.io中的一个类File与真实硬盘中的文件或文件夹不是一个东西File是在内存中的一个对象<–映射–>硬盘上的文件或文件夹File的对象是堆内存中创建出来的一个对象空间路径是看创建的对象是否能与硬盘中的一个真实文件产生对应映射关系系统内硬盘上的文件名字是不区分大小写的,内存中File对象  变...

2019-05-07 11:52:39 128

原创 异常

Java中有一个已经定义好的规则Throwable类,实现了一个序列化接口Exception异常。通常是一种人为规定的不正常的现象。通常是给定的程序指令产生了一些不符合规范的事情Throwable下面有Error和Exception两个分支Exception中有一种RuntimeException(运行时异常,也叫非检查异常)Error和RuntimeException都算作运行时异常,j...

2019-05-05 11:37:16 107

原创 TreeMap

TreeMap和HashMap差不多TreeMap按照Unicode自然有序key实现Comparable接口底层存储方式是红黑二叉树如果key对象没有实现Comparable接口,会出现ClassCastException类型转换异常...

2019-05-02 20:51:18 104

原创 关于集合的使用

如果要存储的元素以后长度不变,用数组进行存储。如果不确定以后长度变不变,用集合    如果存储有顺序,用List集合      ArrayList 更适合遍历,因为底层是数组实现的      LinkedList 更适合插入删除,因为底层是链表实现的      Stack 则遵循先进后出      Queue 则遵循先进先出    如果存储元素希望自动去掉重复元素,用Set    ...

2019-04-30 09:51:59 99

原创 HashMap

Map通过某一个key可以直接定位到一个value值key无序无重复 value无序可重复key无序还是一样,指的是存入顺序与取得顺序不一致key无重复指的是元素不能一致HashMap<String,String> map = new HashMap<>();增map.put(key,value);key存储的顺序与取得顺序不同不同的key可以存储相同的va...

2019-04-30 09:41:50 94

原创 TreeSet

构造方法和方法查看API,和HashSet差别不大底层是TreeMap实现(二叉树)add() iterator() remove() size();无序无重复TreeSet集合本身有顺序。无序指的是存入的和取出的顺序不一致compareTo方法—>String类中,按照字母的自然顺序排布(Unicode)如果想要把自己写的类型。比如Person对象存入TreeSet集合里,不...

2019-04-30 08:43:30 177

原创 HashSet

HashSetHashSet底层是HashMap存储的。数组+链表(散列表,邻接链表)无参构造方法HashSet<String> set = new HashSet<>(); // 无参构造方法。默认空间16有参构造方法HashSet<String> set = new HashSet<>(Collection<? extends E...

2019-04-23 20:07:34 137

原创 LinkedList+Vector+Stack+Queue

LinkedList底层使用双向链表的数据结构形式来存储,适合于插入或删除,不适合遍历。有多个构造方法(有参和无参)ArrayList<String> array = new ArrayList<String>();LinkedList<String> linked = new LinkedList<String>();LinkedList...

2019-04-23 09:27:21 120

原创 ArrayList集合+泛型

集合有两个分支:Collection 和 MapCollection:存储的都是值(value)Collection分支:List 和 Set     Collection     /    \     /      \   Listi     SetList:有序可重复Set:无序不可重复Map以键值对存储(key-value)其中的key无序不可重复,value无序可重复...

2019-04-19 11:44:50 4560

原创 正则表达式

这是个小知识点,无论哪个语言,这些什么\d,\D,\s,\S等规则都是一样的。我就不多说了。自己查看一下百度也就好了。我把以前写的这部分知识直接复制过来package com.duing.study;import java.util.Scanner;import java.util.regex.Pattern;import java.util.regex.Matcher;public...

2019-04-16 09:48:14 190

原创 StringBuffer+StringBuilder

StringBuffer和StringBuilder都在java.lang包下,都继承AbstractStringBuilder。都实现接口Serializable,CharSequence,AppendableStringBuffer和StringBuilder都没有compareTo方法StringBuffer和StringBuilder都有append()方法,用来拼接字符串Stri...

2019-04-16 09:36:38 215

原创 String常用方法

String这个类是非常非常非常非常重要的equals(Object obj); 重写了继承自Object的equals方法,比较内容hashCode(); 重写了继承自Object的hashCode方法 h = 31 * h + val[i];toString();重写了继承自Object的toString方法compareTo(String str); 实现自Comparable接...

2019-04-09 09:37:05 198

原创 关于JAVA中的String类(非常重要的一个类)的不可变特性

String类非常重要String是java.lang包下的一个类,重写了equals方法继承关系:默认继承Object类实现了三个接口:Serializable , CharSequence , ComparableString的不可变特性体现在它的长度和它的内容:长度------>String底层是一个final修饰的数组,数组本身的长度不可变,final修饰的数组其地址不能改...

2019-04-07 23:07:46 492

原创 日期相关

Date类通常使用java.util包里的通常使用无参构造方法, 或者带 long 构造方法常用方法:  before();  after();  setTime();  getTime();日期格式 DateFormatjava.text包。抽象类,不能实例化通过子类SimpleDateFormat来使用SimpleDateFormat sdf = new SimpleD...

2019-04-03 09:14:35 94

原创 数学相关类

Math类属java.lang包Math类的构造方法是私有的,不能直接调用创建对象由于Math中提供的属性及方法都是static,所以不需要创建对象常用方法:    abs(); 绝对值    ceil(); 向上取整 返回double类型    floor(); 向下取整 返回double类型    rint(); 返回最接近参数的整数,如果有2个数同样接近,则返回偶数的那个 ...

2019-04-02 09:32:08 272

原创 包装类

包装类byte—Byteshort—Shortint—Integerlong—Longfloat—Floatdouble—Doublechar—Characterboolean—Boolean这8个类都在java.lang包里前6个与数字相关,都默认继承NumberxxxValue();将一个包装类类型转化为对应的基本类型(拆包)都实现Serializable,Compa...

2019-04-02 08:37:48 98

原创 小知识点:枚举

这是个小知识点,用其他方式同样可以实现需要实现的功能,只不过在某些情况下,我们用枚举会更合理一些。枚举类:一个类中的对象认为个数是有限且固定的,可以将每一个对象一 一列举出来。写法:public enum Day{}我们自己定义的枚举类,默认继承Enum类,间接继承Object类我们自己定义的enum类型不能再写extends 但是可以实现接口Enum类型有两个属性nam---...

2019-03-29 11:42:08 159

原创 JAVA内部类概念

内部类:内部类指的是在JAVA中可以将一个类定义在另一个类的内部内部类可以定义在 类的内部(与类成员层次一致)内部类可以定义在 方法/程序块内部(与类成员相差一个层次,与方法的局部变量同一个层次)。1.成员内部类:将一个类直接定义在类的里面,作为成员,与属性或方法层次一致成员内部类可以与正常类一样,使用不同的修饰符来修饰好处1:省略了一个 .java 文件。好处2:成员内部类中可...

2019-03-28 11:54:19 231

原创 JAVA接口

JAVA接口接口可以理解为是抽象类抽象到极致—>还是一个类的结构,只不过不用class修饰,改用interface修饰接口通常是用来定义规则的1.接口里的成员:(1).属性:不能含有一般属性 只能含有公有的静态的常量 如:public static final int a = 10;(2)方法: 不能含有一般方法 只能含有公有的抽象的方法(JDK1.8之后可以有default修饰...

2019-03-27 09:24:10 131

原创 JAVA抽象类

对JAVA类加载顺序的理解:在创建对象之前会先加载类先加载父类,再加载子类父类模板—>父类静态空间----->子类模板----->子类静态空间1.加载父类父类会产生自己的静态空间。依次加载 属性 方法 块 然后执行块。2.加载子类子类会产生自己的静态空间。依次加载属性 方法 块 然后执行块。...

2019-03-27 09:01:14 259

原创 JAVA多态

多态:多态是:同一个对象体现出来的多种不同形态(身份),将一种行为表现出不同的效果。要想实现多态的效果,首先要有继承关系。体现:父类类型引用指向子类的对象Teacher teahcer = new Teacher(); // 这个老师是一个老师Person person = new Teacher(); // 这个人是一个老师改引用(person)只能调用父类中定义的属性或方法...

2019-03-26 11:10:15 186

原创 特征修饰符final

特征修饰符final1.修饰变量如果在定义变量的时候没有赋初始值,则给变量一次存值的机会(因为变量是在栈内存空间内,没有默认值)。一旦变量被存储了一个值,若是final修饰的,则不让再次改变。注意修饰的变量类型是基本类型还是引用类型:如果修饰的变量是局部数据类型:则变量内的值不让更改—常量如果修饰的变量是引用数据类型:则变量内的地址引用不让更改----对象唯一2.修饰属性属性如果没有...

2019-03-26 09:51:40 304

原创 JAVA类中的代码块

类的第四个成员------程序块(代码块)作用:代码块跟普通方法一样,是用来做事情的写法:可以认为程序块是一个 没有参数 没有名字 没有返回值的特殊方法,就单一对大括号,把内容都包起来{;;;;;;}用法:块也需要调用才能执行 因为没有名字什么都没有,所以我们自己无法调用。每一次我们调用构造方法创建对象之前,系统会帮我们自动的调用一次程序块,让它执行一遍。存在多个代码块的时候,挨个...

2019-03-22 11:59:09 726

原创 JAVA中的this和super关键字

this关键字this代替的是当前调用方法属性时的那个对象,不一定是当前类的对象(在多态中体现)。可以简单的认为,谁调用它(属性或者方法),this 就是谁。多态中体现出来的 this 不一定是当前类的对象。拿图中的来讲。就是:我有一个 Animal 对象 animal。我用这个 animal 对象调用了 show 方法。理应是调用了 Animal 类中的 show 方法。但是由于多态,ani...

2019-03-22 11:24:37 165

原创 JAVA中你必须知道的重载和重写

方法的重载和重:1.方法的重写override方法的重写发生在两个继承关系的类中,子类重写父类的方法重写的方法,要求子类的权限修饰符必须大于等于父类返回值:子类必须小于等于父类(子类的返回值可以和父类的一样,或者是父类的子类型)名字:子类与父类一致参数:子类与父类一致- 关于特征符:final static abstractfinal 子类不能重写st...

2019-03-22 09:21:25 123

原创 JAVA面向对象:继承

java面向对象:继承继承:关键字 extends子类可以调用父类中的属性和方法(public 或 protected修饰的,或没有加修饰符的) 当做自己的来使用。例:Cat 类继承了 Animal 类。Animal 中有私有的 foot 属性和私有的 test4 方法。Cat 类继承了 Animal类。从图片上看到了,子类不能直接访问父类的私有成员。子类可以添加独有的属性和方法...

2019-03-21 23:54:15 158

空空如也

空空如也

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

TA关注的人

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