自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 收藏
  • 关注

原创 高龄白菜java学习第115天(MySql数据库高级(6))

第四章:MySql锁机制锁的分类:共享锁、排他锁锁的粒度越大,冲突概率越高SHOW OPEN TABLES FROM 库名:查看某个库中的表锁UNLOCK TABLES读锁的加锁方可以读加锁的表,不能改,同时也不能读别的表,是为了防止未解锁就去对别的表进行操作,最后忘了解锁这个事分析表锁定SHOW STATUS LIKE ‘table%’行锁的前提是有索引和事务间隙锁如何锁定一行行锁的优化建议...

2021-12-12 23:55:56 604 1

原创 高龄白菜java学习第114天(MySql数据库高级(5))

第三章:查询截取分析优化1:小表驱动大表exist语法:将主查询的数据放到子查询中做条件验证,判断数据是否可以保留in的时候先执行内查询(括号),exist的时候先执行外查询优化2:Order By关键字优化单路排序优化3:group by关键字优化慢查询日志show global status like ‘%Slow_queries%’ 可以显示慢sql条数,可用作健康度的检查cat一下slow.log(数据量少的时候)MySql提供了日志分析工具mysq

2021-12-11 22:37:18 331

原创 高龄白菜java学习第113天(MySql数据库高级(4))

索引失效最左原则4和5:范围右边不生效&多用覆盖索引6:8:如果想要%%的like能够使用索引,可以设置覆盖索引(查询字段与索引字段保持一致)注:主键默认会有索引​ 最左原则指的是where后面的筛选条件9:会进行隐式类型转换,违背了310:小结:全值匹配我最爱,最左前缀要遵守;带头大哥不能死,中间兄弟不能断;索引列上少计算,范围之后全失效;Like百分写最右,覆盖索引不写星;不等空值还有or,索引失效要少用;面试题分析:sql的查询优化器会优化语句

2021-12-09 22:51:03 374

原创 高龄白菜java学习第112天(MySql数据库高级(3))

(4)type:重点从最好到最差依次是:system>const>eq_ref>ref>range>index>alleq_ref:双表:前一个表的唯一索引只能在后表中找到唯一记录(5)key、possible_keys(可以用来做索引失效的校验)查询的字段就在索引中(顺序和个数都匹配),此时展示的情况就是possible_keys为空但key中有值(6)key_len:key_len只计算where条件用到的索引长度,单列索引计算整个索引长度,多

2021-12-08 22:47:00 515

原创 高龄白菜java学习第111天(MySql数据库高级(2))

mysql索引结构:B树索引、Hash索引、full-text索引、R-Tree索引对3的说明:二、性能分析(***)explain作用:explain+SQL语句之后获得的表的表头信息:字段解释(1)id:情况一:情况二:情况三:(2)select_type:数据读取操作的操作类型(3)table:显示这一行的数据是关于哪张表的...

2021-12-07 22:26:39 84

原创 高龄白菜java学习第110天(MySql数据库高级(1))

第一章:概述frm文件存放表结构myd文件存放表数据myi文件存放表索引存储引擎,类似策略模式连接层、服务层、引擎层、存储层插件式的存储引擎架构将查询处理、其他的系统任务、数据的存储提取相分离MyISAM和InnoDB两种引擎的对比第二章 性能优化性能下降的可能原因1、sql语句写的不好2、索引失效3、关联查询join了太多表4、服务器调优及各个参数配置七种join类型由于mysql中不支持全外连,可以使用union汇总+去重查询结果实现相同目的索引是一种数据结构:

2021-12-06 21:45:15 198

原创 高龄白菜java学习第109天(java数据结构和算法(27))

