自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 问答 (1)
  • 收藏
  • 关注

原创 ThreadLocal 介绍与核心方法源码

​ ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问(通过get和set方法访问)时能保证各个线程的变量相对独立于其他线程内的变量。ThreadLocal实例通常来说都是private static类型的,用于关联线程和线程上下文。**得知ThreadLocal 的作用是:**提供线程内的局部变量,不同的线程之间不会相互干扰,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或组件之间一些公共变量传递的复杂度。

2022-10-28 10:09:42 3369 2

原创 MySQL自定义变量自增——@rownum:= @rownum+1

初识Mysql自定义变量有时候一张表虽然设置了ID自增,但是经过一系列业务增删骚操作后自增的ID也不是那么有序,MySQL中又没有获取行号的函数,因此我们需要通过一些自定义语句来进行获取。通常的做法是:通过定义自定义变量@rownum来保存表中的数据。通过赋值语句@rownum:=@rownum + 1 来累加达到递增行号的需求注意:@rownum 是自定义变量而不是Mysql的函数,所以名字是可以随便取的比如@adc@行号@rowNo例如: SELECT @rownum := @ro

2022-04-28 16:54:09 16106 4

原创 MySQL数据库进阶(索引,锁,SQL优化)

MySQL优化索引什么是索引?哪些情况需要创建索引?哪些情况不需要创建索引?索引什么是索引?索引是一种排好序的快速查找的数据结构。它帮助数据库高效的查询数据 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式指向数据,这样就可以在这些数据结构上实现高效的查找算法。哪些情况需要创建索引?主键自动创建唯一索引频繁作为查询条件的字段应该创建索引查询中与其他表关联的字段,外键关系建立索引频繁更新的字段不是花创建索引为什么:因为每次更新了不单单是更新了记录(

2022-01-27 22:07:42 3007

原创 ngrok免费内网穿透服务搭建教程

ngrok 内网穿透进入ngrok官网注册下载ngrok计算机授权启动服务远程连接建立成功测试ngrok的一些细节进入ngrok官网注册https://ngrok.com/首先需要注册一个账号注册账号时可能会刷新不出验证码,这里可能需要挂代理下载ngrok注册好之后就可以根据系统下载了计算机授权在当前目录下 cmd官网拿到个人令牌进行授权就是这一串token了(目前我的操作系统是windos就不需要复制./,Linux、mac等操作系统需要加./)在程序目录下直接复制回

2021-12-17 22:06:51 3512

原创 VUE cli 脚手架搭建VUE项目

VUE cli 搭建VUE.js入门检查node.js是否安装配置taobao镜像全局安装脚手架创建vue项目vue项目初始化成功运行项目运行成功VUE.js入门官网:https://cn.vue.js.org/检查node.js是否安装npm -v配置taobao镜像经过下面的配置,所有的npm install 都会经过淘宝的镜像地址下载npm config set registry https://registry.npm.taobao.org全局安装脚手架npm install

2021-12-15 22:10:22 1032

原创 Ali Cloud Linux 支持中文

汉化Linux系统yum install -y langpacks-zh_CN # centos8 与 redhat8 中文语言包sed -i 's/LANG=.*/LANG="zh_CN.UTF-8"/g' /etc/locale.conf # 修改为中文,/g 作用于双引号不被解析source /etc/locale.conf # 立即生效汉化man//获取安装包 # wget https://src.fedoraproject.org/repo/pkgs/man-page

2021-12-14 21:32:49 1338

原创 MySQL基础(CRUD,联表,MySql约束,事务)

MysqL数据库Mysql常用数据类型字符串(char、varchar)字符串使用细节日期类型的使用修改表-基本介绍CRUD(基本使用)INSERT 语句INSERT 语句的细节UPDATE 语句UPDATE 语句的细节DELETE 语句DELETE 语句的细节*SELECT 语句SELECT WHERE子句常用运算符SELECT 使用order by子句排序SELECT grouo by子句分组增强group by 的使用函数统计/合计函数统计函数 - count合计函数 - sum、avg,MAX/mi

2021-12-05 20:14:31 174

原创 安装Node.Js

Node.Js 安装步骤1、Node.Js官网下载安装包2、打开安装包3、CMD检查版本号3、配置npm在安装全局模块时的路径和缓存cache的路径4、测试1、Node.Js官网下载安装包https://nodejs.org/en/安装包:2、打开安装包无脑Next安装3、CMD检查版本号以管理员身份运行CMD(Win+R)输入cmd打开3、配置npm在安装全局模块时的路径和缓存cache的路径执行成功。然后在环境变量 -> 系统变量中新建一个变量名为 “NODE_PATH

2021-11-20 14:21:23 465

原创 JAVA集合

JAVA集合集合的框架体系单列集合Collection常用方法Iterator 迭代器迭代器的使用增强for循环遍历List接口方法List的三种遍历方式{ArrayList,LinkedList,Vector}集合结合冒泡排序,根据价格从小到大排序ArraryList的注意事项ArrayList底层结构和源码分析Vector的注意事项Vector底层结构和ArrayList的比较LinkedList的底层结构LinkedList的全面说明LinkedList的底层操作机制代码模拟双向链表LinkedLis

2021-11-07 20:49:27 103

原创 云服务器ECS Linux系统下安装RabbitMQ服务

Linux安装RabbitMQ服务什么是RabbitMQ?下载erlang包下载RabbitMQ连接Linux服务器新建文件夹并赋权传输文件安装erlang安装erlang需要环境依赖安装RabbitMQ启动rabbitMQ开启web管理界面rabbitMQ常用指令添加新的用户并赋权开放防火墙和端口访问Web页面什么是RabbitMQ?RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在

2021-11-04 21:10:28 2284 1

原创 利用宝塔面板搭建Linux云服务器Web环境

Linux服务器部署服务器安全组开放端口重置实例密码进入宝塔官网安装SSH工具输入命令进入宝塔面板添加站点测试访问服务器安全组开放端口进入阿里云官网:https://www.aliyun.com/activity/1111/ecs?utm_content=se_1010448611登录进入控制台选择ECS云服务器选择对应服务器(实例)进入安全组按需添加放行端口,入方向、出方向统统放行重置实例密码放行完端口返回实例(服务器)控制面板重置实例密码,重置后重启服务器,密码牢记,是连接lin

2021-11-04 11:19:49 2651 1

原创 JAVA算法——插值查找

插值查找插值查找注意事项插值查找算法原理介绍二分查找演变为插值查找插值查找注意事项对于数据量比较大,关键字分布比较均匀的查找表来说,采用插值查找,速度较快。关键字分布不均匀的情况下,该方法不一定比二分(对分、折半)查找要好插值查找算法原理介绍插值查找算法类似于二分查找,不同的是插值查找每次从自适应mid处开始查找。将折半查找中的求mid索引公式,low表示左边索引left,high表示右边索引right,key就是二分查找讲的findVal二分查找演变为插值查找插值索引:int mid

2021-11-01 21:46:01 286 1

原创 JAVA数据结构与算法——稀疏数组

稀疏数组定义稀疏数组的处理方法是:稀疏数组举例说明:定义稀疏数组可以看做是普通数组的压缩,但是这里说的普通数组是值无效数据量远大于有效数据量的数组当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组稀疏数组的处理方法是:记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及值的记录在一个小规模的数组中,从而缩小程序的规模稀疏数组举例说明:左:原始二维数组右:稀疏数组稀疏数组第一行记录原始数组有几行几列,之值记录原始数组共有多少个非零的值.

2021-11-01 19:27:43 159

原创 弄懂 JRE、JDK、JVM 之间的区别与联系

JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心,具体的下文会详细说明。JRE :英文名称(Java Runtime Environment),我们叫它:Java 运行时环境。它主要包含两个部分,jvm 的标准实现和 Java 的一些基本类库。它相对于 jvm 来说,多出来的

2021-11-01 17:01:48 113

原创 二分查找算法递归方式并完善

二分算法算法思想二分算法步骤描述二分查找算法讨论:优点缺点二分查找代码缺陷改进方法提出问题❓改进思路代码实现算法思想又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。折半查找法的优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的

2021-10-30 19:59:59 208

原创 JAVA数据结构——树

数据结构-——树为什么需要树这种数据结构?树的基本概念树的术语二叉树的概念前序后续中序遍历二叉树为什么需要树这种数据结构?数组存储方式:增删效率慢链式存储方式:改查效率慢树能提高数据存储,读取的效率,很多的集合的底层就是用的树树的基本概念树是数据元素间具有层次关系的非线性结构,是由n个结点构成的有限集合,结点数为0的树叫空树。一个非空树有且仅有一个根结点,其余结点可以分为m个不相交的有限集合,每个集合又构成一棵树,叫根结点的子树。树具有“一对多”的逻辑对应关系。树的术语结点:构成树的

2021-10-30 16:38:25 319

原创 JAVA数据结构——栈

数据结构栈栈的介绍出入栈的概念(如图所示)入栈演示:出栈演示:栈的应用场景数组模拟栈的思路分析图代码实现栈实现综合计算器思路分析代码实现栈的介绍栈的英文为(stack)栈是一个先入后出的(FILO-First In Last Out)的有序列表栈(stack)是限制线性表中元素插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的的一端,称为栈顶(top),另外一端为固定的一端,称为 栈底(Bottom)根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶

2021-10-30 15:21:11 149

原创 JAVA数据结构——链表

JAVA数据结构之链表链表(Linked List)介绍单链表添加(创建)节点以及遍历链表的思路单链表按顺序插入节点的思路修改节点功能从单链表中删除一个节点的思路链表(Linked List)介绍链表是有序的列表,但是它再内存中是存储如下小结链表是以节点的方式来存储,是链式存储每个节点包含data域,next域:指向下一格节点.如图:发现链表的各个节点不一定是连续存储(存放)。如110next指向180,180next指向130链表分带头节点的的链表和没有头节点的链表,根据实际的需求来确定

2021-10-29 19:53:22 155

原创 JAVA数据结构——队列

数据结构学习队列数组模拟环形队列使用数组模拟环形队列思路分析1、front变量的含义:2、rear变量的含义 :3、判断条件:举个例子来说明一下:4、队列中数据的有效个数代码队列队列是一个有序列表,可以用数组或是链表来实现。 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出队列分队列头(front),队列尾(rear)应用场景:门诊叫号,银行叫号数组模拟环形队列对队列进行入队操作时,队头指针不变,队尾指针后移一位,对队列进行出队操作时,队头指针后移一位,队尾指针不变,通过

2021-10-29 15:46:48 251

转载 Javascript富文本转字符串

处理富文本,富文本转字符串(删除&apos"等)function myTooltip(value) { let length = 10, target = 'open'; var _length = $.common.isEmpty(length) ? 20 : length; var _text = ""; var _value = $.common.nullToStr(value); var _target = $.common.isEmpty(targ

2021-10-29 10:40:00 1492

原创 MySQL模糊查询多表查询

模糊查询WHERE CONCAT(art_forum.Title,art_forum.Content) LIKE '%测试%'//模糊查询Title和Content两个字段 CONCAT是将两个字段内容拼接起来MySQL视图查询(视图多表查询)SELECT `art_homepagearticle`.`id` AS `id`, `art_homepagearticle`.`Title` AS `Title`, `art_homepagearticle`.`Content` AS `Conte

2021-10-29 10:37:33 1119

原创 Spingboot完成发送QQ邮件任务

JAVA开源框架学习笔记Springboot实现QQ邮件发送任务导入开发jar包SpringBoot发送QQ邮件实现类Springboot实现QQ邮件发送任务导入开发jar包 <dependency> <groupId>javax.mail</groupId> <!--邮件发送 --> <artifactId>mail</artifactId> <

2021-10-29 10:35:20 72

原创 冒泡排序算法优化和性能测试

1.冒泡排序(从小到大) 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个,即需要进行length-1次。 第一次是对n个数进行n-1次比较,进行到最后第n个的一个是最大的; 第二次是对n-1个数进行n-2次比较,进行到最后第n-1个的一个是最大的; ..

2021-10-29 10:16:46 159

原创 2020数据库技术基础课程笔记

查看当前服务器下的所有数据库 show databases;查看当前数据库下已有的数据表 show tables;删除数据库 drop database db_name;1.创建数据库 create database db_name;2.打开数据库再创建表 use db_name;3.创建数据库表create table reader(readerID char(10) not null primary key, name

2021-09-10 20:53:56 119

空空如也

空空如也

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

TA关注的人

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