- 博客(62)
- 资源 (5)
- 收藏
- 关注
原创 Day01.HTML5
HTML5一、HTML5和CSS的概述应用场景:HTML用于编写网页,我们日常中通过浏览器网络访问的网页大部分都是使用HTML编写。通过鼠标右键查看网页源代码就能查看到具体的HTML代码。网页内容组成:HTML代码:主要用于编写页面CSS代码:美化页面JavaScript代码:网页动态效果二、软件架构目前市场上有两种流行的软件架构:(一)C/S架构C/S架构:Client/Server 客户端/服务器。要求用户安装一个客户端程序。例如:cts、英雄联盟、代练通、卫生院和派出
2021-10-24 13:00:45
863
原创 Day25.Java8接口新特性 、Lambda表达式 、函数式接口 、Stream类
Day251 Java8接口新特性1.1 default修饰的方法代码1.2 static修饰的方法2 Lambda表达式3 函数式接口代码3.1 内置的函数式接口3.2 消费型接口代码3.3 供给型接口代码3.4 函数型接口代码3.5 断言型接口代码3.6 方法引用代码4 Stream类4.1 Stream类对象的获取代码4.2 Stream类的常用方法练习1 Java8接口新特性Java8之前接口定义:只可以定义抽象方法,不能定义非抽象方法的特殊类型Java8接口的定义:即可以定义抽象方法
2021-09-06 19:51:44
192
原创 Day24.虚拟机类加载机制 、类加载器 、反射
Day241 虚拟机类加载机制2 类加载器3 反射代码3.1 反射获取字节码对象中的构造方法并实例化代码4 案例5 反射获取成员变量并使用代码6 反射获取成员方法并使用代码7 案例8 反射练习代码1 虚拟机类加载机制概述:如果需要使用某一个类型,虚拟机把描述类的数据从class文件中加载到运行内存,并 对数据进行校验,转换解析和初始化,最终形成可以被java虚拟机直接使用的类型, 这就是虚拟机的类加载机制。加载机制的过程:当程序要使用某个类时,如果该类还未被加载到内存中,系统会通过加载,连接,
2021-09-05 15:07:28
122
原创 Day23-3.TCP编程
Day23-31 TCP编程1.1 客户端代码1.2 服务端2 案例12.1 客户端代码2.2 服务端代码3 案例23.1 客户端3.2 服务端4 案例35 案例45.1 客户端代码5.2 服务端代码6 案例56.1 服务端代码6.2 保存信息任务代码1 TCP编程TCP编程步骤客户端: 1、创建Socket对象,建立和服务端的连接
2021-09-05 14:54:48
91
原创 Day23-2.UDP编程
Day23-21 UDP编程(Socket编程)2 UDP编程说明3 案例13.1 发送端代码3.2 接收端代码4 案例24.1 发送端代码4.2 接收端代码1 UDP编程(Socket编程)概述:Socket是两台计算机的通信点别称:Socket编程也称为套接字编程、通信点编程、端到端编程、点到点编程2 UDP编程说明UDP编程的步骤:发送端: 1、准备通信点对象 &n
2021-09-05 14:43:11
110
原创 Day23-1.网络编程概念 、网络编程三要素 、UDP协议和TCP协议
Day23-11 网络编程概念2 网络编程三要素2.1 IP地址2.1.1 IPv4:2.1.2 IPv6:2.2 InetAddress类型代码2.3 端口号3 通信协议4 UDP协议和TCP协议1 网络编程概念网络:计算机网络,由在不同地理位置、不同的计算机主机,通过通信线路连接起来,形成的一套可以进行资源共享的系统。网络编程:在已经拥有成熟的网络系统之后,在网络基础上通过程序实现不同计算机间资源或者数据的共享。2 网络编程三要素概述:在网络编程中,想要实现资源共享,必须遵循的三个基本准
2021-09-05 14:35:06
136
原创 Day22-2.单例设计模式 、枚举类型
Day22-21 单例设计模式1.1概述1.2 饿汉式设计单例类型1.3 单例设计模式之:老汉式设计(饿汉式的一种)1.4 单例设计模式之懒汉式2 枚举类型2.1 概述2.2 定义枚举类型的第一种形式代码2.3 定义枚举类型的第二种形式代码2.4 定义枚举类型的第三种形式代码1 单例设计模式1.1概述设计模式:在设计类型、设计接口、设计方法、设计框架的时候使用的一种方式(套路),就是设计模式。单例设计模式:在定义类型时,如果该类的对象,最多只能有一个,就可以使用单例设计模式单例模式的设计原则:
2021-09-01 20:38:35
130
原创 Day22-1.Lock锁 、死锁 、线程的生命周期 、线程池
Day22-11 Lock锁代码2 死锁(了解)代码3 线程的生命周期3.1 在Java程序中如何获取线程的状态代码4 线程池4.1 线程池的使用代码1 Lock锁概述:虽然我们可以理解同步代码块和同步方法的锁对象问题,但是并不能直观看到线程在哪里获取了锁,在哪里释放了锁,所以为了更清晰的展示如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock,可以使用此对象,来表示锁的创建和释放。特点:(1)Lock是接口不能直接实例化,这里采用它的实现类ReentrantLock来实例化构
2021-09-01 20:25:02
282
原创 Day21-3.线程安全问题
Day21-31 线程安全问题1.1 同步代码块代码1.2 同步方法代码1 线程安全问题其中一个线程在操作某一个数据的时候,这个数据可能也在被另外一条线程操作,就造 成多个线程同时在操操作同一个数据,碰到这种情况,此数据就有可能出现错误问题。出现问题原因:没有保证代码的完整性、一致性1.1 同步代码块同步代码块:使用同步代码块括起来的代码,可以保证代码的完整性和一致性、原子性格式:synchronized(锁对象){ 需要保证完整性的代码。}原理:cpu执行带着锁的
2021-09-01 19:55:20
66
原创 Day21-2.Thread类
Day21-21 Thread类1.1 获取线程名称代码1.2 设置线程名称代码1.3 获取线程对象代码1.4 练习代码1.5 线程休眠代码1代码2代码31.6 守护线程代码1.7 练习代码1.8 设置线程优先级代码1 Thread类1.1 获取线程名称getName() :获取线程名称特点:(1)如果没有给线程设置名称,线程会有一个默认名称名字:Thread -x(序号从0开始)(2)在子类对象中可以直接调用该方法,用来打印该线程的名称代码package demos2;publ
2021-09-01 19:51:21
118
原创 Day21-1.多线程相关概念 、多线程的创建方式
Day21-11 多线程相关的三组概念1.1 程序和进程1.2 进程和线程1.3 并行和并发2 多线程的第一种实现方式代码3 多线程的第二种实现方式代码4 继承的方式和实现的方式区别5 多线程的第三种创建方式代码1 多线程相关的三组概念1.1 程序和进程程序:定义的一些可以用来运行的可执行文件。程序不启动,就不会分配内存和系统资源。进程:一个正在运行的程序就是进程。一个进程运行之后,是有内存的分配和系统资源的分配。1.2 进程和线程进程:正在执行的程序。线程:进程中的一条独立的执行单
2021-09-01 19:30:11
75
原创 Day20-3.IO流关流的方式总结、IO流总结
Day20-31 IO流关流的方式总结2 IO流总结1 IO流关流的方式总结JDK1.7之前的关流正确方式package demos6;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class Demo03 { public static void main(String[] args) throws IOException {
2021-08-30 20:47:15
85
原创 Day20-2.对象序列化流、Properties
Day20-21 对象序列化流代码1代码2代码32 Properties2.1 Properties特殊方法2.2 Properties和IO流相结合的方法代码3 练习1:代码4 练习2:代码1 对象序列化流相关概念:(1)数据的状态:游离态:在运行内存中保存的数据。随着程序的结束,数据也会被回收持久态:在磁盘中进行保存的数据。随着程序的结束,随着计算机的关机和开机, 数据并不会消失。(2)序列化:将数据从运行内存中(游离态),输出到磁盘中保存(持久态)输出数据
2021-08-30 20:37:04
167
原创 Day20-1.转换流 、标准输入输出流 、打印流
Day20-11 转换流1.1 转换输入流和转换输出流转换输入流代码转换输出流代码2 标准输入流输出流2.1 标准输入流代码2.2 标准输出流代码3 打印流3.1 打印字节流代码3.2 打印字符流代码1 转换流1.1 转换输入流和转换输出流OutputStreamWriter:转换输出流,在输出数据时,可以指定编码格式构造方法:OutputStreamWriter(OutputStream in, Charset cs) :使用基础的输出流对象,指定以cs 编码格式来写出信息
2021-08-30 20:29:10
211
原创 Day19-2.字符流
Day19-21 字符流1.1为什么使用字符流:1.2 概述2 Reader代码3 Writer代码4 使用字符流拷贝文件代码4.1 可不可以使用字符流拷贝非纯文本文件?5 高效缓冲字符流代码6 练习代码1 字符流1.1为什么使用字符流:如果想要一次写一个字符串,使用字节流可以完成,但是需要将字符串进行转换为 字节数组。如果想要从一个文件中读取信息,进行展示(1)这个文件中如果是全英文,可以一次读取一个字节,进行转换(2)如果全是中文,可以使用字节流一次读取多个字节,将读取的字节转为一个
2021-08-30 20:17:29
105
原创 Day19-1.IO流概述 、字节流
Day191 IO概述2 字节流2.1 InputStream2.2 FileInputStream代码2.3 OutPutStream2.4 FileOutputStream代码2.5 文件的拷贝代码2.6 文件拷贝效率的提升代码2.7 高效缓冲字节流代码2.8 close和flush的区别1 IO概述概述:IO是Input和Output的缩写。输入、输出。数据的输入和数据的输出。输入输出的概念:数据的输入和输出相对于运行内存来说,数据从其他设备进入到运行内存就是输入,数 据从运行内存到其他设
2021-08-30 20:09:31
164
原创 Day18-2.File类 、递归
Day18-21 File类代码1.1 构造方法代码1.2 File类的创建方法代码1.3 File类的删除功能代码1.4 File类的重命名代码1.5 File类的判断功能代码1.6 File类的获取功能代码2 练习代码3 递归3.1 递归练习代码1 File类概述:可以用来操作磁盘上文件或者文件夹的类型 可以通过将文件或者文件夹的路径封装为File类对象,通过类中提供
2021-08-26 20:46:04
113
原创 Day18-1.Map集合实现类 、Collections工具类
Day18-11 Map集合实现类2 TreeMap集合3 HashMap集合4 LinkedHashMap集合5 练习代码6 ==HashMap和Hashtable集合的区别【面试题】==6.1 线程安全不安全类型小总结7 Collections工具类1 Map集合实现类概述:Map集合为双列集合的顶层接口,底层根据不同的实现方式,有不同的实现类实现类:TreeMap和HashMap2 TreeMap集合概述:是一个双列集合,是Map集合的实现类特点:(1)集合中的key值是唯一的,
2021-08-26 20:31:20
137
原创 Day17.Set集合、Map集合
Day17笔记1 Set集合代码2 TreeSet集合代码3 Comparator比较器使用代码3.1 案例代码4 HashSet集合4.1 哈希值简介4.2 哈希表图示4.3 HashSet集合存储元素原理总结代码4.4 LinkedHashSet集合4.5 单列集合特点总结:5 Map集合5.1Map集合中常用的方法代码6 Map集合的遍历6.1 第一种遍历方式:通过key来获取值的方式【重点掌握】代码6.2 Map集合的第二种遍历方式:通过键值对对象获取键和值代码1 Set集合概述:该集合是一个
2021-08-25 20:48:33
99
原创 学生管理系统
学生管理系统一:案例需求:针对目前我们的所学内容,完成一个综合案例:学生管理系统!该系统主要功能如下:(1)添加学生:通过键盘录入学生信息,将该学生添加到集合中(2)删除学生:通过键盘录入学生的学号,将该学生从集合中删除(3)修改学生:通过键盘录入学生的学号,将该学生其他信息进行修改(4)查看学生:将集合中的所有学生信息进行展示(5)退出系统:结束程序二:实现步骤:定义学生类,包含以下成员变量学生类: Student成员变量:属性私有化,提供公共的访问方式学号:sid
2021-08-24 19:37:48
322
原创 Day16.泛型
1 泛型概念:是一个未知的数据类型,是一个参数化类型使用场景:(1)如果需要给一个类型定义属性,但是这个类型中的属性不确定,可以使用泛型来代替定义。(2)如果需要定义一个方法,但是该方法的参数列表类型和返回值类型不确定,可以使用泛型来定义。2 泛型应用之:泛型类的定义和使用【掌握】概念:使用泛型定义的类型格式:class 类名<泛型>{ } 注意事项:(1)如果要在类中使用某个泛型的话,需要先在类上进行声明,声明之后才可以使用(2)类中使用了几个泛型,需要
2021-08-24 19:33:32
93
原创 Day15-2.List集合、数据结构概述
1 List集合概述:List集合是Collection接口下的子接口特点:(1)属于一个单列集合(2)不能直接创建对象,可以通过实现类创建对象(3)该集合中的元素特点: 有序:元素存入的和取出的顺序可以保证一致 有索引:每个元素都有自
2021-08-23 20:32:41
186
原创 Day15-1.集合的概述 、Collection集合
1 集合概述:用来存储多个数据的容器。集合和数组的区别:共同点: 都是用来存储数据的容器,都可以存储多个数据不同点: (1)数组的大小是固定的,不能新增也不能减少元素;集合的大小是可以进行改变的,可以往集合中新增元素或者删除元素。 (2)数组既可以存储基本数据类型的数据,也可以存储引用数据类型的数
2021-08-23 20:18:08
95
原创 Day14.异常 、可变参数
1 异常概述:客观角度:不符合现实生活的各种情况,都可以理解为是异常Java语言角度:在代码的运行过程中,出现的各种错误导致程序停止运行,那么这些错 误就是异常。注意:在程序中,异常并不是一个一个表示信息的字符串。异常是一个对象来表示,是JVM 虚拟机创建的异常对象,如果程序中出现了异常对象,就会抛出这个异常对象的各种信 息。异常类型:Throwable:抛出。 每一个异常类型的顶层父类子类: Error:错误
2021-08-23 20:07:25
90
原创 Day13-2.Date类型 、SimpleDateFormat类型 、Calendar类型 、NumberFormat类型
1 Date类型概述:Date是表示时间的类型,此类可以表示特定的瞬间,精确到毫秒是Java中提供的表示时间日期数据的类型1.1 定义对象的方法public Date():分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)public Date(long date):分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为"历元(epoch)",即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。1.2 常用方法方法名解释
2021-08-19 20:17:32
105
原创 Day13-1.Math类型 、System类型 、BigInteger类型 、BigDecimal类型
1 Math类型概述:Math类型是一个包含执行基本数字运算的方法的类型特点:(1)该类是一个工具类,类中全是静态方法(2)该类在java.lang包,使用时不需要导包静态字段:常量E 自然对数的底数PI 圆周率常用方法:方法名作用abs(参数)返回参数的绝对值ceil(double a)向上取整floor(double a)向下取整max(float a, float b)求出两个数的最大值min(a,b)求出两个数组的最小值
2021-08-19 20:02:25
96
原创 Day12.StringBuilder类型 、正则表达式
1 StringBuilder类型概述:用来表示字符串的类型特点:(1)是一个可变的字符序列类型底层也是通过一个字符数组来维护的数据,维护的数组没有private修饰,而且类中提供了一些公共修改数组值的方法。(2)在lang包不需要导包1.1 StringBuilder构造方法函数名解释StringBuilder()创建一个初始值为空的字符串对象,数组的初始大小为 16StringBuilder(int c)创建一个初始值为空的字符串对象,数组的初始大小是c
2021-08-18 19:29:02
157
原创 Day11-2.String类型,及其所拥有的函数
1 String类型概述:(1)用来定义字符串的类型。(2)引用数据类型。(3)在java.lang包定义,使用该类不需要导包特点:(1)如果String类型直接接收一个字符串常量,那么这个字符串常量在常量池中定义,引用中存储的是常量池中字符串的地址值。(2)如果String类型通过new关键字创建,那么会在堆内存中创建一个对象,引用中 存储的是该对象的地址。如果使用new 创建了一个字符串对象,字符串对象中维护了一个字符数组,通过字符数组来保存数据。(3)字符串本身并不能被修改,S
2021-08-17 20:16:58
77
原创 Day11-1.Jar包 、API的概述、使用及制作、Object类型
1 Jar包什么是Jar包:(1)是Java语言专用的压缩包(2)用来存放编译好的字节码文件为什么定义Jar包:(1)Java源代码在编译之后,会生成对应的.class文件,.class文件中包含了该类定义的各种属性和方法,所以可以脱离源代码使用(2)脱离源代码使用需要一定条件:需要将.class文件打成jar包如何生成Jar包:(1)File->Project Structure或者: 快捷键:ctrl + alt + shift + s(2)选择 Artifact
2021-08-17 20:08:24
576
原创 Day10-2.接口、匿名内部类
1 接口概念:生活中的角度:接口就表示一类规则,想要使用这个接口就需要遵守接口中定义的规则Java语言的角度:接口就是用来定义抽象方法的一个特殊类型特点:(1)定义一个接口,使用一个新的关键字:interface 类名(2)接口和抽象方法的关系:接口中只能定义抽象方法,不能定义非抽象方法(3)接口不能实例化(不能创建对象)(4)类和接口之间不是继承关系,而是实现关系:implements类型实现一个接口之后,接口中定义的内容,类型也可以继承(5)接口的实现类有两条分支:
2021-08-16 20:26:49
137
原创 Day10-1.多态 、抽象类
1 多态概念:事物的多种状态对象的多态性: 一个对象可以使用不同的类型来表示,一个对象可以使用不同类型的引用来接收类型的多态性: 一个类型可以使用不同的子类对象实现,一个类型的引用可以接收不同的子类对象实现多态的前提:(1)两个类之间需要有子父类的继承关系(接口和实现类之间的实现关系)(2)必须使用父类的引用接收子类
2021-08-16 20:22:24
142
原创 Day09-2.内部类 、包 、权限修饰符
1 内部类概念:在方法中或者类中定义的类型在方法A中,定义一个类型B,类型B就是一个内部类在类A中,定义一个类型B,类型B也是一个内部类分类:局部内部类成员内部类 普通的成员内部类 私有的成员内部类 静态的成员内部类1.1 普通的成员内部类
2021-08-16 20:13:19
60
原创 Day09-1.继承的特点 、代码块 、final关键字
1 继承的特点特点:类之间继承,支持单继承,支持多层继承,不支持多继承说明:单继承:一个子类,只继承一个父类多层继承:C类继承B类,B类继承A类 ;C类就是最底层的子类,A类就是最顶层的父类;C类对象既可以使用本类内容,也可以使用父类B的内容,也可以使用C类内容多继承:一个类型,同时继承多个父类(一个子类只能有一个亲爹)2 代码块概述:使用{}定义的一段代码,代码块在内存中有一段特殊的空间执行分类:局部代码块构造代码块静态代码块2.1 局部代码块概念:在方法中使用{}定
2021-08-16 20:02:58
85
原创 Day08.构造方法 、静态 、继承
1 构造方法概念:在创建对象的时候,用来给对象中的属性进行初始化别名:构造函数 构造器定义构造方法的格式:修饰符 方法名称(形参){ 方法体;}注意事项:(1)构造方法在创建对象的时候,由虚拟机默认调用(2)每创建一个对象,都会执行一次构造方法(3)构造方法不能通过对象主动调用,只能在创建对象时自动调用(4)如果在类中没有定义任何构造方法,系统默认提供一个没有参数的空参构造(5)如果在类中定义过构造方法,系统不再提供任何构造(6)在类中既要定义有参构造,也要定义空参
2021-08-16 19:57:37
135
原创 Day07-2.封装
封装概述:在实际生活中每个人的信息都应该是隐藏的,不是让其他人随意知道。所以在程 序中定义的各种属性也应该是隐藏的,不让其他类型随意的访问。封装的方式:关键字:private使用原因:为了保证属性的安全性,使用关键字封装效果:被封装后的属性,只能在本类中被访问,一旦出了这个类型就不能直接访问使用封装之后的问题:不能在其他类中访问,定义这个类型没有任何意义解决问题:提供公共的访问方式属性使用,一般是赋值,或者取值如果给属性赋值:提供一个set方法如果获取属性的值:提供一个g
2021-08-11 20:31:05
72
原创 Day07-1.面向对象
面向对象面向对象:是Java语言编程使用的一种编程思路,编程套路面向过程和面向对象区别:面向过程:注重解决问题的步骤,过程;比如:想要解决一个问题,要考虑这个问题解 决的每一步怎么去完成。面向对象:注重解决问题的主体;比如:想要解决一个问题,只需要考虑找一个主体帮 我们去完成。举例:洗衣服:面向过程解决:找个盆 放衣服 放水 放洗衣液 泡一泡 洗一洗 晾一晾面向对象解决:找一个全自动洗衣机面向过程和面向对象的关系:面向过程是面向
2021-08-11 20:29:22
91
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人