基础篇
文章平均质量分 79
J2SE
丸酸菌
这个作者很懒,什么都没留下…
展开
-
MySQL基础笔记-第18章_MySQL8其它新特性
MySQL从5.7版本直接跳跃发布了8.0版本,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQL Optimizer优化器进行了改进。不仅在速度上得到了改善,还为用户带来了更好的性能和更棒的体验。原创 2023-12-12 21:36:10 · 1104 阅读 · 0 评论 -
MySQL基础笔记-第17章_触发器
MySQL从5.0.2版本开始支持触发器。MySQL的触发器和存储过程一样,都是嵌入到MySQL服务器的一段程序。触发器是由事件来触发某个操作,这些事件包括INSERTUPDATEDELETE事件。所谓事件就是指用户的动作或者触发某项行为。如果定义了触发程序,当数据库执行这些语句时候,就相当于事件发生了,就会自动激发触发器执行相应的操作。当对数据表中的数据执行插入、更新和删除操作,需要自动执行一些数据库逻辑时,可以使用触发器来实现。原创 2023-12-12 21:34:58 · 916 阅读 · 0 评论 -
MySQL基础笔记-第16章_变量、流程控制与游标
定义条件是事先定义程序执行过程中可能遇到的问题,处理程序定义了在遇到问题时应当采取的处理方式,并且保证存储过程或函数在遇到警告或错误时能继续执行。这样可以增强存储程序处理问题的能力,避免程序异常停止运行。说明:定义条件和处理程序在存储过程、存储函数中都是支持的。定义条件就是给MySQL中的错误码命名,这有助于存储的程序代码更清晰。它将一个错误名字和指定的错误条件关联起来。这个名字可以随后被用在定义处理程序的语句中。DECLARE 错误名称 CONDITION FOR 错误码(或错误条件)和。原创 2023-12-12 21:33:51 · 1012 阅读 · 0 评论 -
MySQL基础笔记-第13章_约束
数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。实体完整性(Entity Integrity):例如,同一个表中,不能存在两条完全相同无法区分的记录域完整性(Domain Integrity):例如:年龄范围0-120,性别范围“男/女”原创 2023-12-12 21:29:15 · 1042 阅读 · 0 评论 -
MySQL基础笔记-第15章_存储过程与函数
含义:存储过程的英文是。它的思想很简单,就是一组经过预先编译的 SQL 语句的封装。执行过程:存储过程预先存储在 MySQL 服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储过程的命令,服务器端就可以把预先存储好的这一系列 SQL 语句全部执行。好处1、简化操作,提高了sql语句的重用性,减少了开发程序员的压力2、减少操作过程中的失误,提高效率3、减少网络传输量(客户端不需要把所有的 SQL 语句通过网络发给服务器)原创 2023-12-12 21:32:27 · 960 阅读 · 0 评论 -
MySQL基础笔记-第14章_视图
视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图。比如,针对一个公司的销售人员,我们只想给他看部分数据,而某些特殊的数据,比如采购的价格,则不会提供给他。再比如,人员薪酬是个敏感的字段,那么只给某个级别以上的人员开放,其他人的查询视图中则不提供这个字段。刚才讲的只是视图的一个使用场景,实际上视图还有很多作用。最后,我们总结视图的优点。1. 操作简单。原创 2023-12-12 21:30:39 · 1078 阅读 · 0 评论 -
MySQL基础笔记-第12章_MySQL数据类型精讲
整数类型一共有 5 种,包括 TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和 BIGINT。整数类型字节有符号数取值范围无符号数取值范围TINYINT1-128~1270~255SMALLINT20~65535MEDIUMINT30~167772154BIGINT8浮点数和定点数类型的特点是可以处理小数,你可以把整数看成小数的一个特例。因此,浮点数和定点数的使用场景,比整数大多了。原创 2023-12-12 21:26:10 · 913 阅读 · 0 评论 -
MySQL基础笔记-第11章_数据处理之增删改
INSERT还可以将SELECT语句查询的结果插入到表中,此时不需要把每一条记录的值一个一个输入,只需要使用一条INSERT语句和一条SELECT语句组成的组合语句即可快速地从一个或多个表中向一个表中插入多行。例如,a列值为1、b列值为2,c列不需要手动插入,定义a+b的结果为c的值,那么c就是计算列,是通过别的列计算得来的。为表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。● Warnings:表明有问题的数据值,例如发生数据类型转换。原创 2023-12-12 21:23:36 · 1048 阅读 · 0 评论 -
MySQL基础笔记-第10章_创建和管理表
【参考】TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少,但 TRUNCATE 无事务且不触发 TRIGGER,有可能造成事故,故不建议在开发代码中使用此语句。MySQL在执行建表语句时,将id字段的类型设置为int(11),这里的11实际上是int类型指定的显示宽度,默认的显示宽度为11。操作将把表的定义和表中的数据一起删除,并且MySQL在执行删除操作时,不会有任何的确认信息提示,因此执行删除操时应当慎重。的,如果添加了一个不需要的字段,可以将其删除;原创 2023-12-12 21:19:45 · 874 阅读 · 0 评论 -
MySQL基础笔记-第09章_子查询
如果子查询的执行依赖于外部查询,通常情况下都是因为子查询中的表用到了外部的表,并进行了条件关联,因此每执行一次外部查询,子查询都要重新计算一次,这样的子查询就称之为。同样,如果子查询需要执行多次,即采用循环的方式,先从外部查询开始,每次都传入子查询进行查询,然后再将结果反馈给外部,这种嵌套的执行方式就称为相关子查询。子查询从数据表中查询了数据结果,如果这个数据结果只执行一次,然后这个数据结果作为主查询的条件进行执行,那么这样的子查询叫做不相关子查询。**问题:**谁的工资比Abel的高?原创 2023-12-12 21:17:36 · 944 阅读 · 0 评论 -
MySQL基础笔记-第07章_单行函数
函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性。在 SQL 中我们也可以使用函数对检索出来的数据进行函数操作。使用这些函数,可以极大地提高用户对数据库的管理效率。从函数定义的角度出发,我们可以将函数分成内置函数和自定义函数。在 SQL 语言中,同样也包括了内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的,本章及下一章讲解的是 SQL 的内置函数。原创 2023-12-12 21:06:16 · 974 阅读 · 0 评论 -
MySQL基础笔记-第08章_聚合函数
什么是聚合函数聚合函数作用于一组数据,并对一组数据返回一个值。聚合函数类型AVG()SUM()MAX()MIN()聚合函数语法聚合函数不能嵌套调用。比如不能出现类似“AVG(SUM(字段名称))”形式的调用。原创 2023-12-12 21:14:03 · 1050 阅读 · 0 评论 -
MySQL基础笔记-第06章_多表查询
在某业务中,由于多表关联查询语句没有加表的别名(或表名)的限制,正常运行两年后,最近在 某个表中增加一个同名字段,在预发布环境做数据库变更后,线上查询语句出现出 1052 异常:Column ‘name’ in field list is ambiguous。需要注意的是,如果我们使用了表的别名,在查询字段中、过滤条件中就只能使用别名进行代替,不能使用原有的表名,否则就会报错。在正式开始讲连接表的种类时,我们首先需要知道 SQL 存在不同版本的标准规范,因为不同规范下的表连接操作是有区别的。原创 2023-12-04 22:51:34 · 1077 阅读 · 0 评论 -
MySQL基础笔记-第05章_排序与分页
第一个“位置偏移量”参数指示MySQL从哪一行开始显示,是一个可选参数,如果不指定“位置偏移量”,将会从表中的第一条记录开始(第一条记录的位置偏移量是0,第二条记录的位置偏移量是1,以此类推);MySQL 8.0中可以使用“LIMIT 3 OFFSET 4”,意思是获取从第5条记录开始后面的3条记录,和“LIMIT 4,3;这样的好处就是 SELECT 不需要扫描完整的表,只需要检索到一条符合条件的记录即可返回。所谓分页显示,就是将数据库中的结果集,一段一段显示出来需要的条件。得到与上述方法一致的结果。原创 2023-12-04 22:35:50 · 1031 阅读 · 0 评论 -
MySQL基础笔记-第04章_运算符
1的二进制数为0001,10的二进制数为1010,所以1 | 10的结果为1011,对应的十进制数为11。1的二进制数为0001,10的二进制数为1010,所以1 ^ 10的结果为1011,对应的十进制数为11。1的二进制数为0001,10的二进制数为1010,所以1 & 10的结果为0000,对应的十进制数为0。由于按位取反(~)运算符的优先级高于按位与(&)运算符的优先级,所以10 & ~1,首先,对数字1进行按位取反操作,结果除了最低位为0,其他位都为1,然后与10进行按位与操作,结果为10。原创 2023-12-04 22:29:30 · 1297 阅读 · 1 评论 -
MySQL基础笔记-第03章_基本的SELECT语句
1946 年,世界上第一台电脑诞生,如今,借由这台电脑发展起来的互联网已经自成江湖。在这几十年里,无数的技术、产业在这片江湖里沉浮,有的方兴未艾,有的已经几幕兴衰。但在这片浩荡的波动里,有一门技术从未消失,甚至“老当益壮”,那就是 SQL。45 年前,也就是 1974 年,IBM 研究员发布了一篇揭开数据库技术的论文《SEQUEL:一门结构化的英语查询语言》,直到今天这门结构化的查询语言并没有太大的变化,相比于其他语言,SQL 的半衰期可以说是非常长了。原创 2023-12-04 22:17:45 · 1042 阅读 · 0 评论 -
MySQL基础笔记-第02章_MySQL环境搭建
删除后,重新安装即可。按键盘上的“Ctrl + Alt + Delete”组合键,打开“任务管理器”对话框,可以在“服务”列表找到“MySQL8.0”的服务,如果现在“正在运行”状态,可以右键单击服务,选择“停止”选项停止MySQL8.0的服务,如图所示。第二种解决方案如下,用命令行登录MySQL数据库之后,执行如下命令修改用户密码加密规则并更新用户密码,这里修改用户名为“root@localhost”的用户密码规则为“mysql_native_password”,密码值为“123456”,如图所示。原创 2023-12-04 22:06:55 · 1122 阅读 · 0 评论 -
MySQL基础笔记-第01章_数据库概述
讲师:尚硅谷-宋红康(江湖人称:康师傅)Oracle1979 年,Oracle 2 诞生,它是第一个商用的 RDBMS(关系型数据库管理系统)。随着 Oracle 软件的名气越来越大,公司也改名叫 Oracle 公司。2007年,总计85亿美金收购BEA Systems。2009年,总计74亿美金收购SUN。此前的2008年,SUN以10亿美金收购MySQL。意味着Oracle 同时拥有了 MySQL 的管理权,至此 Oracle 在数据库领域中成为绝对的领导者。原创 2023-12-04 21:49:50 · 907 阅读 · 0 评论 -
Java9|Java10|Java11新特性
文章目录Java9的新特性JDK 和 JRE 目录结构的改变模块化系统: Jigsaw -> ModularityJava的REPL工具: jShell命令接口的私有方法语法改进:钻石操作符使用升级语法改进:try语句String存储结构变更集合工厂方法:快速创建只读集合-便利的集合特性:of()增强的Stream APIJava10的新特性局部变量类型推断集合新增创建不可变集合的方法Java11的新特性新增了一系列字符串处理方法Optional 加强局部变量类型推断升级全新的HTTP 客户端API更原创 2022-01-08 01:43:25 · 504 阅读 · 0 评论 -
Java1.8新特性
Java8原创 2022-01-06 01:00:38 · 1431 阅读 · 0 评论 -
Java反射机制
Java反射机制原创 2022-01-02 00:38:46 · 283 阅读 · 0 评论 -
Java网络编程
网络编程概述Java是Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在Java 的本机安装系统里,由JVM 进行控制。并且Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。计算机网络:把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、数据信原创 2021-12-30 00:10:30 · 81 阅读 · 0 评论 -
JavaIO流
IO流原创 2021-12-19 21:51:31 · 504 阅读 · 0 评论 -
Java泛型Generic
文章目录概念具体概念那么为什么要有泛型呢在集合中使用泛型之前的情况泛型的使用自定义泛型结构自定义泛型类、泛型接口泛型方法泛型类和泛型方法的使用情境概念泛型:标签举例:中药店,每个抽屉外面贴着标签超市购物架上很多瓶子,每个瓶子装的是什么,有标签泛型的设计背景集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个元原创 2021-12-12 23:38:29 · 231 阅读 · 0 评论 -
Java集合-Collection
一、集合框架的概述数组与集合1.集合、数组都是对多个数据进行存储操作的结构,简称 Java容器。说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)2.1 数组在存储多个数据方面的特点:一旦初始化以后,其长度就确定了。数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。比如:String[ ] arr ; int[ ] arr1 ; Object[ ] arr2;2.2 数组在存储多个数据方面的缺点:一旦原创 2021-10-16 19:50:34 · 286 阅读 · 0 评论 -
Java枚举类与注解
文章目录枚举类一、枚举类的使用二、如何定义枚举类方式一:jdk5.0之前,自定义枚举类方式二:jdk5.0,可以使用enum关键字定义枚举类三、Enum类中的常用方法:四、使用enum关键字定义的枚举类实现接口的情况情况一:实现接口,在enum类中实现抽象方法情况二:让枚举类的对象分别实现接口中的抽象方法注解枚举类使用enum关键字定义枚举类定义的枚举类默认继承于java.lang.Enum类一、枚举类的使用1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类2.当需要定义一组常量时原创 2021-08-26 01:30:25 · 173 阅读 · 0 评论 -
Java常用类-比较器|System|Math|BigInteger与BigDecimal
文章目录Java比较器Java 实现对象排序的方式有两种:方式一 Comparable_compareTo接口: 自然排序方式二 Comparator接口:定制排序String 例:Comparator例System类Math 类BigInteger 与 BigDecimalJava比较器一、说明:Java中的对象,正常情况下,只能进行比较:== 或 != 。不能使用 > 或 < 的但是在开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的大小。如何实现?使用两个原创 2021-08-23 01:40:19 · 214 阅读 · 0 评论 -
Java常用类-JDK8中之前日期时间API与JDK8中新日期时间API
java.lang.System类System类提供的 public static long currentTimeMillis用来返回当前时间与 1970 年 1 月 1 日 0 时 0 分 0 秒之间以毫秒为单位的时间差。此方法适于计算时间差。long time = System.currentTimeMillis();System.out.println(time);称为时间戳java.util.Date 类表示特定的瞬间,精确到毫秒构造器Date 使用无参构造 器 创建 的原创 2021-08-20 14:38:10 · 238 阅读 · 0 评论 -
Java常用类-String
String 的特性原创 2021-08-19 16:36:07 · 153 阅读 · 0 评论 -
Java多线程
文章目录进程与线程线程的创建与启动测试Thread中的常用方法:方式一: 继承 Thread 类练习 创建两个分线程,一个线程遍历100以内的偶数,一个遍历奇数方式二:实现 Runnable 接口练习 创建三个窗口卖票,总票数为100张.实现Runnable接口的方式进程与线程单核 CPU 和多核 CPU 的理解单核 CPU ,其实是一种假的多线程,因为在一个时间单元内,也只能执行一个线程的任务。例如:虽然有多车道,但是收费站只有一个工作人员在收费,只有收了费才能通过,那么 CPU 就 好比收原创 2021-08-14 00:37:08 · 135 阅读 · 0 评论 -
Java异常处理
文章目录异常体系结构常见异常异常的处理:抓抛模型异常处理的方式:try-catch-finally异常处理的方式二:throws + 异常类型ExceptionTest2方法重写的规则之一手动抛出异常对象:throwsStudentTest用户自定义异常类MyException总结:异常处理 5 个关键字异常体系结构异常 :在 Java 语言中 将程序执行中发生的不正常情况称为 异常 。(开发过程中的语法错误和逻辑错误不是异常)Java 程序在执行过程中所发生的异常事件可分为两类:Er原创 2021-08-08 02:14:38 · 83 阅读 · 0 评论 -
InterlliJ_IDEA的安装|配置
设置设置显示常见的视图Editor General设置鼠标滚轮修改字体大小 可忽略我们可以勾选此设置后,增加Ctrl + 鼠标滚轮 快捷键来控制代码字体大小显示。设置鼠标悬浮提示自动导包Add unambiguous imports on the fly :自动导入不明确的结构Optimize imports on the fly 自动帮我们优化导入的包设置显示行号和方法间的分隔符 如上图红圈所示, 可以 勾选 Show line numbers :显示行数。 我原创 2021-08-13 00:23:32 · 1367 阅读 · 0 评论 -
面试题:抽象类与接口有哪些异同?
相同点:不能实例化,都可以被继承不同点::抽象类:有构造器。 接口:不能声明构造器单继承 vs 多继承 两个都是并列结构,但是一个是类体系 一个是接口体系原创 2021-08-07 23:53:29 · 119 阅读 · 0 评论 -
类的内部成员之五:内部类
类的内部成员之五:内部类Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类内部类的分类:成员内部类(静态、非静态) vs 局部内部类(方法内、代码块内、构造器内)成员内部类:一方面,作为外部类的成员:>调用外部类的结构 >可以被static修饰>可以被4种不同的权限修饰另一方面,作为一个类:> 类内可以定义属性、方法、构造器等> 可以被final修饰,表示此类不能原创 2021-08-05 19:57:19 · 85 阅读 · 0 评论 -
Java 8/1.8中关于接口的改进
Java 8/1.8中关于接口的改进:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法Java8中,你可以为接口添加静态方法和默认方法。从技术角度来说,这是完全合法的,只是它看起来违反了接口作为一个抽象定义的理念。静态方法:使用static关键字修饰。可以通过接口直接调用静态方法,并执行其方法体。我们经常在相互一起使用的类中使用静态方法。你可以在标准库中找到像Collection/Collections或者Path/Paths这样成对的接口和类默认方法:默认方法使用default关键字原创 2021-08-04 20:13:25 · 164 阅读 · 0 评论 -
接口的应用:代理模式(Proxy)
概述:代理模式是Java开发中使用较多的一种设计模式。代理设计就是为其他对象提供一种代理以控制对这个对象的访问。public class NetWorkTest { public static void main(String[] args) { Server server = new Server(); server.browse(); ProxyServer proxyServer = new ProxyServer(server); proxyServer.browse();原创 2021-08-04 01:19:06 · 482 阅读 · 0 评论 -
特殊的抽象类 - 接口|创建接口匿名实现类的对象
概述一方面,有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。另一方面,有时必须从几个类中抽取出一些共同的行为特征,而它们之间又没有is-a的关系,仅仅是具有相同的行为特征而已。例如:鼠标、键盘、打印机、扫描仪、摄像头、充电器、MP3机、手机、数码相机、移动硬盘等都支持USB连接。接口就是规范,定义的是一组规则,体现了现实世界中“如果你是/要.….则必须能.….”的思想。继承是一个“是不是"的关系,而接口实现则是"原创 2021-08-04 01:11:57 · 390 阅读 · 0 评论 -
抽象类与抽象方法_多态的应用:模板方法设计模式(TemplateMethod)
多态的应用:模板方法设计模式(TemplateMethod)抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式。解决的问题:> 当功能内部一部分实现是确定的,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。> 换句话说,在软件开发中实现一个算法时,整体步骤很固定、通用,这些步骤已经在父类中写好了。但是某些部分易变, 易变部分可以抽象出来,原创 2021-08-02 22:27:56 · 76 阅读 · 0 评论 -
抽象类与抽象方法_abstract关键字的使用|抽象类的匿名子类
abstract关键字的使用abstract:抽象的abstract可以用来修饰的结构:类、方法abstract修饰类:抽象类> 此类不能实例化> 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)> 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作abstract修饰方法:抽象方法> 抽象方法只有方法的声明,没有方法体> 包含抽象方法的类,一定是一个抽象类。反之,抽象类中可以没有抽象方法的。> 若原创 2021-08-02 00:20:58 · 107 阅读 · 0 评论 -
类的成员之四:代码块(或初始化块)
类的成员之四:代码块(或初始化块)代码块的作用:用来初始化类、对象代码块如果有修饰的话,只能使用static.分类:静态代码块 vs 非静态代码块静态代码块>内部可以有输出语句>随着类的加载而执行,而且只执行一次>作用:初始化类的信息>如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行>静态代码块的执行要优先于非静态代码块的执行>静态代码块内只能调用静态的属性、静态的方法,不能调用非静态的结构非静态代码块>内部可原创 2021-07-31 22:36:18 · 40 阅读 · 0 评论