自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Maven

Apache Maven是一个项目管理和构建工具,它基于项目对模型(POM)的概念,通过一小段描述信息来管理项目的创建、报告和文档标准化的项目结构标准化的构建流程方便的依赖管理仓库分类:本地仓库:自己计算机上的一个目录中央仓库:由Maven团队维护的全球唯一的仓库远程仓库(私服):一般由公司团队搭建的私有仓库当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包:如果有,则在项目直接引用;如果没有,则去中央仓库中下载对应的jar包到本地仓库。

2022-10-29 11:15:12 926 1

原创 JDBC笔记

JDBC就是使用Java语言操作关系型数据库的一套API全称:(Java DataBase Connectivity)Java数据库连接官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口各个数据库厂商去实现这套接口,提供数据库驱动jar包我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类各个数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发可随时替换底层数据库,访问数据库的Java代码基本不变。

2022-10-24 12:45:39 167

原创 MySql

1、一对多实现方式在多的一方建立外键关联一的一方主键2、多对多实现方式建立第三张中间表中间表至少包含2个外键,分别关联双方主键3、一对一实现方式在任意一方建立外键,关联对方主键,并设置外键唯一数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么同时成功,要么同时失败事务是一个不可分割的工作逻辑单元。

2022-10-13 15:43:11 375

原创 Java模块化

模块的基本使用步骤模块服务的使用步骤

2022-06-15 02:49:06 283

原创 Java反射

Java反射机制:是指在运行时去获取一个类的变量和方法信息。然后通过获取到的信息来创建对象,然后调用方法的一种机制,由于这种动态性,可以极大的增强程序的灵活性,程序不用在编译期就完成确定,在运行期仍然可以扩展2、获取Class类的对象我们要想通过反射去使用一个类,首先我们就要获取到该类的字节码文件对象,也就是类型为Class类型的对象获取Class类型的对象的三种方式:.........

2022-06-15 01:39:06 113

原创 Stream流

