自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (3)
  • 收藏
  • 关注

原创 JSON转List<List<Object>的方法

使用fastjson将JSON格式转换成List<List的形式List<List<Object>> tagLists = JSONObject.parseObject(jsonString, new TypeReference<List<List<Object>>>(){});‘Object’ 表示你自己创建的对象 <!--阿里fastjson依赖--> <dependency>

2021-10-21 14:49:58 1358 1

原创 vi编辑模式下上下左右变成ABCD的解决方法

使用 Vi 编辑,若 Vi 的插入模式(Insert Mode)中,上下左右变成了 ABCD,那么可以使用以下命令即可:cp /etc/vim/vimrc ~/.vimrc 修复

2021-09-27 10:47:37 1257

原创 MyBatis 属性加载顺序

MyBatis 属性加载顺序⚠️ 注意:如果一个属性在不只一个地方进行了配置,那么,MyBatis 将按照下面的顺序来加载:首先读取在 properties 元素体内指定的属性。然后根据 properties 元素中的 resource 属性读取类路径下config.properties文件,或根据 url 属性指定的路径读取属性文件,并覆盖之前读取过的同名属性。最后读取作为方法参数传递的属性,并覆盖之前读取过的同名属性。按照优先级排序:方法参数 > 配置文件 > properti

2021-07-26 10:10:52 327

原创 StringJoiner的作用

