
Java补充
文章平均质量分 90
Java补充
潮浪之巅
本硕计算机科班人,全栈领域优质创造者感谢您的关注!欢迎访问我的个人网站: xzj520.top,我的专栏目录汇总:https://blog.csdn.net/Learning_xzj/article/details/125114788
展开
-
java学习之基础语法(一)
什么是Java语言?java语言是一种高级编程语言,编程语言是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。Java语言能做什么?Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如:天猫、京东、物流系统在服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用【总的来说,Java是计算机编程软件,发展到今天已经20多年了,应用广泛】计算机中最小的存储单元:字节位(bit):一个数字0或者一个数字1,代表一位字节(Byt.原创 2020-10-06 21:36:07 · 517 阅读 · 1 评论 -
java学习之基础语法(二)
方法重载的基本使用对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,这样太麻烦。例如: 上面代码中这几个方法实现的功能都是求和,但是它们的参数列表不一样,如果对于参数列表的每一种不同情况都重新定义一个方法,那么当情况比较多的时候就会很麻烦,所以这里可以进行“方法重载”。方法的重载(Overload):多个方法的名称一样,但是参数列表不一样。 方法重载的好处:只需要记住唯一一个方法名称,...原创 2020-10-08 17:34:58 · 328 阅读 · 0 评论 -
java学习之面向对象和封装
面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节。面向对象:当需要实现一个功能的时候,不关系具体的步骤,而是找一个已经具有该功能的人帮忙做事情。面向过程强调步骤,面向对象强调对象(结果)。面向对象的思想更加符合我们思考的习惯,它可以将复杂的事情简单化,并且将我们从执行者变成了指挥者。面向对象的语言中包含了三大基本特征:封装、继承和多态。类和对象类 类是一组相关属性和行为的集合。可以把类看成是一类事物的模板,使用事物的属性特征和行为特...原创 2020-10-16 11:03:27 · 241 阅读 · 1 评论 -
java学习之高级语法(二)----- 继承
之前也说到过面向对象的三大特征:封装性 、继承性 、多态性。继承是多态的前提,如果没有继承,就没有多态。继承主要解决的问题就是:共性抽取。(省去多次重复写代码)继承关系当中的特点:1. 子类可以拥有父类的“内容”2. 子类还可以拥有自己专有的内容父类(也可以叫基类、超类)子类(也可以叫派生类)在继承的关系中,“子类就是一个父类”,也就是说子类可以被当做父类看待。例如:父类是员工,子类是讲师,那么“讲师就是一个员工”。关系:is-a定义父类的格式:(一个普通的类定义)原创 2020-10-25 21:26:40 · 303 阅读 · 2 评论 -
java学习之高级语法(三)----- 抽象类
抽象方法 :在返回值前面加上abstract关键字,然后去掉大括号,直接分号结束 。抽象类 :抽象方法所在的类必须是抽象类才行,在 class 之前写上 abstract 即可。如何使用抽象类和抽象方法:1. 不能直接创建new抽象类对象2. 必须用一个子类来继承抽象父类3. 子类必须覆盖重写抽象父类当中所有的抽象方法覆盖重写(实现):子类去掉抽象方法的abstract关键字,然后补上方法体大括号4. 创建子类对象进行使用抽象方法和抽象类使用时的注意事项:1. .原创 2020-10-28 17:57:50 · 399 阅读 · 3 评论 -
java学习之高级语法(一)----- 常用API
APIAPI:Application Programming Interface 应用程序编程接口原创 2020-10-30 21:14:24 · 438 阅读 · 0 评论 -
java学习之高级语法(九)----- 数据结构
这里主要了解java中和集合相关的数据结构,这里只是简单的了解一下这些常见的数据结构,不作过于深入的学习。数据存储常用的结构有:栈、队列、数组、链表和红黑树。栈栈:也称堆栈,只允许在同一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。栈的特点:(1)先进后出 (2)栈的入口、出口都是栈顶 压栈:存元素,即把元素存储到栈的顶端位置,栈中已有元素依次向栈底方向移动一个位置。弹栈:取元素...原创 2020-11-07 10:42:54 · 126 阅读 · 0 评论 -
java学习之高级语法(十)----- list集合
List集合java.util.list接口 extends Collection接口▶ list接口的特点:(1)有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123)(2)有索引,包含了一些带索引的方法(3)允许存储重复元素▶ list接口中带索引的方法(特有方法):(1)public void add(int index ,E element) --- 将指定的元素添加到该集合中的指定位置上(2)public E get(int index) ...原创 2020-11-10 22:00:36 · 208 阅读 · 0 评论 -
java学习之高级语法(十一)----- Set 集合
Set 集合▶ java.util.Set 接口 extends Collection 接口Set 接口的特点:(1)不允许存储重复的元素(2)没有索引,没有带索引的方法,也不能使用普通的for循环遍历▶ java.util.HashSet集合implements Set 接口HashSet 接口的特点:(1)不允许存储重复的元素(2)没有索引,没有带索引的方法,也不能使用普通的for循环遍历(3)是一个无序集合,存储元素和取出元素的顺序可能不一致(...原创 2020-11-12 10:58:41 · 345 阅读 · 2 评论 -
java学习之高级语法(十二)----- Collections
Collections --- 操作集合的工具类java.utils.Collections是集合工具类,用来对集合进行操作。▶部分方法如下: public static <T> boolean addALL( Collection<T> c,T...elements ) :往集合中添加一些元素 public static void shuffle( List<?> list ) :打乱集合顺序 ...原创 2020-11-12 12:31:52 · 242 阅读 · 2 评论 -
java学习之高级语法(十三)------ Map集合
Map集合java.util.Map<k,v>集合▶ Map接口下的集合与Collection接口下的集合的存储数据的形式不同▶ Map集合的特点:(1)Map集合是一个双列集合,一个元素包含两个值(一个key,一个value)(2)Map集合中的元素,key和value的数据类型可以相同也可以不同(3)Map集合中的元素,key是不允许重复的,value是可以重复的(4)Map集合中的元素,key和value是一一对应的【 这里的Map集合和pyt...原创 2020-11-13 19:29:11 · 557 阅读 · 0 评论 -
java学习之高级语法(十四)----- 异常
异常▶ 异常概念异常:指程序在执行过程中出现非正常的情况,最终会导致 jVM 的非正常停止在 java 等面向对象的编程语言中,异常本身就是一个类,产生异常就是创建异常对象并抛出一个异常对象java 处理异常的方式是中断处理【 异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行 】▶ 异常体系异常机制其实是帮助我们找到程序中的问题异常的根类是:java.lang.Throwable ,其下面有两个子类:java.lang.Error 和 ...原创 2020-11-14 15:24:52 · 197 阅读 · 0 评论 -
java学习之高级语法(十五)----- 线程实现方式
多线程▶ 一些名词解释并发:指两个或多个事件在同一个时间段内发生并行:指两个或多个事件在同一时刻发生(同时发生)内存:所有的应用程序都需要进入到内存中执行,临时存储RAM硬盘:永久存储ROM进程:指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位,系统运行一个程序即是一个进程从创建、运行、消亡的过程。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。原创 2020-11-16 16:48:32 · 125 阅读 · 0 评论 -
java学习之高级语法(十六)----- 线程安全
▶ 线程安全问题的产生产生安全问题的前提:只有当多个线程访问了共享的数据时才有可能产生线程安全问题代码实现上面卖票过程:想要提高安全问题出现的概率,让程序睡眠:▶ 解决线程安全问题 ----- 线程同步当使用多个线程访问同一资源,且多个线程中对资源有写的操作,就容易出现线程安全问题。要解决上述多线程并发访问一个资源的安全问题,java中提供了同步机制(Synchronized)来解决。有三种方式完成同步操作:1. 同步代码块 ...原创 2020-11-16 20:17:03 · 179 阅读 · 1 评论 -
java学习之高级语法(十七)----- 线程状态
▶ 线程状态概述当线程被创建并启动后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中存在6种线程状态 ,在API中 java.lang.Thread.State 这个枚举中给出了六种线程状态。下面这张图展示了线程的6个状态:不需要去研究这6种状态的实现原理,只需要知道在做线程操作中存在这样的状态。▶ Timed Waiting( 计时等待 )Timed Waiting 在API中的描述为:一个正在限时等待另一个线程执行一个动作的线程处于这一..原创 2020-11-17 17:53:06 · 155 阅读 · 0 评论 -
java学习之高级语法(十八)----- 等待唤醒机制和线程池
▶ 线程间通信--- 概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。例如:线程A用来生成包子,线程B用来吃包子,包子可以理解为同一资源,线程A与线程B处理的动作,一个是生成,一个是消费,那么线程A与线程B之间就存在线程通信的问题。--- 为什么要处理线程间通信?多个线程并发执行时,在默认情况下CPU是随机切换线程的,当需要多个线程来共同完成一件任务,并且希望他们有规律的执行,那么多线程之间需要一些协调通信,以此来到达多线程共同操作一份数据。--- 如何保证...原创 2020-11-18 16:59:35 · 219 阅读 · 0 评论 -
java学习之高级语法(十九)----- Lambda表达式
函数式编程思想面向对象的思想:做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情函数式编程思想:只要能获取到结果,谁去做的,怎么做的都不重要,重视的是结果,不重视过程Lambda 表达式▶ 体验Lambda的更优写法输出: ▶ Lambda 标准格式Lambda标准格式由三部分组成:一些参数 、一个箭头 、一段代码格式: (参数列表)-> { 一些重写方法的代码 };解释说明格式: ()--- 接口中抽象方法...原创 2020-11-19 12:44:02 · 349 阅读 · 0 评论 -
java学习之高级语法(二十)----- File类
File 类java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找、删除等操作java把电脑中的文件和文件夹(目录)封装为一个File类,我们可以使用File类对文件和文件夹进行操作可以使用File类的方法: 创建一个文件 / 文件夹 删除文件 / 文件夹 获取文件 / 文件夹 ...原创 2020-11-20 19:42:18 · 242 阅读 · 0 评论 -
java学习之高级语法(二十一)----- 递归和过滤器
递归▶ 概述--- 递归:指在当前方法内调用自己的这种现象--- 递归的分类: 直接递归 和 间接递归 直接递归: 方法自身调用自己 间接递归:A方法调用B方法,B方法调用C方法,C方法调用A方法--- 注意:(1)递归一定要有条件限定,保证递归能够停下来,否则会发生栈内存溢出(2)在递归中虽然有限定条件,但是递归次数不能太多,否则也会发生栈内存溢出(3)构造方法中禁止递归构造方法中如果出现递归,即构造方法自己调用自己,则会编译报错,因为构...原创 2020-11-21 15:44:26 · 263 阅读 · 0 评论 -
java学习之高级语法(二十二)----- IO字节流
▶ IO概述▶ 一切皆为字节一切文本数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存的,都一个一个的字节,传输时一样如此,所以字节流可以传输任意文件数据,在操作流的时候,要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。▶ 字节输出流(OutputStream)✔ java.io.OutputStream:字节输出流 --- 此抽象类是表示输出字节流的所有类的超类,定义了一些子类共性的成员方法常见成员方法:--- public...原创 2020-11-24 16:39:06 · 123 阅读 · 0 评论 -
java学习之高级语法(二十三)----- IO字符流
▶ 字符输入流(Reader)✔ java.io.Reader :字符输入流,是字符输入流的最顶层的父类,定义了一些共性的成员方法,是一个抽象类共性的成员方法: --- int read() :读取单个字符并返回 --- int read(char[ ] cbuf ) :一次读取多个字符,将字符读入数组 --- void close() :关闭该流并释放与之关联的所有资源✔ java.io.FileReader extends InputStre...原创 2020-11-24 21:00:19 · 144 阅读 · 0 评论 -
java学习之高级语法(二十四)----- Properties集合
Properties集合java.util.Properties 集合 extends Hashtable<k,b> implements Map<k,v>Properties 类表示了一个持久的属性集,Properties 可以保存在流中或者从流中加载Properties 集合是唯一一个和IO流相结合的集合,可以使用Properties集合中的方法 store 把集合中的临时数据持久化写到硬盘中存储,可以使用 load 方法把硬盘中保存的文件(键值对)读取到集合中使用原创 2020-11-27 12:08:43 · 243 阅读 · 0 评论 -
java学习之高级语法(二十五)----- 缓冲流
缓冲流缓冲流能够高效的读写,它是在基本的流对象基础之上创建而来的,相当于是对基本流对象的一种增强。▶ 概述缓冲流也叫高效流,是对4个基本的 FileXxx 流的增强,所以也是4个流,按照数据类型分为:(1)字节缓冲流 :BufferedInputStream ,BufferedOutputStream(2)字符缓冲流 :BufferedReader ,BufferedWriter缓冲流的基本原理:在创建流对象的时候会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减...原创 2020-11-27 20:06:05 · 211 阅读 · 0 评论 -
java学习之高级语法(二十六)----- 转换流
转化流▶ 字符编码和字符集计算机中存储的信息都是用二进制数表示的,但是在屏幕上看到的数字、英文、标点符号等都是二进制数转换之后的结果,按照某种规则将字符存储到计算机中称为“ 编码 ” ,反之称为 “ 解码 ” 。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本f符 号。反之,按照A规则存储,再按照B规则解析,就会导致乱码现象。编码 :字符( 能看懂的 ) --> 字节( 看不懂的 )解码 : 字节( 看不懂的 ) --> 字符( 能看懂的 )字符编码(...原创 2020-11-28 09:58:35 · 213 阅读 · 0 评论 -
java学习之高级语法(二十七)----- 序列化流和打印流
序列化流▶ ObjectOutputStream ---对象的序列化流java.io.ObjectOutputStream extends OutputStream作用 :把对象以流的方式写入到文件中保存✔ 构造方法 :ObjectOutputStream( OutputStream out ) 创建写入指定 OutputStream 的 ObjectOutputStream参数 : OutputStream out --- 字节输出流...原创 2020-11-28 11:40:29 · 138 阅读 · 0 评论 -
java学习之高级语法(二十八)----- 网络编程
网络编程入门▶ 软件结构C / S结构 :全称为Client / Server 结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。 B / S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。 两种架构各有优势,但是无论哪种架构,都离不开网络的支持网络编程就是在一定的协议下,实现两台计算机的通信的程序▶网络通信协议---网络通信协议通信协议...原创 2020-11-28 16:05:10 · 318 阅读 · 0 评论 -
javaWeb(一)----- HTML
web概念概述✔ JavaWeb:使用Java语言开发基于互联网的项目✔ 软件架构(1)C/S:Client/Server 客户端/服务器端 * 在用户本地有一个客户端程序,在远程有一个服务器端程序 * 如:QQ,迅雷... * 优点:户体验好 * 缺点:开发、安装,部署,维护 麻烦(2)B/S:Browser/Server 浏览器/服务器端 * 只需要一个浏览器,用户通过不同的网址...原创 2020-11-29 16:11:54 · 174 阅读 · 0 评论 -
javaWeb(二)----- CSS
CSS✔ 概念:Cascading Style Sheets 层叠样式表 * 层叠:多个样式可以作用在同一个html的元素上,同时生效✔ 好处:(1)功能强大(2)将内容展示和样式控制分离 * 降低耦合度。解耦 * 让分工协作更容易 * 提高开发效率✔CSS的使用:CSS与html结合方式(1)内联样式 在标签内使用style属性指定css代码 ,例如:<div s...原创 2020-11-30 11:25:24 · 145 阅读 · 0 评论 -
javaWeb(三)----- JavaScript(ECMAScript)
JavaScript✔概念:一门客户端脚本语言 * 运行在客户端浏览器中的,每一个浏览器都有JavaScript的解析引擎 * 脚本语言:不需要编译,直接就可以被浏览器解析执行了✔功能:可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。✔JavaScript发展史:(1)1992年,Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验。命名为 : C-- ,后来更名为:Scrip...原创 2020-12-01 09:56:06 · 188 阅读 · 0 评论 -
javaWeb(五)----- BOM
BOM✔概念:Browser Object Model 浏览器对象模型 * 将浏览器的各个组成部分封装成对象✔组成: * Window 窗口对象 * Navigator 浏览器对象(不重要) * Screen 显示器屏幕对象 (不重要) * History 历史记录对象 * Location 地址栏对象✔Window...原创 2020-12-01 15:24:10 · 178 阅读 · 0 评论 -
javaWeb(四)----- DOM
DOM的简单学习✔功能:控制html文档的内容✔获取页面标签(元素)对象Element:document.getElementById("id值") ; --- 通过元素的id获取元素对象✔ 操作Element对象:(1) 修改属性值 ① 明确获取的对象是哪一个? ② 查看API文档,找其中有哪些属性可以设置(2)修改标签体内容:属性 innerHTML ①获取元素对象 ② 使用inne...原创 2020-12-03 10:49:45 · 188 阅读 · 0 评论 -
javaWeb(六)----- 事件
事件简单学习✔功能: 某些组件被执行了某些操作后,触发某些代码的执行。 造句: xxx被xxx,我就xxx 我方水晶被摧毁后,我就责备队友。 敌方水晶被摧毁后,我就夸奖自己。✔如何绑定事件(1)直接在html标签上,指定事件的属性(操作),属性值就是js代码 事件:onclick--- 单击事件(2)通过js获取元素对象,指定事件属性,设置一个函数✔ 案例:<!...原创 2020-12-04 17:12:08 · 293 阅读 · 0 评论 -
javaWeb(七)----- Bootstrap
Bootstrap▶ 概念Bootstrap 是一个前端开发的框架,来自 Twitter,是目前很受欢迎的前端框架Bootstrap 是基于 HTML、CSS、JavaScript 的,它简洁灵活,使得 Web 开发更加快捷* 框架:一个半成品软件,开发人员可以在框架基础上,在进行开发,简化编码* 好处:① 定义了很多的css样式和js插件,开发人员直接可以使用这些样式和插件得到丰富的页面效果② 响应式布局,即同一套页面可以兼容不同分辨率的设备▶快速入门...原创 2020-12-04 17:26:48 · 209 阅读 · 0 评论 -
javaWeb(九)----- Tomcat和Servlet
web相关概念回顾▶ 软件架构 (1)C/S:客户端/服务器端 (2)B/S:浏览器/服务器端▶ 资源分类 (1)静态资源:所有用户访问后得到的结果都是一样的,称为静态资源,静态资源可以直接被浏览器解析 * 如: html,css,JavaScript (2)动态资源:每个用户访问相同资源得到的结果可能不一样,称为动态资源,动态资源被访问后,需要先转换为静态资源,再返回给浏览器 * 如:servl...原创 2020-12-08 11:38:22 · 237 阅读 · 0 评论 -
javaWeb(八)----- XML
XML▶概念:Extensible Markup Language 可扩展标记语言 * 可扩展:标签都是自定义的 <user> <student> * 功能:存储数据 1. xml可以作为软件的配置文件 2. 在网络中传输▶ xml 与 html 的区别(1)xml标签都是自定义的,html标签是预定义的(2)xml的语法严格,html语法松散(3)x...原创 2020-12-08 12:16:27 · 163 阅读 · 0 评论 -
数据库基础(一)----- 数据库的基本概念,SQL分类
数据库的基本概念--- 数据库的英文单词:DataBase 简称 DB--- 什么是数据库? 用于存储和管理数据的仓库--- 数据库的特点 (1)持久化存储数据,其实数据库就是一个文件系统 (2)方便 存储和管理数据 (3)使用了统一的方式操作数据库(SQL)常见的数据库软件MySQL数据库软件SQL的学习...原创 2020-12-13 16:51:56 · 305 阅读 · 0 评论 -
数据库基础(二)----- 约束,数据库的设计、备份和还原
约束✔ 概念: 对表中的数据进行限定,保证数据的正确性、有效性和完整性✔ 分类: 1. 主键约束:primary key 2. 非空约束:not null 3. 唯一约束:unique 4. 外键约束:foreign key✔ 非空约束:not null,值不能为null 1. 创建表时添加约束CREATE TABLE stu( id INT, NAME VARCHAR(20) NOT NULL -- name为非空...原创 2020-12-14 11:44:14 · 230 阅读 · 0 评论 -
数据库基础(三)----- 多表查询,事务,DCL
多表查询✔ 查询语法✔ 准备sql-- 创建部门表CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20));INSERT INTO dept (NAME) VALUES ('开发部'),('市场部'),('财务部');-- 创建员工表CREATE TABLE emp ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10), ge..原创 2020-12-14 22:36:54 · 305 阅读 · 0 评论 -
java学习之高级语法(四)----- 接口
接口就是一种公用的规范标准。只要符合规范就可以大家通用。在代码中接口就是多个类的公共规范接口是一种引用数据类型,最重要的内容就是其中的抽象方法如何定义一个接口的格式:public interface 接口名称{ // 接口内容}备注:换成了关键字interface之后,编译生成的字节码文件仍然是:.java(源文件) ——> .class如果是Java 7,那么接口中可以包含的内容有:1. 常量2. 抽象方法如果是Java 8 ,还可以额...原创 2020-12-15 08:58:39 · 478 阅读 · 0 评论 -
java学习之高级语法(五)----- 多态
多态性指的是对象而不是类对象的多态性指的是:一个对象拥有多种形态代码中体现多态性其实就是一句话:父类引用指向子类对象格式:父类名称 对象名 = new 子类名称();或者接口名称 对象名 = new 实现类名称();访问成员变量的两种方法:1. 直接通过对象名称访问成员变量:看等号左边是谁,优先用谁,没有则向上查找2. 间接通过成员方法访问成员变量:看方法属于谁,优先用谁,没有则向上查找 子类没有覆盖重写就是父类 子类覆盖重写了就是子类...原创 2020-12-15 08:58:59 · 222 阅读 · 2 评论