自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java学习记录之缓冲流、转换流、序列化流

缓冲流也叫高效流,是对应4个基本的Filexxx流的增强,所以也是4个流:字节缓冲流:BufferedInputStream,BufferedOutputStream字符缓冲流:BufferedReader,BufferedWriter缓冲流的基本原理,实在创建流对象时,会创建一个内置的默认大小的缓冲数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率字节缓冲输出流java.io.BufferedOutputStream extends OutputStream继承自父类的共性成员方法:

2020-05-31 15:02:48 104

原创 Java学习记录之字节流、字符流

java中I/O操作主要使用java.io包下的内容,进行输入、输出操作。输入也叫读取数据,输出也叫写出数据IO分类根据数据的流向分为:输入流和输出流输入流:把数据从其它设备读取到内存中的流输出流:把数据从内存中写出到其它设备上的流根据数据的类型分为:字节流和字符流字节流:以字节为单位,读写数据的流字符流:以字符为单位,读写数据的流顶级父类们字节流一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个字节,那么传输时一样如此。所以,字节流可以传输任意文件数据

2020-05-26 17:41:57 156

原创 Java学习记录之File类、递归

java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作构造方法:1.public File(String pathname) :通过将给定路径字符串转换为抽象路径名来创建一个新File实例参数:Sting pathname :字符串的路径名称路径可以是以文件结尾,也可以是以文件夹结尾路径可以是相对路径,也可以是绝对路径路径可以是存在的,也可以是不存在的创建File对象,只是把字符串路径封装为File对象,不考虑路径的真假情况2.public Fi

2020-05-24 20:04:36 198

原创 Java学习记录之线程池、Lambda表达式

等待唤醒机制就是在一个线程进行了规定操作后,就进入等待状态(wait()),等待其它线程执行完它们的指定代码过后,再将其唤醒(notify());在有多个线程进行等待时,如果需要,可以用notifyAll()方法来唤醒所有的等待线程wait:线程不再活动,不在参与调度,进入wait set中,因此不会浪费CPU资源,也不会去竞争锁了,这时线程状态即是WAITING.它还要等着别的线程执行一个特别的动作,也即“notify”.notify:选取所通知对象的wait set中的一个线程释放注意:哪怕只

2020-05-23 19:43:34 109

原创 Java学习记录之多线程

并发与并行并发:指两个或多个事件在同一个时间段内发生并行:指两个或多个事件在同一时刻发生(同时发生)在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单CPU系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行的。而在多个CPU系统中,则这些可以并发执行的程序便可以分配到多个处理器上实现多任务并行执行,即利用每个处理器来处理一个可以并发执行的程序,这样多个程序便可以同时执行。目前电脑市场上说的多核CPU,便是多核处理器,核

2020-05-22 19:47:14 146

原创 Java学习记录之异常

异常:指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。在java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出一个异常对象。java处理异常的方式就是中断处理。注意:异常指的并不是语法错误。语法错了,编译不通过,不会产生字节码文件,根本不能运行异常的根类是:java.lang.Throwable 其下有两个子类:java.lang.Error 与java.lang.Exception 平时所说的异常指:java.lang.ExceptionE

2020-05-22 09:44:53 177

原创 Java学习记录之斗地主案例:有序版本

斗地主综合案例:有序版本1.准备牌特殊牌:大王、小王52张牌:循环嵌套遍历两个集合/数组,组装52张牌List colors = List.of(“♠”,”♥“,“♣”,“♦”);List numbers = List.of(“2”,“A”,“K”,“Q”,“J”,“10”,“9”,“8”,“7”,“6”,“5”,“4”,“3”);2.洗牌使用Collections中的方法shuffle(List)3.发牌一人一张轮流发牌,每人17张集合索引%3剩余3张留给底牌4.排序使用Coll

2020-05-12 13:56:58 137

原创 Java学习记录之JDK9的一些新特性