需求:按照下面的要求完成集合的创建和遍历使用Stream流的方式完成过滤操作2、Stream流的生成方式回顾:Stream流的使用Stream流的常见生成方式3、Stream流的常见中间操作方法 Stream filter(Predicate predicate):用于对流中的数据进行过滤 Predicate接口中的方法 boolean test(T t):对给定的参数进行判断,返回一个布尔值 Stream limit(long max...

2022-06-08 13:13:12 104

原创 函数式接口

函数式接口:有且仅有一个抽象方法的接口Java中的函数式编程体现就是Lambda表达式,所以函数式接口就是可以适用于Lambda使用的接口,只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导如何检测一个接口是不是函数式接口?@FunctionalInterface注意需求如果方法的参数是一个函数式接口,我们可以使用Lambda表达式作为参数传递3、函数式接口作为方法的返回值需求:如果方法的返回值是一个函数式接口,我们可以使用Lambda表达式作为结果返回

2022-06-08 01:32:56 3140

原创 Java方法引用

在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿参数做操作那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再写重复逻辑呢?答案肯定是没有必要那我们又是如何使用已经存在的方案的呢?这就是我们要讲解的方法引用,我们是通过方法引用来使用已经存在的方案的2、方法引用符方法引用符回顾一下我们在体验方法引用中的代码推导与省略.........

2022-06-07 15:03:04 133

原创 接口组成更新

接口的组成2、接口中默认方法接口中默认方法的定义格式:接口中默认方法的注意事项:

2022-06-06 22:25:04 54

原创 Lambda表达式

在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿数据做操作”面向对象思想强调“必须通过对象的形式来做事情”函数式思想则尽量忽略面向对象的复杂语法:“强调做什么,而不是以什么形式去做”而我们要学习的Lambda表达式就是函数式思想的体现需求:启动一个线程,在控制台输出一句话:多线程程序启动方式1:方式2:方式3:1.3 Lambda表达式的标准格式匿名内部类中重写run()方法的代码分析 Lambda表达式的代码分析 组成Lambda表达式的三要素:形式参数,箭头,代码块Lambda表达

2022-06-06 18:40:50 53

原创 Java网络编程

计算机网络网络编程IP地址端口协议IP地址:是网络中设备的唯一标识IP地址分为两大类常用命令:特殊IP地址:为了方便我们对IP地址的获取和操作,Java提供了一个类InetAddress供我们使用InetAddress:此类表示Internet协议(IP)地址static InetAddress getByName(String host)1.5 端口端口:设备上应用程序的唯一标识端口号:用两个字节表示的整数,它的取值范围是0-65535.其中,0-1023之间的端口号用于一些知名的网络服务和应用

2022-06-06 00:31:45 101

原创 生产者消费者

1、生产者消费者模式概述生产者消费者模式是一个十分经典的多线程协作的模式,弄懂生产者消费者问题能够让我们对多线程编程的理解更加深刻,所谓生产者消费者问题,实际上主要是包含了两类线程:为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库为了体现生产和消费过程中的等待和唤醒,Java就提供了几个方法供我们使用,这几个方法在Object类中Object类的等待和唤醒方法:......

2022-06-04 10:11:23 155

原创 Java线程同步

需求:电影院买票,共有100张票,有3个窗口买票,设计一个程序模拟电影院买票 思路: 1、定义一个类SellTicket实现Runnable接口,里面定义一个成员变量:private int tickets = 100; 2、在SellTicket类中重写run()方法实现卖票,代码步骤如下 A:判断票数大于0,就卖票,并告知是哪个窗口卖的 B:卖了票之后,总票数减1 C:票没有了,也可能有人来问

2022-06-03 21:40:14 271

原创 实现多进程

进程:是正在运行的程序线程:是进程中的单个顺序控制流,是一条执行路径方式1:继承Thread类两个小问题:4、设置和获取线程名称Tread类中设置和获取线程名称的方法如何获取main()方法所在的线程名称?5、线程调度线程有两种调度模型Java使用的是抢占式调度模型假如计算机只有一个CPU,那么CPU在某一个时刻只能执行一条指令,线程只有得到CPU时间片,也就是使用权,才可以执行指令。所以说多线程程序的执行是有随机性,因为谁抢到CPU的使用权是不一定的Thread 类中设置和获取线程优先

2022-06-02 23:53:14 493

原创 猜数字小游戏

需求:请写程序实现猜数字小游戏只能试玩三次,如果还想继续,提示:游戏试玩已结束,想玩请充值(www.guessnumber.cn) 思路: 1、写一个游戏类,里面有一个猜数字的小游戏 2、写一个测试类,测试类中有main()方法,main()方法中按照下面步骤完成: A:从文件中读取数据到Properties集合,用load()方法实现 文件已经存在:game.txt 里面有一个数

2022-06-01 23:24:18 85

原创 特殊操作流

1、标准输入输出流System类中有两个静态的成员变量:自己实现键盘录入数据:写起来太麻烦,Java提供了一个类实现键盘录入输出语句的本质:是一个标准的输出流2、打印流打印流分类:打印流的特点:字节打印流字符打印流PrintWriter的构造方法:创建一个新的PrintWriter对象序列化:就是将对象保存到磁盘中,或者在网络中传输对象 这种机制就是使用一个字节序列表示一个对象,该字节序

2022-06-01 23:21:42 99

原创 复制多级文件夹

需求:把C:\zy复制到D盘目录下 思路: 1、创建数据源File对象,路径是C:\zy 2、创建目的地File对象,路径是D:\\ 3、写方法实现文件夹的复制,参数为数据源File对象和目的地File对象 4、判断数据源File是否是目录 是: A:在目的地下创建和数据源File名称一样的目录 B:获取数据源File下所有文件或者目录的File数组...

2022-05-31 00:04:48 150

原创 复制单击文件夹

需求:把D:\Demo这个文件夹复制到模块目录下 思路: 1、创建数据源目录File对象,路径是D:\Demo 2、获取数据源目录File对象的名称(Demo) 3、创建目的地目录File对象,路径名是模块名+Demo组成(D:\Document\Java\myCharStream\Demo) 4、判断目的地目录对应的File是否存在,如果不存在,就创建 5、获取数据源目录下所有文件的File数组 6、遍...

2022-05-31 00:03:54 52

原创 集合到文件(数据排序改进版)

需求:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩) 要求:按照成绩总分从高到低写入文本文件 格式:姓名,语文成绩,数学成绩,英语成绩 思路: 1、定义学生类 2、创建TreeSet集合,通过比较器排序进行排序 3、键盘录入学生数据 4、创建学生对象,把键盘录入的数据对应赋值给学生对象的成员变量 5、把学生对象添加到TreeSet集合 6、创建字符缓冲输出流对象 ...

2022-05-31 00:02:02 75

原创 文件到集合(改进版)

需求:把文本文件中的数据读取到集合,并遍历集合。 要求:文件中每一行数据是一个学生对象的成员变量 格式:学号,姓名,年龄,居住地 思路: 1、定义学生类 2、创建字符缓冲输入流对象 3、创建ArrayList集合 4、调用字符缓冲输入流对象的方法读数据 5、把读取到的字符串数据用split()进行分割,得到一个字符串数组 6、创建学生对象 7、把字符串数组中的每一个元素取...

2022-05-30 23:48:33 103

原创 集合到文件(改进版)

需求:把ArrayList集合中的学生数据写入到文本文件。 要求:每一个学生对象的数据作为文件中的一行数据。 格式:学号,姓名,年龄,居住地 思路: 1、定义学生类 2、创建ArrayList集合 3、创建学生对象 4、把学生对象添加到集合 5、创建字符缓冲输出流对象 6、遍历集合,得到每一个学生对象 7、把学生对象的数据拼接成指定格式的字符串 8、调用字符...

