- 博客(41)
- 收藏
- 关注
原创 数据库学习与复习笔记--数据库的查询操作(2)
DQL:查询表中的记录select * from 表名;语法:select字段列表from 表名列表where 条件列表group by 分组字段having 分组之后的条件order by 排序limit 分页限定基础查询:多个字段的查询去除重复计算列起别名...
2020-09-27 22:58:25
555
原创 数据库学习与复习笔记--数据库概念和不同类数据库CRUD操作(1)
数据库:用于存储和管理数据的仓库。数据库的特点:1.持久化存储数据。其实数据库就是一个文件系统2.方便存储和管理数据3.使用了统一的方式操作数据库。--SQL常用数据库:MYSQL(免费、开源)、Oracle...
2020-09-25 23:27:03
920
原创 Java学习与复习笔记--注解
注解概念:说明程序的。给计算机看的概念描述:JDK1.5之后的新特性,描述程序的使用注解:@注解名称注释:用文字描述程序的。给程序员看的注解作用分类:编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】编写文档:通过代码里标识的注解生成文档【生成doc文档】代码分析:通过代码里标识的注解对代码进行分析【使用反射】JDK中预定义的一些注解:@Override:检测被该注解标注的方法是否是继承自父类(接口)的@Deprecated:将该注解标注
2020-09-24 23:33:39
219
原创 Java学习与复习笔记--Junit和反射
Junit单元测试:测试分类:1.黑盒测试:不需要写代码,给输入值,看程序能否输出期望的值2.白盒测试:需要写代码。关注程序具体的执行流程。Junit使用:白盒测试使用步骤:1.定义一个测试类(测试用例)建议:测试类名:被测试的类名Test 包名:xxx.xxx.xx.test2.定义测试方法:可以独立运行建议:方法名:test测试的方法名 返回值:void 参数列表:空参3.给方法加@Test注...
2020-09-22 00:06:30
159
原创 Java学习与复习笔记--方法引用
方法引用基本介绍:为了省去Lambda的语法格式,只要“引用”过去就行了双冒号::为引用运算符,而他所在的表达式被称为方法引用。如果Lambda要表达的函数方案已经存在于某个方法的实现中,那么则可以通过双冒号来引用该方法作为Lambda的替代者。public class Demo01Printable { //定义一个方法,参数传递Printable接口,对字符串进行打印 public static void printString(Printable p){
2020-09-16 00:29:24
135
原创 Java学习与复习笔记--Stream流思想概述:
/** 使用传统的方式,遍历集合,对集合中的数据进行过滤* */public class Demo01List { public static void main(String[] args) { //创建一个List集合,存储姓名 List<String> list=new ArrayList<>(); list.add("张无忌"); list.add("周芷若"); list.add.
2020-09-15 00:01:23
323
原创 Java学习与复习笔记--常用函数接口(2)
常用的函数式接口_Consumer接口:常用的函数式接口_Predicate接口:常用的函数式接口_Function接口:
2020-09-11 23:18:35
145
原创 Java学习与复习笔记--常用函数接口(1)
函数式接口的概念:有且仅有一个抽象方法的接口“语法糖”:指使用更加方便但是原理不变的代码语法。例如在遍历集合时使用的for-each语法,其实底层的实现原理仍然是迭代器,这边是“语法糖”。函数式接口的格式:修饰符 interface 接口名称{ public abstract 返回值类型 方法名称(可选参数信息);//其他非抽象方法内容}函数式接口:/** 函数式接口:有且只有一个抽象方法的接口,称之为函数式接口* 当然接口中可以包含其他的...
2020-09-03 23:39:43
166
原创 Java学习与复习笔记--综合案例_文件上传
文件上传的原理:文件上传案例的客户端:文件上传案例的服务器端:文件上传案例阻塞问题:文件上传案例优化:
2020-09-02 22:50:39
143
原创 Java学习与复习笔记--网络通信概述&TCP通信程序
软件结构:C/S结构:Client/Server结构,指客户端和服务器端结构,常见程序如QQ,迅雷等B/S结构:Browswe/Server结构,指浏览器和服务器结构。常见的浏览器如谷歌,火狐等网络编程:就是在一定的协议下,实现两台计算机的通信的程序网络通信协议:通过计算机网络可以使多台计算机实现连接,位于同一网络的计算机在进行连接和通信时需要遵守一定的规则,在计算机网络中,这些连接和通信的规则被称为网络通信协议。TCP/IP协议:是指能够在多个不同网络间实现信息传输的协议簇。TCP
2020-09-01 23:45:29
185
原创 Java学习与复习笔记--序列化流&打印流
序列化和反序列化概述:把对象以流的方式,写入到文件中保存,叫写对象,也叫对象的序列化对象中包含的不仅仅是字符,使用字节流ObjectOutputStream:对象的序列化流writeObject(p);把文件中保存的对象,以流的方式读取出来,叫做读对象,也叫对象的反序列化读取的文件保存的都是字节,使用字节流ObjectInputStream:对象的反序列化流readObject();对象的序列化流_ObjectOutputStream:/** java.io.Ob
2020-08-31 22:58:08
146
原创 Java学习与复习笔记--Properties集合&缓冲流
使用Properties集合存储数据,遍历:/** java.util.Properties 集合 extends HashTable<k,v> implements Map<k,v>* Properties类表示一组持久的属性。 Properties可以保存到流中或从流中加载。* Properties集合是一个唯一和IO流相结合的集合。* 可以使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储。* 可以使用Properties
2020-08-30 23:52:57
167
原创 Java学习与复习笔记--字符输出流
字符输出流_Writer类&FileWriter类&基本使用:/** java.io.Writer:字符输出流,是所有字符输出流的最顶层的父类,是一个抽象类* 共性的成员方法:* void write(int c) 写一个字符* void write(char[] cbuf) 写入一个字符数组。* void write(char[] cbuf, int off, int len) 写入字符数组的一部分。* void write(String str) 写一个字符串* vo
2020-08-30 00:03:18
169
原创 Java学习与复习笔记--字节输入流&字符输入流
字节输入流_InputStream类和FileInputStream:字节输入流读取字节数据:字节输入流一次读取一个字节的数据:字节输入流一次读取多个字节的数据:练习_文件复制:使用字节流读取中文的问题:...
2020-08-29 22:37:43
157
原创 Java学习与复习笔记--递归
递归概念&分类&注意事项:递归:指在当前方法中调用自己的这种现象递归的分类:直接递归和间接递归直接递归:方法自身调用自己间接递归:A方法调用B方法,B方法调用C方法,C方法调用A方法注意事项:递归一定要有条件限定,保证递归能够停下来,否则会发生栈内存溢出在递归中虽然有限定条件,但是递归次数不能太多哦,否则也会发生栈内存溢出构造方法,禁止递归。public class Demo01Recursion { public static void mai
2020-08-27 20:47:18
159
原创 Java学习与复习笔记--File类
File类的概述:java.io.File类:文件和目录路径名的抽象表示。java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作我们可以使用File类的方法: 创建一个文件/文件夹 删除文件/文件夹 获取文件/文件夹 判断文件/文件夹是否存在 对文件夹进行遍历 获取稳健的大小File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法重点:记住这三个单词 file:文件 dir...
2020-08-27 18:32:50
150
原创 Java学习与复习笔记--线程池与Lambda表达式
线程池概念和原理:线程池:容器--》集合(ArrayList,HashSet,LinkedList<Thread>,HashMap)add(new Thread(xxx));add(new Thread(xxx));add(new Thread(xxx));...当线程第一次启动的时候,创建多个线程,保存到一个集合中当我们想要使用线程的时候,我们就可以从集合中取出来线程使用Thread t=list.remove(0);返回的是被移除的元素,(线程只能被一个任务使
2020-08-26 19:47:23
190
原创 Java学习与复习笔记--等待唤醒机制
线程状态概述:NEW:尚未启动的线程处于此状态。RUNNABLE:在Java虚拟机中执行的线程处于此状态。BLOCKED:被阻塞等待监视器锁定的线程处于此状态。WAITING:正在等待另一个线程执行特定动作的线程处于此状态。TIMED_WAITING:正在等待另一个线程执行动作达到指定等待时间的线程处于此状态。TERMINATED:已退出的线程处于此状态等待唤醒案例分析:等待唤醒案例:线程之间的通信顾客要买包子,和老板说明买包子的数量和种类顾客就等着老板做包子(调用了w
2020-08-26 00:16:19
239
原创 Java学习与复习笔记--线程同步机制
线程安全问题的概述:线程安全问题的代码实现:线程安全问题产生的原理:解决线程安全问题_同步代码块:同步技术的原理:解决线程安全问题_同步方法:静态同步方法:解决线程安全问题_Lock锁:...
2020-08-25 19:10:51
138
原创 Java学习与复习笔记--线程实现方式
并发与并行:并发:指的是两个或多个事件在同一个时间段内发生。交替执行并行:值两个或多个事件在同一时刻发生(同时发生)。同时执行线程与进程:进程:指一个内存中运行的应用程序点击应用程序执行,进入到内存中占用一些内存执行,进入到内存的程序叫做进程。...
2020-08-25 00:15:12
105
1
原创 Java学习与复习笔记--异常
异常概念:指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出一个异常对象,Java处理异常的方式是中断处理。异常分类:/*java.lang.Throwable:类是Java语言中索引错误或者异常的超类。 Exception:编译器异常,进行编译(写代码)java程序出现的问题 RuntimeException:运行期异常,java程序运行过程中出现的问题 异常
2020-08-08 11:12:32
183
原创 Java学习与复习笔记--Day12
HashMap存储自定义类型键值:/** HashMap存储自定义类型键值* Map集合保证key是唯一的:* 作为key的元素,必须重写hashCode方法和equals方法,以保证key唯一* */public class Demo01HashMapSavePerson { public static void main(String[] args) { //show01(); show02(); } /* * HashMa
2020-08-07 18:41:33
191
原创 Java学习与复习笔记--Day11
Collections集合工具类的方法:/** java.util.Collections是集合工具类,用来对集合进行操作。部分方法如下:* public static <T> boolean addAll(Collection<T> c,T...elements):往集合中添加一些元素。* public static void shuffle(List<?> list):打乱顺序:打乱集合顺序*/public class Demo01Collections
2020-08-06 23:53:28
169
原创 Java学习与复习笔记--Day10
HashSet集合介绍:/** java.util.Set接口 extends Collection接口* Set接口的特点:* 1.不允许存储重复的元素* 2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历* java.util.HashSet集合,implements Set接口* HashSet特点:* 1.不允许存储重复的元素 2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历 3.是一个无序的集合,存储元素和取出元素的顺序有可能不一致。 4.底.
2020-08-06 00:08:05
201
原创 Java学习与复习笔记--Day09
数据结构部分:栈:后进先出队列:先进先出数组:查询快:数组的地址是连续的,我们可以通过数组的首地址找到数组,通过数组的索引可以快速查找某一个元素增删慢:数组的长度是固定的,我们想要增加/删除一个元素,必须创建一个新数组,把原数组的数据复制过来链表:查询慢:链表中的地址不是连续的,每次查询元素,都必须从头开始查询增删快:链表结构,增加或者删除一个元素,对链表的整体结构没有影响,所以增删快。单向链表:链表只有一条链子,不能保证元素的顺序(存储元素和取出元素的顺序可能不一致)
2020-07-29 23:54:47
197
原创 Java学习与复习笔记--Day08
Iterator接口:主要用于迭代访问(即遍历)collection中的元素。迭代:即Collection集合元素的通用获取方式。在取元素之前先要判断集合当中有没有元素,如果有,就把这个元素取出来,继续再判断,如果还有就再取出来。一直把集合当中所有的元素取出来为止。这种取出方式专业术语称为迭代。/** java.util.Iterator接口:迭代器(对集合进行遍历)* 有两个常用的方法:* boolean hasNext() :判断集合中还有没有下一个元素,有就返回true,没有返回fal
2020-07-27 23:08:53
177
原创 Java学习与复习笔记--Day07
包装类:基本数据类型,使用起来非常方便,但是没有对应的方法来操作这些数据,可以使用一个类,把基本数据类型的数据包装起来,在类中定义一些方法,这个类叫做包装类,我们可以使用类中的方法来操作这些基本类型的数据/** 装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)* 构造方法:Integer(int value) 构造一个新分配的 Integer对象,该对象表示指定的 int值。 Integer(String s) 构造一个新分配 Integer对象,表示 in
2020-07-06 00:05:52
174
原创 Java学习与复习笔记--Day06
Calendar类:java.util.Calendar类:日历类Calendar类是一个抽象类,里面提供了很多操作日历字段的方法(YEAR、MONTH、DAY_OF_MONTH、HOUR)Calendar类无法直接创建对象使用,里面有一个静态方法getInstance(),该方法反回了Calendar类的子类对象static Calendar getInstance()使用默认时区和语言环境获取一个日历Calendar类的常用成员方法:/* * public int g.
2020-07-05 00:24:01
160
原创 Java学习与复习笔记--Day05
Object类的toString方法:1.Object类是所有类的直接或间接父类2.直接打印一个对象就是打印这个对象的toString方法的返回值3.Object类的toString方法得到的是对象的地址值4.我们一般会对toString方法进行重写Object类的equals方法:默认比较的是两个对象的地址值,没有意义。所以我们要重写equals方法,比较两个对象的属性。问题:隐含着一个多态,无法使用子类特有的内容(属性和方法)解决:可以使用向下转型(强转)publi
2020-06-28 00:30:35
193
原创 Java学习与复习笔记--Day04
四种权限修饰符:* Java中有四种权限修饰符:* public protected (default) private* 同一个类 (我自己) YES YES YES YES* 同一个包 (我邻居) YES YES YES
2020-06-26 23:56:13
142
原创 Java学习与复习笔记--Day03
多态extends继承和implements实现,是多态性的前提。代码当中体现多态:父类引用指向子类对象。格式:父类名称 对象名=new 子类名称();或者:接口名称 对象名=new 实现类名称();成员变量不能覆盖重写。访问成员变量的两种方式1.直接通过对象名称访问:看等号左边是谁,优先用谁,没有则向上找2.间接通过成员方法访问:看该方法属于谁,优先用谁,没有则向上找。子类没有覆盖重写,就是父;子类如果覆盖重写,就是子在多态的代码当中,成员方法的访问规则是:看new..
2020-06-25 23:59:18
162
原创 Java学习与复习笔记--Day02
抽象类无法具体的表达出来,就是抽象方法;如果父类中的方法不确定如何进行{}方法体实现,那么这就应该是一个抽象方法。
2020-06-24 17:59:36
188
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人