10 2023 档案
摘要:IO流章节全网最全总结(附详细思维导图) 本篇开始,先奉上思维导图:(下载下来为超高清图,不愁小伙伴看不清!) 按流的方向分类: 输入流:数据源到程序(InputStream、Reader读进来)。输出流:程序到目的地(OutputStream、Writer写出去)。 按流的处理数据单元分类: 字节
阅读全文
摘要:Apache commons-io工具包的使用 Apache基金会介绍 Apache软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为支持开源软件项目而办的一个非盈利性组织。在它所支持的Apache项目与子项目中,所发行的软件产品都遵循Apache许可证
阅读全文
摘要:数据流 数据流将“基本数据类型与字符串类型”作为数据源,从而允许程序以与机器无关的方式从底层输入输出流中操作Java基本数据类型与字符串类型。 DataInputStream和DataOutputStream提供了可以存取与机器无关的所有Java基础类型数据(如:int、double、String等
阅读全文
摘要:非空约束(Not Null) 添加非空约束 使用DDL语句添加非空约束。 ALTER TABLE 表名 MODIFY 列名 类型 NOT NULL; 示例: 向 emp 表中的 salary 添加非空约束。 alter table emp modify salary float(8,2) not N
阅读全文
摘要:唯一性约束(Unique) 添加唯一性约束 使用DDL语句添加唯一性约束。 ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(列名); 示例: 向 emp 表中的 name 添加唯一约束。 alter table emp add constraint emp_uk u
阅读全文
摘要:外键约束(Foreign Key) 添加外键约束 使用DDL语句添加外键约束 ALTER TABLE 表名 ADD CONSTRAINT 约束名 FOREIGN KEY( 列 名 ) REFERENCES 参照的表名(参照的列名); 示例一: 创建 departments 表包含 departmen
阅读全文
摘要:主键约束(Primary Key) 单一主键 使用一个列作为主键列,当该列的值有重复时,则违反唯一约束。 联合主键 使用多个列作为主键列,当多个列的值都相同时,则违反唯一约束。 添加主键约束 使用DDL语句添加主键约束 ALTER TABLE 表名 ADD PRIMARY KEY(列名); 示例:
阅读全文
摘要:MySQL中的约束 本专栏从本篇开始正式介绍MySQL中的约束内容,这是关系型数据库的一个重点,在接下来的几篇博文中我会详细介绍每种约束,包括概念,创建方式,应用场景等等,希望小伙伴们关注! 约束概述 数据库约束是对表中的数据进行进一步的限制,保证数据的正确性、有效性和完整性。 主键约束(Prima
阅读全文
摘要:创建表与删除表 创建表 使用DDL语句创建表 CREATE TABLE 表名(列名 类型,列名 类型......); 示例: 创建一个 employees 表包含雇员 ID ,雇员名字,雇员薪水。 create table employees(employee_id int,employee_nam
阅读全文
摘要:常用流详解 文件字节流 FileInputStream通过字节的方式读取文件,适合读取所有类型的文件(图像、视频、文本文件等)。 FileOutputStream 通过字节的方式写数据到文件中,适合所有类型的文件(图像、视频、文本文件等)。 FileInputStream文件输入字节流 public
阅读全文
摘要:Java中流的概念细分 按流的方向分类: 输入流:数据流向是数据源到程序(以InputStream、Reader结尾的流)。输出流:数据流向是程序到目的地(以OutPutStream、Writer结尾的流)。 按处理的数据单元分类: 字节流:以字节为单位获取数据,命名上以Stream结尾的流一般是字
阅读全文
摘要:IO流技术介绍 什么是IO 输入(Input)指的是:可以让程序从外部系统获得数据(核心含义是“读”,读取外部数据)。 输出(Output)指的是:程序输出数据给外部系统从而可以操作外部系统(核心含义是“写”,将数据写出到外部系统)。 java.io包为我们提供了相关的API,实现了对所有外部系统的
阅读全文
摘要:MySQL中的数据类型 整数类型 MySQL数据类型含义(有符号)tinyint(m)1个字节 范围(-128~127)smallint(m)2个字节 范围(-32768~32767)mediumint(m)3个字节 范围(-8388608~8388607)int(m)4个字节 范围(-214748
阅读全文
摘要:创建与删除数据库 创建数据库 1️⃣❤️使用DDL语句创建数据库 CREATE DATABASE 数据库名 DEFAULT CHARACTER SET 字符编码; 示例: 创建一个test 的数据库,并查看该数据库,以及该数据库的编码。 创建数据库: create database test def
阅读全文
摘要:SQL语言 SQL语言简介 结构化查询语言(Structured Query Language)简称 SQL(发音:sequal['si:kwəl]),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。 SQL 能做什么? SQL 面向数据库执行查询SQL 可在数据库中
阅读全文
摘要:MySQL基础知识 MySQL简介 MySQL 是一个关系型数据库管理系统, 由瑞典 MySQL AB 公司开发, 目前属于 Oracle 公司。MySQL 是一种关系型数据库管理系统,关系型数据库将数据保存在不同的表 中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQ
阅读全文
摘要:数据库基础知识 先谈发音 MySQL如何发音?在国内MySQL发音有很多种,Oracle官方文档说他们念作 My sequal['si:kwəl]。 数据库基本概念 数据 数据(Data)是指对客观事物进行描述并可以鉴别的符号,这些符号是可识别的、抽象的。它不仅指狭义上的数字,而是有多种表现形式:字
阅读全文
摘要:HashMap的底层源码分析 底层存储介绍 HashMap底层实现采用了哈希表,这是一种非常重要的数据结构。对于我们以后理解很多技术都非常有帮助。 数据结构中由数组和链表来实现对数据的存储,他们各有特点。 (1) 数组:占用空间连续。 寻址容易,查询速度快。但是,增加和删除效率非常低。 (2) 链表
阅读全文
摘要:HashSet底层源码分析 成员变量 private transient HashMap<E,Object> map; // Dummy value to associate with an Object in the backing Map private static final Object
阅读全文
摘要:LinkedList的源码分析 添加元素 节点类 private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.item =
阅读全文
摘要:Vector源码分析 成员变量 /** * The array buffer into which the components of the vector are * stored. The capacity of the vector is the length of this array bu
阅读全文
摘要:ArrayList源码分析 ArrayList底层是用数组实现的存储 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable
阅读全文
摘要:Collections工具类 Collections工具类 java.util.Collections 提供了对Set、List、Map进行排序、填充、查找元素的辅助方法。 方法名说明void sort(List)对List容器内的元素排序,排序规则是升序。void shuffle(List)对Li
阅读全文
摘要:遍历集合的方法总结 遍历List方法一:普通for循环 for(int i=0;i<list.size();i++){//list为集合的对象名 String temp = (String)list.get(i); System.out.println(temp); } 遍历List方法二:增强fo
阅读全文
摘要:Iterator接口 Iterator迭代器接口介绍 Collection接口继承了Iterable接口,在该接口中包含一个名为iterator的抽象方法,所有实现了Collection接口的容器类对该方法做了具体实现。iterator方法会返回一个Iterator接口类型的迭代器对象,在该对象中包
阅读全文
摘要:Map接口介绍 Map接口定义了双例集合的存储特征,它并不是Collection接口的子接口。双例集合的存储特征是以key与value结构为单位进行存储。体现的是数学中的函数 y=f(x)感念。 Map与Collecton的区别: Collection中的容器,元素是孤立存在的(理解为单身),向集合
阅读全文
摘要:控制语句 控制语句:把语句组合成能完成一定功能的小逻辑模块。它分为三类:顺序、选择和循环。 学会控制语句,是真正跨入编程界的“门槛”,是成为“程序猿”的“门票”。 **“顺序结构”代表“先执行a,再执行b”的逻辑。**比如,先找个女朋友,再给女朋友打电话;先订婚,再结婚;**“条件判断结构”代表“如
阅读全文
摘要:Set接口介绍 Set接口继承自Collection接口,Set接口中没有新增方法,它和Collection接口保持完全一致。我们在前面学习List接口的使用方式,在Set中仍然适用。因此,学习Set的使用将没有任何难度。 Set接口特点 Set特点:无序、不可重复。无序指Set中的元素没有索引,我
阅读全文
摘要:Vector容器的基本使用 Vector底层是用数组实现的,相关的方法都加了同步检查,因此“线程安全,效率低”。 比如,indexOf方法就增加了synchronized同步标记。 Vector的使用 Vector的使用与ArrayList是相同的,因为他们都实现了List接口,对List接口中的抽
阅读全文
摘要:ArrayList容器的基本使用 老样子,在正式开始介绍前,大家已经看到了我的封面,这是一张NBA最经典的图片之一了吧, 大家还记得这些绝杀球吗???C位的科比拧着身体面对韦德投中打板三分绝杀是多少人热血的 青春啊!希望大家学习之余不忘热爱!科比!!!! 好了,开始正文介绍:ArrayList是==
阅读全文
摘要:容器介绍 我们还是老样子,在正式介绍容器之前,大家已经看到我的封面换上了我们的一人一城老司机——德克诺维斯基,随着NBA新赛季利拉德远赴密尔沃基,NBA的一人一城传奇又有谁能继续书写,当初老司机二十年的坚守,这份信念谁来继承,难回首呐兄弟们!!大家怎么看呢?? 容器简介 容器,是用来容纳物体、管理物
阅读全文
摘要:泛型(Generics) 在开始介绍泛型之前,先浅浅聊点题外话,相信小伙伴们看到了封面的库男神,NBA新赛季马上开始,希望库男神带领新一代五小勇士重回巅峰!!!好了,接下来我们开始我们的正式话题,相信兄弟们更多的还是为了学习哈哈!! 泛型基本概念 泛型是JDK5.0以后增加的新特性。 泛型的本质就是
阅读全文
摘要:枚举 顾名思义,枚举就是一个一个列举的意思。 JDK1.5引入了枚举类型。枚举类型的定义包括枚举声明和枚举体。格式如下: enum 枚举名 { 枚举体(常量列表) } 枚举体就是放置一些常量。我们可以写出我们的第一个枚举类型,如示例所示: 【示例】创建枚举类型 enum Season { SPRIN
阅读全文
摘要:Math类 java.lang.Math提供了一系列静态方法用于科学计算;常用方法如下:(必会方法我已高亮提示) abs 绝对值acos,asin,atan,cos,sin,tan 三角函数sqrt 平方根pow(double a, double b) a的b次幂max(double a, doub
阅读全文
摘要:IDEA的使用(开发神器) IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境,被公认为最好的java开发工具之一。IDEA目前市场占有率越来越高,流行度也越来越高。 三大神器: IDEA 官方网址: http://www.jetbrains.com/idea/VS Cod
阅读全文
摘要:JAVA深化篇_05——时间处理相关类 时间处理相关类 “时间如流水,一去不复返”,时间是一维的。所以,我们需要一把刻度尺来表达和度量时间。在计算机世界,我们把**1970 年 1 月 1 日 00:00:00定为基准时间,每个度量单位是毫秒**(1秒的千分之一),如图所示。 我们用long类型的变
阅读全文
摘要:字符串相关类 String类代表不可变的字符序列 StringBuilder类和StringBuffer类代表可变字符序列。 这三个类的用法,在笔试面试以及实际开发中经常用到,必须掌握好。 String类源码分析 String 类对象代表不可变的Unicode字符序列,因此我们可以将String对象
阅读全文
摘要:基本数据类型的包装类 我们前面学习的八种基本数据类型并不是对象,为了将基本类型数据和对象之间实现互相转化,Java为每一个基本数据类型提供了相应的包装类。 包装类基本知识 Java是面向对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象。但是我们在实际应用中经常需要将基本
阅读全文
摘要:在具体谈论java异常之前,我先简单给大家介绍一下java异常机制的概念,以及异常机制的用途与使用环境。 首先我们先提一下异常概念: 异常(Exception)的概念 异常指程序运行过程中出现的非正常现象,例如除数为零、需要处理的文件不存在、数组下标越界等。 在Java的异常处理机制中,引进了很多用
阅读全文
摘要:自定义异常 在程序中,可能会遇到JDK提供的任何标准异常类都无法充分描述清楚我们想要表达的问题,这种情况下可以创建自己的异常类,即自定义异常类。 自定义异常类只需从Exception类或者它的子类派生一个子类即可。 自定义异常类如果继承Exception类,则为CheckedException异常,
阅读全文