九、弗洛伊德算法代码实现:package Algorithm.Floyd;public class Floyd { public static void main(String[] args) { char[] vertex = {'A', 'B', 'C', 'D', 'E', 'F', 'G'}; int[][] matrix = new int[vertex.length][vertex.length]; final int N =

2021-12-01 22:51:34 711 1

原创 高龄白菜java学习第108天(java数据结构和算法(26))

八、迪杰斯特拉算法![在这里插入图片描述](https://img-blog.csdnimg.cn/a3c28eb2970d44428dbe55d361cc7860.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LSl54Gr572X5rGJ5p6c,size_20,color_FFFFFF,t_70,g_se,x_16)注:代码中有两个部分会更新dis【】,分别是直连距离和通过其他顶点

2021-11-30 23:08:28 377

原创 高龄白菜java学习第107天(java数据结构和算法(25))

七、克鲁斯卡尔算法逻辑:获取排序后边的集合,保证优先添加权值最小的边,通过回路判断(终点是否一致)决定是否将边加入最终结果集代码实现:package Algorithm.Kruskal;import java.lang.reflect.Array;import java.util.Arrays;//克鲁斯卡尔算法public class KK { int edgeNum;//边的数量 char[] vertex;//顶点数组 int[][] matrix

2021-11-29 23:06:33 404

原创 高龄白菜java学习第106天(java数据结构和算法(24))

六、普利姆算法代码实现:package Algorithm.Prim;import java.util.Arrays;public class Prim { public static void main(String[] args) { MGraph graph = new MGraph(7); MinTree minTree = new MinTree(); char[] data ={'A','B','C','D','E',

2021-11-28 23:22:13 830

原创 高龄白菜java学习第105天(java数据结构和算法(23))

四、KMP算法kmp算法的学习主要参考了sofu6博主的帖子,链接如下: KMP算法详解五、贪心算法思路分析1、取一轮中包含覆盖地区最多的key2、在下一轮把已覆盖的地区从地区集合中去掉,直到地区集合为空代码实现:package Algorithm.GreedyAlgorithm;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.Map;p

2021-11-27 21:30:57 306

原创 高龄白菜java学习第104天(java数据结构和算法(22))

第八章:十大算法一、二分查找(非递归)注:使用二分查找的前提是一个有序数组package Algorithm;//二分查找的非递归实现public class BinarySearchNoRecursion { public static void main(String[] args) { int[] arr = {3,7,11,46}; int index = binarySearch(arr, 11); System.out.pri

2021-11-25 22:00:56 2572 3

原创 高龄白菜java学习第103天(java数据结构和算法(21))

第七章:图#### 一、图的创建思路分析1、用一个String数组保存顶点2、用一个二维数组保存邻接矩阵3、通过方法实现顶点之间边的添加和计数package Graph;import java.util.ArrayList;import java.util.Arrays;//图public class Graph { private ArrayList<String> vertexList;//存储顶点 private int[][] edg

2021-11-23 22:44:45 466

原创 高龄白菜java学习第102天(java数据结构和算法(20))

十、多路查找树B树就是一种多路树插入的具体步骤:(1)(2)(3)B树,B+树,B*树

2021-11-22 23:30:54 198

原创 高龄白菜java学习第101天(java数据结构和算法(19))

九、平衡二叉树左旋转右旋转双旋转上图直接右旋转,最后仍不然是平衡二叉树双旋转的第一旋,目的就是把二叉树转换成"外侧"高度>"内侧"高度的标准格式,方便后续的旋转操作package Tree.AVL;public class demo { public static void main(String[] args) {// int[] arr = {4, 3, 6, 5, 7, 8};//右子树高// int[] arr = {10,

2021-11-21 21:44:20 1819 2

原创 高龄白菜java学习第一百天(java数据结构和算法(18)链表部分复习)

出现的问题1、单链表的反转。需要保存的是当前节点的next节点,而不是当前节点,否则用.属性名的方式修改next域之后,原链表仍然会断掉2、从尾到头打印链表这个题目中不能在for循环当中作栈的pop操作,因为stack的size是会发生变化的3、双链表自我删除时,temp.next.pre==temp.pre需要加判断来避免要删除的是最后一个节点### 4、环形链表的构建时,For循环的条件取值需要注意,保障临时指针,在首节点first的取值之前(i==1),是不参与构建的5、约瑟夫问题之

2021-11-20 16:36:28 440

原创 高龄白菜java学习第九十八、九天(java数据结构和算法(17))

文件的压缩和解压(其余部分复用上面) //将一个文件压缩 /** * @param srcFile 要压缩的文件的全路径 * @param dstFile 压缩后要保存在哪里的全路径 */ public static void zipFile(String srcFile, String dstFile) throws IOException { FileInputStream is = null; FileOut

2021-11-19 22:55:05 775 1

原创 高龄白菜java学习第九十七天(java数据结构和算法(16))

1、赫夫曼编码2、使用赫夫曼编码生成编码数据3、将编码数据解压回原文压缩思路分析解压思路分析1、把压缩后得到的byte转换为二进制字符串2、把字符串按照指定的编码进行解码(把赫夫曼编码表进行一次调换,因为要反向查询)3、创建一个集合存放byte4、通过newString方法把原字符串对应的byte数组转回字符串package Tree.HuffManTree.HuffManCode;import java.util.*;import static java.lang.In

2021-11-17 23:42:37 893

原创 高龄白菜java学习第九十六天(java数据结构和算法(15))

七、赫夫曼树代码实现package Tree.HuffManTree;import java.util.ArrayList;import java.util.Collections;public class HuffManDemo { public static void main(String[] args) { int[] arr = {13,7,8,3,29,6,1}; Node root = createHuffManTree(arr)

2021-11-16 23:10:20 626

原创 高龄白菜java学习第九十四、五天(java数据结构和算法(14))

四、顺序存储二叉树代码实现package Tree.BinaryTree;//顺序存储二叉树public class ArrBinaryTree { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 6, 7}; ArrTree tree = new ArrTree(arr); tree.preOrder(); System.out.pr

2021-11-14 22:27:25 703

原创 高龄白菜java学习第九十二、三天(java数据结构和算法(13))

第六章:树一、二叉树思路分析节点提供具体实现方法,树实现接口调用二、查找指定节点思路分析三、二叉树删除节点课后作业:代码实现package Tree.BinaryTree;public class Demo01 { public static void main(String[] args) { //创建一棵二叉树 BinaryTree binaryTree = new BinaryTree(); //创建需要

2021-11-12 23:19:15 731 1

原创 高龄白菜java学习第九十一天(java数据结构和算法(12))

四、斐波那契查找(黄金分割法)思路分析即:数组长度不足时补足,然后用特殊mid值做递归代码实现package Search.fib2;import java.util.Arrays;public class FibonacciSearch2 { public static int maxSize = 20;//确定斐波那契数组的大小 public static void main(String[] args) { int[] arr = {1, 3, 14,

2021-11-11 22:59:35 385

原创 高龄白菜java学习第九十天(java数据结构和算法(11))

第三章:查找算法在java中,常用的查找有4种线性查找、二分查找/折半查找、插值查找、斐波那契查找一、线性查找package Search;import java.util.Arrays;//线性查找public class SequenceSearch { public static void main(String[] args) { int[] arr = {2,46,12,77,30}; System.out.println(Arrays.t

2021-11-09 22:51:55 242

原创 高龄白菜java学习第八十九天(java数据结构和算法(10))

快速排序代码实现package Sort;import java.util.Arrays;//快速排序public class QuickSort { public static void main(String[] args) { int[] arr = {-9,78,0,23,-567,70}; quick(arr,0, arr.length-1); System.out.println(Arrays.toString(arr));

2021-11-08 23:03:31 492 1

原创 高龄白菜java学习第八十八天(java数据结构和算法(9))

1

2021-11-07 21:53:50 178

原创 高龄白菜java学习第八十七天(java数据结构和算法(8))

package Recursion;//八皇后问题public class EightQueen { //定义一共有多少个皇后 static int max = 8; //定义一个存放皇后位置的数组 static int[] arr = new int[max]; static int count=0; public static void main(String[] args) { check(0); } //打.

2021-11-06 23:10:45 5474 6

原创 高龄白菜java学习第八十六天(java数据结构和算法(7))

package Stack.PolandNotation03;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Stack;public class demo03 { public static void main(String[] args) { //完成一个中缀转后缀的功能 //1+((2+3)*4)-5 => .

2021-11-04 22:41:24 91 1

原创 高龄白菜java学习第八十五天(java数据结构和算法(6))

package Stack.PolandNotation;import java.util.ArrayList;import java.util.List;import java.util.Stack;public class demo03 { public static void main(String[] args) { //先定义逆波兰表达式 //(3+4)*5-6 ==> 34+5*6- String suffi...

2021-11-03 23:12:41 156 1

原创 高龄白菜java学习第八十四天(java数据结构和算法(5))

1

2021-11-02 22:40:17 67

原创 高龄白菜java学习第八十三天(java数据结构和算法(4))

2021-11-01 23:23:09 74

原创 高龄白菜java学习第八十二天(java数据结构和算法(3))

1

2021-10-29 23:41:05 66

原创 高龄白菜java学习第八十一天(java数据结构和算法(2))

2021-10-26 23:49:07 88

原创 高龄白菜java学习第八十天(java数据结构和算法(1))

2021-10-25 22:23:57 133 1

原创 高龄白菜JAVA学习第七十九天(Redis(1))

一、NoSql1、缓解CPU和内存压力2、缓解IO压力非关系型数据库,不依赖业务逻辑方式进行存储,以简单的key - value方式存储二、Redis概述和安装1、概述2、安装3、相关知识默认16个数据库,默认使用0号库,使用命令select dbid来切换数据库dbsize 查看当前库key的数量flushdb 清空当前库flushall 通杀全部库Redis单线程+多路io服用技术当前无返回结果时,CPU继续做其他事情不等待三、常用操作1、Redis 键的操作

2021-10-08 22:45:06 106

原创 高龄白菜JAVA学习第七十八天(Git)

一、git使用git工作机制工作区暂存区=本地库==========远程库git常用命令1、在对应的盘符中右击进入git bash,输入git init后生成.git2、git add 提交工作区的文件到暂存区,可以用git rm将暂存区中的文件删除3、git commit -m ”日志信息“ 文件名 提交到本地库4、git中修改的提示:1行新增,1行删除5、git reset --hard 版本号 版本穿梭二、git分支1、分支切换2、分支合并..

2021-09-25 22:00:50 117 1

原创 高龄白菜JAVA学习第七十七天(Mybatis(10)mybatis运行原理)

1

2021-09-24 07:51:13 55

原创 高龄白菜JAVA学习第七十六天(Mybatis(9)Mybatis-Spring整合)

一、

2021-09-22 22:31:42 64

原创 高龄白菜JAVA学习第七十五天(Mybatis(8)动态sql:内置参数|缓存)

一、内置参数bind绑定sql标签二、缓存

2021-09-17 23:36:54 80

原创 高龄白菜JAVA学习第七十四天(Mybatis(7)鉴别器|动态sql:if/trim/choose/set/foreach)

1

2021-09-15 07:31:23 55

原创 高龄白菜JAVA学习第七十三天(Mybatis(6)resultmap:assocation延迟加载|collection封装规则/分步查询/延迟加载|fetchType)

二、collection定义关联集合封装规则场景二:查询部门信息的时候将部门对应的员工信息也查询出来collection的分步查询

2021-09-12 23:40:40 94

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除