JDK9的新特性:List接口,Set接口,Map接口:里面增加了一个静态的方法of,可以给集合一次性添加多个元素static List of (E…elemnets)使用前提:当集合中存储的元素的个数已经确定了,不再改变时候用注意:1.of方法之适用于List接口、Set接口、Map接口,不使用于接口的实现类2.of方法的返回值是一个不能改变的集合,集合不能再使用add.put方法添加元素,会抛出异常3.Set接口和Map接口在调用of方法的时候,不能有重复的元素,否则会抛出异常imp

2020-05-12 10:35:30 132

原创 Java学习记录之“计算一个字符串每个字符出现字数”小练习

计算一个字符串中每个字符出现次数分析:1.使用Scanner获取用户输入的一个字符串2.遍历字符串,获取每一个字符<1>String类的方法toCharArray,把字符串转换为一个字符数组,遍历数组<2>String类的方法length()、charAt(索引)3.使用Map集合中的方法判断获取的字符是否存储在Map集合中<1>使用Map集合中的方法containsKey(获取到的字符),返回的是boolean值true:字符存在;通过字符key,获取v

2020-05-12 09:59:55 315

原创 Java学习记录之Map集合

java.util.Map<k,v>集合Map集合的特点:1.Map集合是一个双列集合,一个元素包含两个值(一个key,一个value)2.Map集合中的元素,key和value的数据类型可以相同,也可以不同3.Map集合中的元素,key值是不允许重复的,value的值是可以重复的4.Map集合中的元素,key和value是一一对应的java.util.HashMap<k,v>集合 implements Map<k,v>接口HashMap集合的特点:1.H

2020-05-11 20:27:35 269

原创 Java学习记录之Collections的工具类

首先大家要注意一下,此篇文章是关于Collections工具类,区别于前面写过的Collection集合那一章。java.utils.Collections是集合工具类,用来对集合进行操作。部分方法如下:public static boolean addAll(Collection c,T…elements) :往集合中添加一些元素public static void shuffle(List<?> list) 打乱顺序,打乱集合顺序import java.util.Collecti

2020-05-10 20:31:58 111

原创 Java学习记录之Set集合

java.util.Set接口 extends Collection接口Set接口的特点;1.不允许存储重复的元素2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历java.util.HashSet集合 implements Set接口HashSet特点:1.不允许存储重复元素2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历3.是一个无序的集合,存储元素和取出元素的顺序有可能不一致4.底层是一个哈希表结构(查询速度非常快)import java.util.Ha

2020-05-10 18:40:37 91

原创 Java学习记录之List集合