2022-05-30 23:46:48 89

原创 Java点名器

需求:文件夹里存储了班级同学的姓名,每一个姓名占一行,要求通过程序实现随机点名器 思路: 1、创建字符缓冲输入流对象 2、创建ArrayList集合对象 3、调用字符缓冲输入流对象的方法读数据 4、把读取到的字符串数据存储到集合中 5、释放资源 6、使用Random产生一个随机数,随机数的范围在:[0,集合的长度) 7、把第6步产生的随机数作为索引到ArrayList集合中获取值 ...

2022-05-30 23:44:50 209

原创 文件到集合

文件到集合 需求:把文本文件中的数据读取到集合,并遍历集合。 要求:文件中每一行数据是一个集合元素 思路: 1、创建字符缓冲输入流对象 2、创建ArrayList集合对象 3、调用字符缓冲输入流对象的方法读数据 4、把读取到的字符串数据存储到集合中 5、释放资源 6、遍历集合package Test01;import java.io.BufferedReader;import ...

2022-05-30 23:43:36 152

原创 集合到文件

集合到文件 需求:把ArrayList集合中的字符串数据写入到文本文件。 要求:每一个字符串元素作为文件中的一行数据。 思路: 1、创建ArrayList集合 2、往集合中存储字符串元素 3、创建字符缓冲输出流对象 4、遍历集合,得到每一个字符串数据 5、调用字符缓冲输出流对象的方法写数据 6、释放资源package Test01;import java.io.BufferedW...

2022-05-30 23:42:40 287

原创 复制Java文件(字符缓冲流特有功能改进版)