简单介绍一下StringJoiner的作用先看源码的注解:StringJoiner用于构造由分隔符分隔的字符序列,并且可以选择以提供的前缀开头并以提供的后缀结尾我理解StringJoiner的作用就是:拼接字符串举个例子????:我们有一个人的名字、年龄、性别,想按这种格式在控制台打印[张宇,男,18]按传统的写法就需要手动拼接字符串: public static void main(String[] args) { String name = "张宇";

2021-07-21 20:53:24 282

原创 10分钟入门正则表达式

???? 视频教程奇乐编程学院-10分钟快速掌握转正表达式在线测试网站regex101.com常用命令

2021-07-19 17:54:06 79

原创 zookeeper 的下载与安装 for Mac

1.下载 ????官网地址:https://downloads.apache.org/zookeeper 选择对应的版本下载即可⚠️注意:需要下载后缀带bin的文件2. 安装&配置????点击压缩包安装进入 apache-zookeeper-3.6.3-bin/conf 目录复制 zoo_sample.cfg 并重命名为 zoo.cfgcp -i zoo_sample.cfg zoo.cfg3. 启动????进入apache-zookeeper-3.6.3-bin/

2021-07-14 17:23:11 594

原创 结束端口号8080的命令行(Mac & Linux)

查看占用端口号的进程:lsof -i tcp:8080通过得到的PID结束进程kill 进程号

2021-06-21 13:54:35 263 1

原创 反转单词顺序(面试常见算法题)

反转单词顺序题目描述:解题思路Java代码实现class Solution { public String reverseWords(String s) { // 1.去掉首尾的空格 s.trim(); // 2.定义两个指针方便截取字符串 int fast = s.length() - 1; int slow = fast; // 2.1 定义一个StringBuffer用来存储截取出来的字符串

2021-05-28 08:26:40 154

原创 详解equals()和==以及int和Integer

详细探讨了equals和==在比较int和Integer以及对象之间相互比较的结果,及其原因建议自己敲代码,复现每一种情况,加深了解,彻底搞懂其原理Talk is cheap,Show you the code!import java.util.ArrayList;class Student{ private int id; private String name; public Student(){}; public Student(int id, Strin

2021-05-26 00:46:08 978 1

原创 运行时数据区域详解(JVM第一天)

????运行时数据区域(Runtime Data Area)程序计数器:可以将它看作是Java字节码文件的行号指示器,字节码指示器通过修改这个值来获取下一条需要执行的字节码指令它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复都由程序计数器来实现如果执行的是Java方法:程序计数器记录的是字节码指令的地址如果执行的是Native方法:程序计数器值为Java虚拟机的多线程是通过线程轮流切换,分配处理器时间来实现的,同一时刻,处理器只会执行一条线程中的指令,为了保证切换之后线程能恢

2021-05-22 01:53:04 63 1

原创 用命令行访问百度

用命令行访问百度[root@Alicloud ~]# exec 8<> /dev/tcp/www.baidu.com/80[root@Alicloud ~]# echo -e "GET / HTTP/1.0\n" 1>& 8[root@Alicloud ~]# cat 0<& 8

2021-05-14 08:36:31 1868

原创 图解:Redis集群的三种模式

##Redis集群的三种模式图解主从复制哨兵模式Cluster集群

2021-05-08 09:31:17 124

原创 Redis的持久化机制-带图详解

Redis的持久化机制1.先来说一下为什么要把Redis持久化?因为Redis中的数据都在缓存里面,如果服务器重启或者是宕机,那么Redis的缓存数据将会丢失,为了保障数据安全,所以要将Redis持久化,还有就是持久化方便做数据备份。知道了为什么,下面我们讨论讨论怎么做????2.Redis的两种持久化方式:RDB:RDB通过快照的方式,获取某个时间点上的内存数据的副本,来时AOF:...

2021-05-07 11:00:42 131

原创 C语言 先序 创建二叉树,中序遍历+后序遍历,查找一个数

先定义节点struct tnode{ char data; struct tnode *lchild,*rchild;};1.用先根的方法创建一颗二叉树struct tnode * creatTree(struct tnode *head){ char e; scanf("%c",&e); fflush(stdin); if(e != '#'){ head = (struct tnode *)malloc(sizeof(st

2021-05-07 07:26:33 305

原创 Redis的过期删除策略

Redis的过期删除策略通过上一篇文章,我们知道了,Redis为什么要设置过期时间以及是如何存储过期时间的,那么就产生了一个新问题,过期的缓存数据要如何删除?这篇文章我们就来讨论这个问题Redis常用的过期数据的删除策略有两个:????惰性删除: 指的是只有当取出key的时候才顺便进行过期检查,如果过期就删除,优点:这样消耗的CUP少,因为是顺便一起就检查了,不需要额外读取key消耗cpu缺点:这种懒惰的策略,注定导致很多过期数据都无法被检查,容易堆积导致OOM⏳定期删除: 每隔

2021-05-06 03:12:23 507 1

原创 Redis给缓存数据设置过期时间

1.Redis为什么要给缓存数据设置过期时间?因为Redis的缓存数据是存在内存中的,而内存容量有限,要是缓存数据一直堆积的话,很容易造成内存溢出OOM有的时候是因为业务需求,比如商品秒杀时间结束,缓存数据自动失效,设想一下要是没有过期策略,你就得自己去写逻辑判断2.如何设置过期时间?字符串类型: setex 命令其他类型:expire 命令移除一个键的过期时间: persist 命令3.Redis 是如何判断数据是否过期的呢?Redis 通过一个叫做过期字典(可以看作是

2021-05-06 02:33:16 2721 1

原创 为什么Redis要使用单线程

????为什么Redis要使用单线程?Redis6.0之后为什么又引入了多线程?1.先说说为什么Redis要使用单线程使用单线程模型能带来更好的可维护性,方便开发和调试;使用单线程模型也能并发的处理客户端的请求 (用IO多路复用)Redis 的性能瓶颈都不是 CPU,而是网络I/O延时和内存2.那为啥6.0之后又引入了多线程呢?其实Redis早在4.0就引入了多线程,但是只是加入了一些可以被其他线程异步处理的删除操作,比如UNLINK、FLUSHALL ASYNC 和 FLUSHDB AS

2021-05-06 01:26:33 723

原创 Redis的常用数据结构

Redis的常用数据结构1.stringstring 数据结构是简单的 key-value 类型常用命令: set,get,strlen,exists,dect,incr,setex应用场景 :常用在需要计数的场景,比如用户的访问次数、热点文章的点赞转发数量2.listlist 是双向链表,易于插入删除,但是随机访问比较困难常用命令: rpush,lpop,lpush,rpop,lrange、llen应用场景: 发布与订阅或者说消息队列、慢查询3.hashhas

2021-05-05 19:22:24 462 1

原创 为什么要使用Redis做缓存

为什么不直接访问数据库?要在中间加一个Redis缓存?

2021-05-05 17:02:52 129 1

原创 Redis缓存数据的处理流程

Redis缓存数据的处理流程

2021-05-05 16:47:12 237 2

原创 消息队列RABBITMQ安装部署

标题1.先安装插件yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel安装wgetyum -y install wget2.安装ERLANG环境因为 RabbitMQ 需要 erlang 环境的⽀持,所以必须先安装 erlangyum install erlang检验是否安装成功erl3.安装RabbitMQ下载wget https://git

2021-05-05 12:49:22 459

原创 Linux提示-bash: wget: command not found

wget安装后还显示-bash: wget: command not found原因分析1.没安装wget2.已安装但是安装失败解决方法1.要是没安装就直接安装wgetyum -y install wget2.要是安装过了还是显示-bash: wget: command not found,就说明安装失败,卸载重装!!!# 卸载yum remove wget# 重装yum -y install wget如有错误,欢迎留言指正...

2021-05-05 09:50:48 659

原创 Spring5学习笔记

Spring5学习笔记2.0第1章 引言工厂模式第2章、第一个Spring程序1 软件版本1.JDk1.8+2.Manven3.5+3.IDEA20204.SpringFramework5.142 环境搭建spring的jar包#利用Manven来管理jar包 设置pom文件<!-- https://mvnrepository.com/artifact/org.springframework/spring-context --><dependency&g

2021-05-04 19:33:05 524 3

原创 剑指 Offer 56 - I. 数组中数字出现的次数

数组中数字出现的次数一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。题目解题思路代码class Solution { public int[] singleNumbers(int[] nums) { int x = 0, y = 0, n = 0, m = 1; for(int num : nums) // 1. 遍历异或

2021-05-03 02:18:35 806 1

原创 136. 只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素题目解题思路代码class Solution { public int singleNumber(int[] nums) { int single = 0; for (int num : nums) { single ^= num; } return single; }}如果对你有

2021-05-02 02:52:34 891 1

原创 剑指 Offer 57 - II. 和为s的连续正数序列

输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)题目解题思路代码class Solution { public int[][] findContinuousSequence(int target) { //创建一个list存数组 List<int[]> list = new ArrayList<>(); //当l>=r跳出循环 for (int l

2021-05-02 01:37:16 774 1

原创 算法:和为s的两个数字

和为s的两个数字题目描述: 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。题解:双指针法代码实现class Solution { public int[] twoSum(int[] nums, int target) { int l = 0; int r = nums.length - 1; int sum = 0; while(l != r) {

2021-05-02 00:38:04 777 1

原创 Jmeter下载安装配置详细步骤

Jmeter下载安装配置详细步骤

2021-05-01 23:36:52 992 1

原创 xxxService中的xxxDAO字段找不到主类型

Field xxxDAO in xxx.service.impl.xxxServiceImpl required a bean of type ‘xxx.dao.StockDAO’ that could not be found.????报错截图✅排查看情况应该是注解出错了1.检查Server层@Service注解2.检查DAO层的@Mapper注解3.检查启动类的 @MapperScan注解4.成功解决如果对你有帮助欢迎????留言,如果有错误欢迎留言指正~...

2021-05-01 11:11:37 663 1

原创 逼死强迫症的腾讯网迷你新闻弹窗

强迫症福音:关闭烦人的新闻弹窗进入设置权限设置->资讯提醒->登陆显示"腾讯网迷你版"连带其他的花里胡哨一起给关了????世界终于清净了!!!

2021-04-30 12:23:47 880 3

原创 最好用的Redis可视化插件(Iedis)

分享一款好用的IDEA插件-----Iedis安装登陆(试用30天)使用配置连接欢迎留言分享更多的好用工具????

2021-04-30 10:00:22 2946

原创 云服务器挖矿病毒解毒方案

CPU占用率100% 但是top命令查不出来阿里云服务器不小心中了挖矿病毒,可能是因为连接Redis的时候关闭了防火墙,或者是口令太弱1.先大概还原了病毒攻击思路2.知道它的攻击方式,就可以对症下药了想到了两个解决方法重装系统(方便,但是辛苦配的环境就没了)删除恶意脚本(不好找脚本位置,病毒会隐藏)3.这里我采用了删除脚本的方案先用top命令查看哪个进程占着CPU用 top 命令查看CPU情况改用 pidstat 命令知道了问题进程PID事情就变得好办了,直

2021-04-29 11:26:25 1027 1

原创 Redis数据乱码原因

Redis数据乱码:\xac\xed\x00\x05t\x00\x05myKey情况如下????问题原因数据没有序列化解决办法找到数据源,序列化后再写入Redis

2021-04-29 09:54:13 876 1

原创 org.springframework.data.redis.serializer.SerializationException: Cannot serialize;(无法序列化)

1.报错信息????:2.原因分析:对象没有序列化3.解决方案序列化后在再使用PS:如果对你有帮助,欢迎留言点赞

2021-04-29 09:49:58 1062 2

原创 一个例子让你搞懂序列化

1.什么序列化序列化:把对象转化为可传输的字节序列过程称为序列化。反序列化:把字节序列还原为对象的过程称为反序列化。2.为什么要序列化可能上面的概念不好理解,我们换个角度,先思考为什么需要序列化。其实序列化最终的目的是为了对象可以跨平台存储,和进行网络传输。而我们进行跨平台存储和网络传输的方式就是IO,而我们的IO支持的数据格式就是字节数组。举个例子????:我们要把一架飞机????(一个对象)运送到某个地方,但是因为飞机太大,不能直接整架运走,所以我们需要将它拆解成小部件(序列化),

2021-04-29 09:21:02 821 1

原创 常用的Linux命令及面试题

常用的Linux命令1.文件操作????cd # 进入目录cd .. # 返回上一级目录pwd # 显示工作路径 ls # 查看当前目录下的文件ls -a # 可以显示隐藏文件ls -l # 查看文件详细信息ls -la # 查看所有文件的详细信息cat # 查看文件的全部内容vim # 编辑文件:[i]进入编辑模式;[ESC]后输入[:q]退出 [:wq]保存退出 [:wq!] 强制保存退出morelesstailmkdir # 创建目录rmdir #

2021-04-27 13:47:06 1307 1

原创 GitHub添加公钥(Git绑定GitHub)

本地Git通过添加公钥????绑定GitHub的详细步骤开始之前请确定你已经安装了本地Git,并已经创建了GitHub账号第一步生成本地公钥和私钥ssh-keygen -t rsa -C "注册GitHub使用的邮箱@email.com" 运行截图????第二步:复制公钥SSHvim .ssh/id_rsa.pub 运行截图????第三步:到GitHub上添加公钥最后一步:检查是否添加成功执行命令????ssh -T [email protected]如果成功????

2021-04-26 11:01:01 1225 1

原创 CentOS云服务器安装Maven详细步骤

Linux环境下安装Maven的详细步骤第一步:下载安装包????下载地址????:apache-maven-3.8.1-bin.tar.gz将安装包放置于提前创建好的 /opt/maven⽬录下第二步:解压安装包执行解压命令????tar zxvf apache-maven-3.6.3-bin.tar.gz解压好后????第三步:配置MAVEN加速镜像源修改 /opt/maven/apache-maven-3.6.3/conf/settings.xmlvim /opt/ma

2021-04-26 00:12:07 1474 2

原创 微信小程序开发者文档 开放文档 地址

最好的微信小程序开发参考书籍——微信小程序开发者文档 开放文档微信小程序开发者文档地址????微信官方文档:https://developers.weixin.qq.com/doc

2021-04-24 01:40:02 1857 1

原创 Java服务端获取微信小程序openid(简单实现,搞懂原理)

????在微信小程序login时通过Java后台获取openid闲话少说,直接上代码和视频教程???? 视频教程:Java服务器端获取用户的openid???? 官方文档:微信小程序登陆流程????‍????图解流程原理:小程序端代码<button bindtap="getUserProfile">点击获取用户信息</button>// index.js// 获取应用实例const app = getApp()Page({ data: {

2021-04-24 01:32:40 12890 4

《MyBatis3.5.4官方文档》.pdf

《MyBatis3.5.4官方文档》.pdf

2021-05-06

Java后端开发学习路线-高清.zip

最专业的Java后端开发学习路线

2021-04-13

Navicat 15 fro MySQL

Navicat 15 fro MySQL

2021-04-13

空空如也

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

TA关注的人

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