07 2023 档案

摘要:Java之日志 概述 日志可以用来记录程序运行过程中的信息,并可以进行永久存储。 优势 可以将系统执行的信息选择性的记录到指定的位置 (控制台、文件中、数据库中) 可以随时以开关的形式控制是否记录日志,无需修改源代码 输出语句日志技术 输出位置 只能是控制台 可以将日志信息写入到文件或者数据库中 取 阅读全文
posted @ 2023-07-30 20:14 镰刀战士 阅读(35) 评论(0) 推荐(0) 编辑
摘要:Java之异常 概述 异常是什么? 异常是代码在编译或者执行的过程中可能出现的错误 异常分为几类? 编译时异常、运行时异常。 编译时异常:没有继承RuntimeExcpetion的异常,编译阶段就会出错。 运行时异常:继承自RuntimeException的异常或其子类,编译阶段不报错,运行可能报错 阅读全文
posted @ 2023-07-30 18:04 镰刀战士 阅读(10) 评论(0) 推荐(0) 编辑
摘要:Java之Stream流的收集 收集Stream流的含义: 就是把Stream流操作后的结果数据转到集合或者数组中去。 Stream流只是方便操作集合/数组的手段。 集合/数组才是开发中的目的。 Stream流的收集方法 名称 说明 R collect(Collector collector) 开始 阅读全文
posted @ 2023-07-30 13:57 镰刀战士 阅读(31) 评论(0) 推荐(0) 编辑
摘要:Java之Stream流综合案例 需求: 某个公司的开发部门,分为开发一部和二部,现在需要进行年中数据结算。 分析: 员工信息至少包含了(名称、性别、工资、奖金、处罚记录) 开发一部有4个员工,开发二部有5个员工。 分别筛选出2个部门的最高工资的员工信息,封装成优秀员工对象。 分别统计出2个部门的平 阅读全文
posted @ 2023-07-30 13:49 镰刀战士 阅读(44) 评论(0) 推荐(0) 编辑
摘要:Java之Stream流的常用API Stream流常见中间方法 名称 说明 Stream<T> filter(Predicate<? super T> predicate) 用于对流中的数据进行过滤 Stream<T> limit(long maxSize) 获取前几个元素 Stream<T> s 阅读全文
posted @ 2023-07-29 18:50 镰刀战士 阅读(77) 评论(0) 推荐(0) 编辑
摘要:Java之Stream流的获取 Stream流的三类方法 获取Stream流 创建一条流水线,并把数据放到流水线上准备进行操作。 中间方法 流水线上的操作。一次操作完毕之后,还可以继续进行其他操作。 终结方法 一个Stream流只能有一个终结方法,是流水线上的最后一个操作。 获取流方式 集合获取St 阅读全文
posted @ 2023-07-29 17:06 镰刀战士 阅读(65) 评论(0) 推荐(0) 编辑
摘要:Java之Stream流 概述 在Java 8 中,得益于lambda比所带来的函数式编程,引入了一个全新的Stream流概念。 目的:用于简化集合和数组操作的API。 初步体验 需求:按照下面的要求完成集合的创建与遍历 创建一个集合存储多个字符串元素。 List<String> names = n 阅读全文
posted @ 2023-07-29 16:44 镰刀战士 阅读(20) 评论(0) 推荐(0) 编辑
摘要:Java之不可变集合 什么是不可变集合? 不可变集合就是不可被修改的集合。 集合的数据项在创建的时候提供,并且在整个生命周期中都不可被改变。否则报错 为什么要创建不可变集合? 如果当某个数据不能被修改,把它防御性地拷贝到不可变集合中是个很好的选择。 或者当集合对象被不可信的库调用时,不可变形式是安全 阅读全文
posted @ 2023-07-29 16:09 镰刀战士 阅读(155) 评论(0) 推荐(0) 编辑
摘要:MySQL之锁 全局锁 介绍 全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语句,已经更新操作的事务提交语句都将被阻塞。 其典型的使用场景是做全库的逻辑备份,对所有的表进行锁定,从而获取一致性视图,保证数据的完整性 演示 特点 数据库中加全局锁,是一个比较 阅读全文
posted @ 2023-07-28 13:17 镰刀战士 阅读(9) 评论(0) 推荐(0) 编辑
摘要:# MySQL之存储过程 ## 变量 @@是系统变量 @是用户自定义的变量 ### 系统变量 系统变量 是MySQL服务器提供,不是用户定义的,属于服务器层面。分为全局变量(GLOBAL)、会话变量(SESSION)。 查看系统变量 #### 模板 ```SHOW [ SESSION | GLOBA 阅读全文
posted @ 2023-07-23 12:59 镰刀战士 阅读(58) 评论(0) 推荐(0) 编辑
摘要:存储过程 介绍 存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。 特点 封装、复用。 可以接收 阅读全文
posted @ 2023-07-22 19:57 镰刀战士 阅读(24) 评论(0) 推荐(0) 编辑
摘要:MySQL之视图检查选项 视图的检查选项 当使用WITH CHECK OPTION子句创建视图时,MySQL会通过视图检查正在更改的每个行,例如 插入,更新,删除,以使其符合视图的定义。MySQL允许基于另一个视图创建视图,它还会检查依赖视图中的规则以保持一致性。为了确定检查的范围,mysql提供了 阅读全文
posted @ 2023-07-22 12:45 镰刀战士 阅读(67) 评论(0) 推荐(0) 编辑
摘要:MySQL之视图CRUD 介绍 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SOL查询语句上。 阅读全文
posted @ 2023-07-21 22:34 镰刀战士 阅读(19) 评论(0) 推荐(0) 编辑
摘要:MySQL优化之limit和count limit优化 一个常见又非常头疼的问题就是 limit 2000000,10 ,此时需要MySQL排序前2000010 记录,仅仅返回2000000 - 2000010的记录,其他记录丢弃,查询排序的代价非常大。 优化思路: 一般分页查询时,通过创建 覆盖索 阅读全文
posted @ 2023-07-21 21:51 镰刀战士 阅读(174) 评论(0) 推荐(0) 编辑
摘要:MySQL之group by group by优化 #删除掉目前的联合索引 idx_user_pro_age_sta drop index idx_user_ro_age_sta on tb_user; #执行分组操作,根据profession字段分组 explain select professi 阅读全文
posted @ 2023-07-21 17:46 镰刀战士 阅读(14) 评论(0) 推荐(0) 编辑
摘要:MySQL之order by优化 .Using filesort:通过表的索引或全表扫描,读取满足条件的数据行,然后在排序缓冲区sort buffer中完成排序操作,所有不是通过索引直接返回排序结果的排序都叫 FileSot 排序。 Using index:通过有序索引顺序扫描直接返回有序数据,这种 阅读全文
posted @ 2023-07-21 17:37 镰刀战士 阅读(33) 评论(0) 推荐(0) 编辑
摘要:MySQL之主键优化 页分裂 页可以为空,也可以填充一半,也可以填充100%。每个页包含了2-N行数据(如果一行数据多大,会行溢出),根据主键排列。 主键顺序插入: 主键乱序插入: 先找应该插的一页,将该页从中间分开,插入到后面的新页。 然后改变页面指向顺序 这个就叫做页分裂 页合并 当删除一行记录 阅读全文
posted @ 2023-07-21 16:33 镰刀战士 阅读(35) 评论(0) 推荐(0) 编辑
摘要:MySQL之插入优化 insert优化 原批量插入: insert into tb_test values(1,'tom'); insert into tb_test values(2,'cat'); insert into tb_test values(3,'jerry'); 改批量插入: ins 阅读全文
posted @ 2023-07-21 16:09 镰刀战士 阅读(23) 评论(0) 推荐(0) 编辑
摘要:MySQL之索引使用与失效情况 索引使用 验证索引效率 在未建立索引之前,执行如下SQL语句,查看SQL的耗时。 SELECT * FROM tb_sku WHERE sn ="100000003145001'; 针对字段创建索引 create index idx_sku_sn on tb sku( 阅读全文
posted @ 2023-07-21 14:15 镰刀战士 阅读(61) 评论(0) 推荐(0) 编辑
摘要:MySQL之sql性能分析 sql性能分析 慢查询日志 慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位: 秒,默认10秒)的所有SQL语句的日志 MySOL的慢查询日志默认没有开启,需要在MvSOL的配置文件 (/etc/my.cnf)中配置如下信息: #查询slow 阅读全文
posted @ 2023-07-20 19:24 镰刀战士 阅读(34) 评论(0) 推荐(0) 编辑
摘要:MySQL之索引 索引结构 MySQL的索引是在存储引擎层实现的,不同的存储引擎有不同的结构,主要包含以下几种: 索引结构 描述 B+Tree索引 最常见的索引类型,大部分引擎都支持 B+ 树索引 Hash索引 底层数据结构是用哈希表实现的, 只有精确匹配索引列的查询才有效不支持范围查询 R-tre 阅读全文
posted @ 2023-07-20 18:28 镰刀战士 阅读(18) 评论(0) 推荐(0) 编辑
摘要:MySQL之事务 事务操作 开启事务 start transaction 或 begin; 提交事务 commit; 回滚事务 rollback; 经典案例之转账操作 select @@autocommit; ​ set @@autocommit = 0; --设置为手动提交,此时执行完语句必须要执 阅读全文
posted @ 2023-07-20 11:32 镰刀战士 阅读(10) 评论(0) 推荐(0) 编辑
摘要:多表查询 内连接 隐式内连接 查询每一个员工的姓名 , 及关联的部门的名称(隐式内连接实现) 表结构: emp ,dept 连接条件: emp.dept_id = dept.id select emp,name , dept,name from emp , dept where emp.dept_i 阅读全文
posted @ 2023-07-19 15:41 镰刀战士 阅读(31) 评论(0) 推荐(0) 编辑
摘要:SQL SQL通用语法 SQL语句可以单行或多行书写,以分号结尾。 SQL语句可以使用空格/缩进来增强语句可读性。 MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。 注释 单行注释:--注释内容或者#注释内容(MySQL特有) 多行注释:/* 注释内容 */ DDL-数据库操作 查询 阅读全文
posted @ 2023-07-18 23:02 镰刀战士 阅读(11) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示