java.util.List接口 extends Collection接口List接口的特点:1.有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123)2.有索引,包含了一些带索引的方法3.允许存储重复的元素List接口中带索引的方法(特有):public void add(int index, E element) :将指定的元素,添加到该集合中的指定位置上public E get(int index) :返回集合中指定位置的元素pubic E remove(int ind

2020-05-09 16:06:52 82

原创 Java学习记录之数据结构

数据结构–数组:查询快:数组的地址是连续的,我们通过数组的首地址可以找到数组,通过数组的索引可以快速查找某一个元素增删慢:数组的长度是固定的,我们想要增加/或者删除一个元素,必须创建一个新的数组,把源数组的数据复制过来,在堆内存中,频繁的创建数组、复制数组中的元素、销毁数组,效率低下数据结构–链表查询慢:链表中地址不是连续的,每次查询元素,都必须从头开始查询增删快:链表结构,增加/删除一个元素,对链表的整体结构没有影响,所以增删快链表中的每一个元素也称之为一个节点,一个节点包含了一个数据源(存

2020-05-09 12:55:07 114

原创 Java学习记录之斗地主案例

斗地主案例分析:1.准备牌:54张牌,存储到一个集合中特殊牌:大王、小王其它52张牌:定义一个数组/集合,存储4中花色:♠、♥、♣、♦定义一个集合/数组,存储13个序号:2、A、K…3循环嵌套遍历两个数组/集合,组装52张牌♠2,♠A…♠3,♥2,♥A…♥3…2.洗牌使用集合工具类Collection的方法static void shuffle(List<?> list) 使用指定的随机源对指定列表进行置换会随机的打乱集合中元素的顺序3.发牌要求:1人17张牌,剩余2张

2020-05-09 12:04:21 170

原创 Java学习记录之泛型

泛型:是一种未知的数据类型,当我们不知道使用什么数据类型的时候,可以使用泛型泛型也可以看成是一个变量,用来接收数据类型E e :Element元素T t :Type类型下面通过一张图更具体的解释一下泛型:import java.util.ArrayList;import java.util.Iterator;public class Demo01Genneric{ publ...

2020-05-09 10:23:51 111

原创 Java学习记录之Collection接口

Collection 是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合。先通过一张关系图来说明一下Collection:/* java.util.Collection接口 所有单例集合的最顶层的接口,里面定义了所有单列集合共性的方法 **任意的单例集合都可以使用Collect...

2020-05-08 15:00:00 599

原创 Java学习记录之基本类型包装类

包装类:基本数据类型,使用起来非常方便,但是没有对应的方法来操作这些基本类型的数据,可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,这个类叫做包装类。我们可以使用类中的方法来操作这些基本类型的数据/* 装箱:把基本类型的数据,包装到包装类中(*基本类型的数据-->包装**类*) 构造方法: Integer(int value) :构造一个新分配的I...

2020-05-07 21:12:18 106

原创 Java学习记录之StringBuilder类

首先通过一张草图,简单的介绍一下String类和StringBuilder类java.lang.StringBuilder类:字符串缓冲区,可以提高字符串的效率构造方法:StringBuilder() :构造一个不带任何字符的字符串生成器,其初始容量为16个字符StringBuilder(String str) :构造一个字符串生成器,并初始化为指定的字符串内容public class...

2020-05-07 17:47:55 91

原创 Java学习记录之System系统类

java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有:public static long currentTimeMillis():返回以毫秒为单位的当前时间public static void arraycopy(Object src,int srcPos, Object dest, int destPo...

2020-05-07 16:35:37 87

原创 Java学习记录之Calendar日历类

java.util.Calendar类:日历类Calendar类是一个抽象类,里面提供了很多操作日历字段的方法(YEAR、MONTH、DAY_OF_MONTH、HOUR)Calendar类无法直接创建对象使用,里面有一个静态方法叫getInstance().该方法返回了Calendar类的子类对象static Calendar getInstance() 使用默认时区和语言环境获得一个日历。...

2020-05-07 15:50:04 101

原创 Java学习记录之Data日期时间类

java.util.Data:表示日期和时间的类Data类表示特定的瞬间,精确到毫秒毫秒:千分之一秒 1000毫秒=1秒特定的瞬间:一个时间点,一刹那时间2020-05-06 19:44:33:333 瞬间2020-05-06 19:44:33:334 瞬间…毫秒值的作用:可以对时间和日期进行计算2010-01-01到2020-01-01中间一共有多少天,可以日期转换为...

2020-05-07 14:34:10 186

原创 Java学习记录之内部类

如果一个事物的内部包含另一个事物,那么这就是一个类内部包含另一个类。例如:身体和心脏的关系。又如:汽车和发动机的关系分类:1.成员内部类2.局部内部类(包含匿名内部类)成员内部类的定义格式:修饰符 class 外部类名称{修饰符 class 内部类名称{//…}//…}注意:内用外,随意访问;外用内,需要内部类对象。============================...

2020-05-06 17:23:12 99

原创 Java学习记录之权限修饰符

Java中有四种权限修饰符:public > protected > (default) > private同一个类 YES YES YES YES同一个包 YES YES ...

2020-05-06 13:21:37 82

原创 Java学习记录之final关键字

final关键字代表最终、不可改变的。常见的四种用法:1.可以用来修饰一个类2.可以用来修饰一个方法3.还可以用来修饰一个局部变量4.还可以用来修饰一个成员变量//创建一个Student类public class Student{ private String name; public Student(){ } public Student(Stri...

2020-05-06 13:11:09 72

空空如也

空空如也

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

TA关注的人

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