- 博客(89)
- 资源 (1)
- 收藏
- 关注
原创 获取当年所有工作日及节假日信息
因为业务需求,需要获取当年所有节假日和工作日信息,机缘巧合找到了一个接口,使用还不错,因为有用户量大会导致次数受限,使用跑批入库方案
2023-05-08 11:03:55 1717
原创 怎么看死锁?
show engine innodb status 命令LATESTDETECTED DEADLOCK,就是记录的最后一次死锁信息。这个结果分成三部分:TRANSACTION,第一个事务的信息TRANSACTION,是第二个事务的信息WE ROLL BACK TRA NSACTION (1),是最终的处理结果,表示回滚了第一个事务。第一个事务的信息中:WAITING FOR THIS LOCK TO BE GRANTED,表示的是这个事务在等待的锁信息;index c of ta
2021-12-07 15:35:05 1740
原创 MAC安装maven
maven文件:vim ~/.bash_profile ,增加如下配置export M2_HOME=/Users/XXX/Documeexport PATH=$PATH:$M2_HOME/bin如果每次重新打开窗口都需要重新执行**source ~/.bash_profile**,可以进行如下配置vi ~/.zshrc在文件的末尾添加下面的命令:source ~/.bash_profile然后执行 mvn -v就看到版本了...
2021-08-05 14:43:23 106
原创 ElasticSearch 7.13.1 java中的增删改查
前言:现在大部分博客或者csdn都是老版本的其中很多特性都收到改变,通过一下午的spring官网的钻研,终于通关了es7.13.1的代码实现,闲话不多说pom文件 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>
2021-06-27 17:00:18 644 1
原创 mac docker安装k8s19.7
docker界面操作在弹出的面板左侧选择Kubernetes标签, 右侧勾选Enable Kubernetes,选项 在右下角点击Apply & Restart按钮等待一段时间即可开启k8s安装镜像到github下载’拉取k8s运行所需镜像’的脚本检出如下链接中的github项目https://github.com/AliyunContainerService/k8s-for-docker-desktop进入检出的项目中,切换分支到对应的版本(跟之前安装的docker desktop版
2021-06-07 19:43:11 253
原创 RabbitMQ 简介
1、简介1.1、为什么使用mq主要是解耦,只关心消息的发送和接受1.2、MQ是什么MQ(Message Quene) : 翻译为消息队列,通过典型的生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现系统间解耦。别名为 消息中间件通过利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。基于AMQP协议,erlang语言开发,是部署最
2021-06-04 18:08:06 264 1
原创 linux安装RabbitMQ
下载地址下载地址:https://www.rabbitmq.com/download.html下载的安装包安装# 1.将rabbitmq安装包上传到linux系统中 erlang-22.0.7-1.el7.x86_64.rpm rabbitmq-server-3.7.18-1.el7.noarch.rpm# 2.安装Erlang依赖包 rpm -ivh erlang-22.0.7-1.el7.x86_64.rpm# 3.安装RabbitMQ安装包(需要联网) yum instal
2021-06-04 17:52:20 144
原创 Mac 环境下,怎么安装 RabbitMQ。
一般来说,安装分为两种方式:下载 RabbitMQ 源文件,解压源文件之后进行安装。通过 brew 命令安装。在这里,我当然是推荐使用 brew 来安装,非常强大的 Mac 端包管理工具。如果还没安装 brew 的小伙伴,可以先安装 brew,传送门:https://blog.csdn.net/huanghuang9426/article/details/117551471有了 brew 之后,只需要一个简单的命令就搞定了。brew install rabbitmq安装的路径是
2021-06-04 10:39:56 840
原创 brew安装
brew 是MacOS上的包管理工具,可以简化 macOS 和 Linux 操作系统上软件的安装。1、确认安装rubybrew是ruby开发的,需要确认ruby是否已安装,默认是已经安装的。$ which ruby$ ruby --version2、 安装(较慢)执行命令:ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”目前此命令可用,按提示选择下载源,我
2021-06-04 10:26:07 316
原创 idea插件
1、https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247486586&idx=1&sn=b745f0be1a5fc0160f43625e29df9029&chksm=cea243b1f9d5caa7200950063ae9e1691d3578d46c0b865c8220c8f1e02ed43cb4e586c2524c&cur_album_id=1319419426898329600&...
2021-05-14 17:32:10 177
原创 如何在Mac上查看隐藏文件,四个方法
快捷键打开一个可能包含隐藏文件的文件夹。按Command + Shift +句点(CMD + Shift +。)快捷键。预览活动文件夹中的所有文件。如果要再次隐藏文件,请再次重复上述步骤。终端命令com.apple.finder AppleShowAllFiles -bool true...
2021-05-12 19:40:27 1173
原创 B站视频任意倍速调节调节
点开F12 ,在console选项下输入以下代码,然后回车var o=document.getElementsByTagName("video");for(let i=0,leng=o.length;i<leng;i++){ o[i].playbackRate=2; // 二倍速}```
2021-05-12 13:08:45 1380
原创 力扣-换酒问题
public int numWaterBottles(int numBottles, int numExchange) { int sum = numBottles; while (numBottles >= numExchange) { int t = numBottles / numExchange; sum += t; numBottles = numBottles % numExcha...
2021-05-07 20:10:59 123
原创 为什么 IDEA 建议用 Collections.singletonList(o) 代替 Arrays.asList(o) ?
今天在检查项目代码的时候发现 idea 报了一个⚠️Call to ‘asList’ with only one argument,我点击 quick fixes,idea 让我用 Collections.singletonList()代替Arrays.asList()。Arrays.asList(strArray)返回值是仍然是一个可变的集合,但是返回值是其内部类,不具有add方法,可以通过set方法进行增加值,默认长度是10Collections.singletonList()返回的是不可变的集合
2021-05-07 10:22:08 417
原创 Map.getOrDefault()方法,一点点小坑
getOrDefault(Object key, V defaultValue)如果存在这个key就是使用它的value,不然就时候后面这个,用于替换//使用前map.containsKey("name") ? map.get("") : ""//使用后map.getOrDefault("name","")
2021-05-07 10:00:18 560
原创 汉字转拼音,支持多音字
import java.util.*;import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;imp
2021-04-26 12:01:18 560
原创 IDEA提示代码不规范地方
String concatenation as argument to ‘StringBuilder.append()’ call本来 append 方法就是拼接字符串用的,而参数里面又用了 + 加号来拼接字符串,于是就提示你应该用 append 将这些字符串作为参数来使用
2021-04-25 15:27:10 1758
原创 java.lang.OutOfMemoryError:GC overhead limit exceeded填坑心得
第一步(如果ok了,就别看第二步了):第二步
2021-04-12 14:34:09 70
原创 IT 行业中Dev、RD、CPO、TeamLeader、QA、PM、PO ,HC,TL 分别是什么的简称,他们分别对应的职责是什么?
1、Dev:软件研发技术负责人软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。2、RD:研发(Research and Development)如:软件RD工程师就是软件研发工程师,诸如PHP程序猿,Java程序猿,无论是爱疯的还是安卓的都是属于这一类别。偏向于后端的技术实现。3、CPO:首席产品官(Chief Product Officer)首席产品官把首席技术官(CTO)和首席市场官(CMO)这两个角色合二为一,
2021-04-09 14:28:54 22931
原创 平衡二叉树(AVL树)
介绍平衡二叉树也叫平衡二叉搜索树(Self-balancing binary search tree)又被称为AVL树, 可以保证查询效率较高。具有以下特点:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。代码public class AVLTreeDemo { public static void main(String[] args) { //int[] arr
2021-03-20 13:00:10 73
原创 二叉树与B树
二叉树需要加载到内存的,如果二叉树的节点少,没有什么问题,但是如果二叉树的节点很多(比如1亿), 就存在如下问题:问题1:在构建二叉树时,需要多次进行i/o操作(海量数据存在数据库或文件中),节点海量,构建二叉树时,速度有影响问题2:节点海量,也会造成二叉树的高度很大,会降低操作速度.多叉树在二叉树中,每个节点有数据项,最多有两个子节点。如果允许每个节点可以有更多的数据项和更多的子节点,就是多叉树(multiway tree)2-3树,2-3-4树就是多叉树,多叉树通过重新组织节点,减少树的.
2021-03-20 13:00:04 387
原创 二叉排序树
介绍BST: (Binary Sort(Search) Tree), 对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比当前节点的值大。特别说明:如果有相同的值,可以将该节点放在左子节点或右子节点 public class BinarySortTreeDemo { public static void main(String[] args) { int[] arr = {7, 3, 10, 12, 5, 1, 9, 2};
2021-03-13 15:23:51 187
原创 赫夫曼编码
介绍赫夫曼编码也翻译为 哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式, 属于一种程序算法赫夫曼编码是赫哈夫曼树在电讯通信中的经典的应用之一。赫夫曼编码广泛地用于数据文件压缩。其压缩率通常在20%~90%之间赫夫曼码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,称之为最佳编码原理剖析通信领域中信息的处理方式1-定长编码 import java.io.FileInputStream;import java.io
2021-03-13 14:23:14 1367
原创 赫夫曼树
介绍给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree), 还有的书翻译为霍夫曼树。赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近。路径和路径长度:在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1结点的权及带权路径长度:若将树中结点赋给一个有着某种含义的数值,则这个数值称
2021-03-13 14:18:56 74
原创 堆排序
基本介绍堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 : 没有要求结点的左孩子的值和右孩子的值的大小关系。每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆一般升序采用大顶堆,降序采用小顶堆大顶堆举例说明小顶堆举例说明图例说明代码 import java.util.Arrays;
2021-03-13 14:07:16 77
原创 线索化二叉树
基本介绍n个结点的二叉链表中含有n+1 【公式 2n-(n-1)=n+1】 个空指针域。利用二叉链表中的空指针域,存放指向该结点在某种遍历次序下的前驱和后继结点的指针(这种附加的指针称为"线索")这种加上了线索的二叉链表称为线索链表,相应的二叉树称为线索二叉树(Threaded BinaryTree)。根据线索性质的不同,线索二叉树可分为前序线索二叉树、中序线索二叉树和后序线索二叉树三种一个结点的前一个结点,称为前驱结点一个结点的后一个结点,称为后继结点 public class Thr
2021-03-13 13:51:34 78
原创 二叉树
为什么要使用树数组存储方式的分析:优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低 [示意图]链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接到链表中即可, 删除效率也很好)。缺点:在进行检索时,效率仍然较低,比如(检索某个值,需要从头节点开始遍历)树存储方式的分析能提高数据存储,读取的效率, 比如利用 二
2021-03-13 13:01:38 77
原创 哈希表(散列)
介绍散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。代码有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,名字,住址…),当输入该员工的id时,要求查找到该员工的 所有信息 import java.util.Scanner;public class HashTabDemo {
2021-03-13 12:23:33 104
原创 斐波那契(黄金分割法)查找算法
黄金分割点是指把一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比。取其前三位数字的近似值是0.618。由于按此比例设计的造型十分美丽,因此称为黄金分割,也称为中外比。这是一个神奇的数字,会带来意向不大的效果。斐波那契数列 {1, 1, 2, 3, 5, 8, 13, 21, 34, 55 } 发现斐波那契数列的两个相邻数 的比例,无限接近 黄金分割值0.618代码 import java.util.Arrays;public class FibonacciSearch .
2021-03-13 11:44:07 175
原创 插值查找算法
介绍插值查找(Interpolation Search)是根据要查找关键字key与查找表中最大最小记录的关键字比较后的查找方法举例说明数组 arr = [1, 2, 3, …, 100]假如我们需要查找的值 1使用二分查找的话,我们需要多次递归,才能找到 1使用插值查找算法int mid = left + (right – left) * (findVal – arr[left]) / (arr[right] – arr[left])int mid = 0 + (99 - 0) *
2021-03-13 10:43:22 232
原创 二分查找算法(要求有序)
import java.util.ArrayList;import java.util.List;//注意:使用二分查找的前提是 该数组是有序的.public class BinarySearch { public static void main(String[] args) { // int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 , 11, 12, 13,14,15,16,17,18,19,20 }; // in...
2021-03-13 10:22:12 571
原创 基数排序(桶排序)
属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用基数排序法是属于稳定性的排序,基数排序法的是效率高的稳定性排序法基数排序(Radix Sort)是桶排序的扩展基数排序是1887年赫尔曼·何乐礼发明的。它是这样实现的:将整数按位数切割成不同的数字,然后按每个位数分别比较。基本思想将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后.
2021-03-07 17:25:31 139
原创 归并排序
是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。import java.util.Arrays;//归并排序public class MergetSort { public static void main(String[] args) { int arr[] = { 4, 5,.
2021-03-07 15:01:03 80
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人