需求:把模块目录下的ConversionStreamDemo.java复制到模块目录下的Copy.java 思路: 1、根据数据源创建字符缓冲输入流对象 2、根据目的地创建字符缓冲输出流对象 3、读写数据,复制文件 使用字符缓冲流特有功能实现 4、释放资源package BufferedStream;import java.io.*;/* 需求:把模块目录下的ConversionStream...

2022-05-30 23:40:26 74

原创 复制Java文件(字符缓冲流改进版)

需求:把模块目录下的ConversionStreamDemo.java复制到模块目录下的Copy.java 思路: 1、根据数据源创建字符缓冲输入流对象 2、根据目的地创建字符缓冲输出流对象 3、读写数据,复制文件 4、释放资源package BufferedStream;import java.io.*;/* 需求:把模块目录下的ConversionStreamDemo.java复制到模块目录下的Copy.jav...

2022-05-30 23:36:19 47

原创 字符流复制Java文件改进版

需求:把模块目录下的ConversionStreamDemo.java复制到模块目录下的Copy.java 分析: 1、转换流的名字比较长,而我们常见的操作都是按照本地默认编码实现的,所以为了简化书写,转换流提供了对应的子类 2、FileReader:用于读取字符文件的便捷类 FileReader(String fileName) 3、FileWriter:用于写入字符文件的便捷类 FileWriter(...

2022-05-30 23:33:45 48

原创 字符流复制Java文件

需求:把模块目录下的ConversionStreamDemo.java复制到模块目录下的Copy.java 思路: 1、根据数据源创建字符输入流对象 2、根据目的地创建字符输出流对象 3、读写数据,复制文件 4、释放资源package FileInputStreamTest;import java.io.*;/* 需求:把模块目录下的ConversionStreamDemo.java复制到模块目录下的Copy.ja...

2022-05-30 23:32:15 101

原创 Java-字符流

1、为什么会出现字符流由于字节流操作中文不是特别方便,所以Java就提供字符流字符流=字节流+编码表用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接成中文,如何识别是中文的呢?汉字在存储的时候,无论选择哪种编码存储,第一个字节都是负数2、编码表基础知识:计算机中存储的信息都是二进制数表示的;我们在屏幕上看到的英文、汉字等字符是二进制数转换之后的结果 按照某种规则,将字符存储到计算机中,称为编码。反之,将存储在计算机中的二进制数按照某种规

2022-05-30 23:27:06 374

原创 字节流复制视频

需求: 把D:\Demo\性爱自修室.mp4复制到模块目录下的 性爱自修室.mp4思路: 1、根据数据源创建字节输入流对象 2、根据目的地创建字节输出流对象 3、读写数据,赋值图片(一次读取一个字节数组,一次写入一个字节数组) 4、释放资源四种方式实现复制视频,并记录每种方式复制视频的时间 1、基本字节流一次读写一个字节 共耗时:53263毫秒 2、基本字节流一次读写一个字节数组 共耗时:91毫秒 3、字节缓冲流一次读写一个字节.

2022-05-25 10:52:41 184

原创 字节流复制图片

需求:把"D:\Demo\2.jpg"复制到模块目录下的"2.jpg"思路: 根据数据源创建字节输入流对象 根据目的地创建字节输出流对象 读写数据,复制图片(一次读取一个字节数组,一次写入一个字节数组) 释放资源package ByteStream02;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;/* 需求:把".

2022-05-25 10:51:34 112

原创 字节流复制文本文件

需求:把"D:\\Demo\\罗翔语录.txt"复制到模块目录下的"罗翔语录.txt"分析: 1、复制文本文件,其实就是把文本文件的内容从一个文件中读取出来(数据源),然后写入到另一个文件中(目的地) 2、数据源: D:\\Demo\\罗翔语录.txt----读数据----InputStream----FileInputStream 3、目的地: D:\\Document\\Java\\myByteStream\\罗翔语录.txt---写数据---.

2022-05-25 10:50:13 155

原创 Java-字节流

1、IO流概述和分类IO流概述:IO:输入/输出(Input/Output) 流:是一种抽象概念,对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输 IO流就是用来处理设备间数据传输问题的 常见的应用:文件复制;文件上传;文件下载 IO流分类:按照数据的流向 输入流:读数据 输出流:写数据 按照数据类型来分 字节流:字节输入流;字节输出流 字符流:字符输入流;字符输出流 一般来说,IO流的分类是按照数据类型来分的字节流和字符流使用:如果

2022-05-25 10:48:27 2896

原创 所有文件的绝对路径输出在控制台

需求:给定一个路径,请通过递归完成遍历该目录下的所有内容, 并把所有文件的绝对路径输出在控制台思路: 1、根据给定的路径创建一个File对象 2、定义一个方法,用于获取给定目录下的所有内容,参数为第1步创建的File对象 3、获取给定的File目录下所有的文件或者目录的File数组 4、遍历该File数组,得到每一个File对象 5、判断该File对象是否是目录 是:递归调用 不是:获取绝对路径输出在控制台 6、调用.

2022-05-21 20:49:15 225

原创 用递归求5的阶乘,并把结果在控制台输出

需求:用递归求5的阶乘,并把结果在控制台输出思路: 1、定义一个方法,用于递归求阶乘,参数为一个int类型的变量 2、在方法内部判断该变量的值是否是1 是:返回1 不是:返回n*(n-1) 3:调用方法 4:输出结果package DiGui01;/* 需求:用递归求5的阶乘,并把结果在控制台输出 思路: 1、定义一个方法,用于递归求阶乘,参数为一个int类型的变量 2、在方法内部判.

2022-05-21 20:47:56 325

原创 Java-File

1、File类概述和构造方法File:它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的方法名 说明 File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的File实例 File(String parent,String child) 从父路径名字符

2022-05-21 20:46:39 43

原创 模拟斗地主升级版

需求:通过程序实现都地主过程中的洗牌,发牌和看牌。要求:对牌进行排序思路·:创建HashMap,键是编号,值是牌 创建ArrayList,存储编号 创建花色数组和点数数组 从0开始往HashMap里面存储编号,并存储对应的牌。同时往ArrayList里面存储编号 洗牌(洗的是编号),用Collections的shuffle()方法实现 发牌(发的也是编号,为了保证编号是排序的,创建TreeSet集合接收) 定义方法看牌(遍历TreeSet集合,获取编号,到HashMap集合找对应的牌)

2022-05-20 11:18:19 43

原创 模拟斗地主

需求:通过程序实现斗地主过程中的洗牌,发牌和看牌思路:创建一个牌盒,也就是定义一个集合对象,用ArrayList集合实现 往牌盒里面装牌 洗牌,也就是把牌打散,用Collections的shuffle()方法实现 发牌,也就是遍历集合,给三个玩家发牌 看牌,也就是三个玩家分别遍 package CollectionsDemo02;import java.util.ArrayList;import java.util.Collections;/* 需求:通过程序实现斗地主

2022-05-20 09:33:39 45

原创 Collections:ArrayList存储学生对象并排序

需求:ArrayList存储学生对象,使用Collections对ArrayList进行排序要求:按照年龄从小到大排序,年龄相同时,按照姓名的字母顺序排序思路:定义学生类 创建ArrayList集合对象 创建学生对象 把学生添加到集合 使用Collections对ArrayList集合排序 遍历集合package CollectionsDemo01;import java.util.ArrayList;import java.util.Collections;import

2022-05-20 09:06:20 438

原创 Collections概述和使用

Collections类的概述是针对集合操作的工具类Collections类的常用方法public static <T extends Comparable<? super T>>void sort(List<T> list):将指定的列表按升序排序 public static void reverse(List<?> list):反转指定列表中元素的顺序 public static void shuffle(List<?> list

2022-05-20 08:31:54 91

空空如也

空空如也

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

TA关注的人

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