自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(267)
  • 资源 (9)
  • 收藏
  • 关注

原创 MySQL专题

目录1、描述一下数据库事务隔离级别?2、MVCC的实现原理3、mysql幻读怎么解决的4、sql join原理?5、说明一下数据库索引原理、底层索引数据结构,叶子节点存储的是什么,索引失效的情况?6、mysql如何做分库分表的?7、数据存储引擎有哪些?8、描述一下InnoDB和MyISAM的区别?9、描述一下聚簇索引和非聚簇索引的区别?10、事务有哪些隔离级别,分别解决了什么问题?11、描述一下mysql主从复制的机制的原理?mysql主从复制主要有几种模式?12、如何优化sql,查询计划的结果中看哪些些关

2021-09-01 14:49:34 355 1

原创 spring 面试专题

目录1.谈谈Spring IOC的理解,原理与实现?2.谈一下spring IOC的底层实现3.描述一下bean的生命周期 ?4.Spring 是如何解决循环依赖的问题的?4.1缓存的放置时间和删除时间5.Bean Factory与FactoryBean有什么区别?6.Spring中用到的设计模式?7.Spring的AOP的底层实现原理?8.Spring的事务是如何回滚的?9.谈一下spring事务传播?答题技巧:总:当前问题回答的是那些具体的点分:以1,2,3,4,5的方式分细节取描述相关的知识点

2021-08-31 11:35:33 418

原创 java中常见的锁

目录synchronizedsynchronizedsynchronized 加锁 this 和 class 的区别!

2021-08-26 10:51:42 285

原创 JVM 【汇总】

Java 8 的内存结构

2021-08-16 16:19:51 125

原创 HttpClient、OKhttp、RestTemplate技术选型

目录简介推荐文章简介实际开发过程中我们经常会进行远程http请求的调用,而HttpClient、OKhttp、RestTemplate就是最常见的三种方式推荐文章基于springboot的RestTemplate、okhttp和HttpClient对比HttpClient、OKhttp、RestTemplate接口调用对比,选择一个优秀的 HTTP Client 的重要性放弃 okhttp、httpClient,选择了Retrofit这个牛逼的神仙工具!spring-boot项目整合Retr

2021-07-22 17:45:57 1585

原创 List、Set 元素转化为逗号分隔的字符串的几种方式

目录简介常见的方式Demo简介实际开发过程中我们经常会将List、Set的元素转化为逗号分隔的字符串,但是你知道有哪些常见的方式呢?常见的方式方式一:【推荐】String.join(",", list);方式二:list.stream().collect(Collectors.joining(","));方式三:guava的JoinerJoiner.on(",").join(list);Demopackage com.it;import com.google.comm

2021-07-22 16:17:22 2883

原创 Redis 持久化

目录前言RDB 持久化 (Redis默认持久化方式)配置创建快照的方式优缺点 (官网)优点缺点AOF持久化 (Append Only File)配置开启AOF持久化设置同步频率 (使用默认,不需要修改)重写/压缩AOF持久化优化优缺点 (官网)优点缺点如何选择合适的持久化方式参考前言Redis 为什么需要持久化?Redis 是内存型数据库,为了以下场景中重用数据,需要将内存中的数据持久化到硬盘上。1、重启机器、机器故障之后恢复数据2、为了容灾将数据备份到一个远程位置(例:通过Linux的

2021-07-15 16:11:21 150

原创 Redis 内存淘汰策略

目录前言内存淘汰策略设置Redis最大内存设置内存淘汰策略参考文章前言如何设置Redis的内存大小?当内存满了之后,Redis有哪些内存淘汰策略?内存淘汰策略设置Redis最大内存在配置文件redis.conf 中,可以通过参数 maxmemory <bytes> 来设定最大内存:不设定该参数默认是无限制的,但是通常会设定其为物理内存的四分之三(一般为1~10G之间,设置太大可能会导致rdb文件比较大,从而影响数据恢复的速度)。设置内存淘汰策略当现有内存大于 maxmemo

2021-07-07 16:21:15 121 1

原创 Redis 过期删除策略

目录前言Redis键的过期时间设置键的过期时间移除键的过期时间查询键的剩余生存时间Redis过期时间的判定过期删除策略定时删除惰性删除定期删除Redis过期删除策略内存淘汰策略设置Redis最大内存设置内存淘汰策略参考文章前言如何设置Redis键的过期时间?设置完一个键的过期时间,到时后这个键还能获取到吗?假如获取不到那这个键还占据着内存吗?如何设置Redis的内存大小?当内存满了之后,Redis有哪些内存淘汰策略?Redis键的过期时间设置键的过期时间Redis提供了四个命令来设置过

2021-07-07 11:54:36 276

原创 Redis 数据结构

目录前言简介五种基础数据结构复杂的数据结构命令查询所有命令五种基础数据结构string初始化字符串获取字符串的内容获取字符串的长度获取子串覆盖子串追加子串计数器过期和删除list负下标队列/堆栈长度随机读修改元素插入元素删除元素定长列表快速列表hash增加元素获取元素删除元素判断元素是否存在计数器扩容缩容set增加元素读取元素删除元素判断元素是否存在sortedset增加元素长度删除元素计数器获取排名和分数根据排名范围获取元素列表根据score范围获取列表根据范围移除元素列表跳跃列表参考文章前言网上有

2021-07-06 15:43:59 275

转载 Docker 安装 Redis 【单机版】

目录前言启动docker拉取Redis镜像创建本地redis挂载目录创建redis.conf文件修改redis.conf文件创建redis容器启动创建的redis容器开启防火墙6379端口本地连接测试连接错误前言在微服务大行其道的时代,docker技术成了程序员的基本技能。本文讲解如何在docker上安装单机版Redis。首先我们准备一个docker环境:CentOS7 安装 Docker启动docker查看docker状态systemctl status docker如图发现docke

2021-06-22 15:30:27 611

原创 CentOS7 安装 Docker

目录前言Docker支持的CentOS版本安装查看内核版本移除旧的版本安装一些必要的系统工具添加软件源信息更新 yum 缓存安装 Docker-ce启动 Docker 后台服务测试运行 hello-world查看docker状态关闭docker重启docker镜像加速删除 Docker CE前言在微服务大行其道的时代,Docker是我们经常使用的一种技术。本文最要讲解怎样在CentOS7上安装Docker。Docker支持的CentOS版本CentOS 6.5 (64-bit) 或更高的版本

2021-06-17 14:49:15 511 1

原创 Linux 搭建分布式缓存Redis集群【Cluster】

目录Redis 集群简介下载 & 安装 Redis (单机)搭建 Redis 集群手动方式搭建启动节点节点握手分配槽位主从复制自动方式搭建参考Redis 集群简介Redis Cluster 即 Redis 集群,是 Redis 官方在 3.0 版本推出的一套分布式存储方案。完全去中心化,由多个节点组成,所有节点彼此互联。Redis 客户端可以直接连接任何一节点获取集群中的键值对,不需要中间代理,如果该节点不存在用户所指定的键值,其内部会自动把客户端重定向到键值所在的节点。Redis 集群是一

2021-06-16 19:54:28 453 1

原创 Linux 把一台服务器上的文件拷贝到另一台服务器上命令

目录前言拷贝文件将本地服务器文件拷贝到远程服务器从远程服务器将文件拷回本地服务器拷贝文件夹将本地服务器文件夹拷贝到远程服务器从远程服务器将文件夹拷回本地服务器前言在Linux系统上安装软件搭建集群时,我们可以把一台服务器安装好后直接通过命令拷贝到另外的服务器上,不需要在另一台服务器上再重新安装一遍,这样可以减少安装过程的错误率。所以本文演示相关命令拷贝文件将本地服务器文件拷贝到远程服务器scp 文件名 用户名@计算机IP或者计算机名称:远程路径scp /etc/profile root@19

2021-06-16 10:44:24 9620

原创 Linux 安装 Redis 【单机版】

目录前言Redis安装下载包解压包查看README.md (了解)编译安装配置环境变量前言本文演示在CentOS7上安装Redis-5.0.9RedisRedis官网所有release版本安装下载包方式一:下载包后通过FTP软件上传方式二:使用wget命令下载 (本文采用方式)进入/usr/local目录下cd /usr/local使用wget命令下载包wget http://download.redis.io/releases/redis-5.0.

2021-06-11 11:29:11 363

原创 Linux 安装 JDK1.8

目录前言JDK下载安装前言本文以在CentOS安装jdk-8u202为例,首先准备一个CentOS7环境,可以参考VMware Workstation Pro 16 安装 CentOS7 (附图文)JDK下载jdk-8u202官网下载地址这里可以下载下来然后通过FTP软件上传到虚拟机中,也可以通过wget命令进行下载本文以第一种方式为例,将下载好的包上传到服务器的/usr/local目录下安装解压安装包tar -zxvf jdk-8u202-linux-x64.tar.gz

2021-06-10 18:04:21 107

转载 虚拟机快照、克隆、集群搭建

目录前言快照创建快照恢复快照快照管理克隆搭建集群前言实际开发过程中有时候我们需要搭建集群或者保存某一时刻虚拟机的状态,这时就会使用到虚拟机快照和克隆。本文以三台机器(1台master 2台slave)为例搭建集群首先我们准备一个虚拟机环境,请参考快照创建快照右键虚拟机,点击快照,然后点击拍摄快照填写名称,点击拍摄快照,这样快照就创建完成了恢复快照当不小心把系统玩坏了就可以通过恢复快照的方式进行恢复右键虚拟机,点击快照,然后点击恢复快照快照管理右键虚拟机,点击快照,然后点击快照

2021-06-10 16:31:45 284

原创 Linux 配置

目录防火墙查询防火墙状态开启防火墙重启防火墙关闭防火墙开机不启动防火墙防火墙查询防火墙状态systemctl status firewalld图中所示为防火墙开启状态开启防火墙systemctl start firewalld重启防火墙systemctl restart firewalld关闭防火墙systemctl stop firewalld开机不启动防火墙systemctl disable firewalld查看开机启动项systemctl list-u

2021-06-10 14:26:09 114

原创 VMware Workstation Pro 16 安装 CentOS7 (附图文)

目录前言安装包VMware Workstation Pro 16CentOS7配置安装配置虚拟机操作系统安装虚拟机操作系统配置网络参考文章前言实际开发过程中我们经常会使用虚拟机,在我们自己学习时可以在自己的电脑上通过VMware Workstation Pro 16 (文中简称VM16)安装CentOS7。本文演示在Win10系统上安装VM16,然后再VM16上安装CentOS7.9.2009。安装包VMware Workstation Pro 16官网地址破解版注:请使用官方正式版,如果只

2021-06-10 11:31:34 1913 3

原创 网络知识【汇总】

目录HTTPTCP / UDPIPHTTPHTTPTCP / UDPTCP UDPIPIP

2021-06-07 15:32:40 116

原创 IO【汇总】

阻塞、非阻塞、多路复用、同步、异步、BIO、NIO、AIO

2021-06-07 11:36:57 48

转载 操作系统【汇总】

硬核操作系统讲解

2021-06-04 17:19:43 51

转载 SpringBoot2.x 整合百度UidGenerator(附源码)

目录前言本文源码UidGenerator是什么UidGenerator的优势整合UidGenerator Maven引入建表SQLapplication.yml实体类mapperservicecontroller重写WorkerIdAssigner接口将uid-generator核心对象装配为spring的bean测试前言实际开发分布式项目过程中我们会遇到分布式id的问题,解决方案有基于数据库、基于雪花算法等等。本文主要介绍基于雪花算法的百度开源UidGenerator项目与SpringBoot2.x

2021-06-03 10:50:54 1075

原创 面试【汇总】

本文主要是收集大佬们总结的面试文章,膜拜大佬,奋力前行!Java面试总结系列

2021-05-21 16:01:10 88

转载 Git commit 规范

目录简介Commit message 的格式HeadertypescopesubjectBodyFooterRevertCommitizen安装validate-commit-msg生成 Change log参考文章简介实际开发过程中少不了使用Git进行代码版本管理,每次代码提交时都需要写Commit message,此时规范就相当重要了,业内做的比较好的,比较具有参考价值的就是Angular的提交。Commit message 的格式Angular提交规范:每次提交,Commit messa

2021-04-16 11:06:21 5188

原创 SpringBoot2.x 参数校验

目录简介Maven依赖SpringBoot2.2.X版本SpringBoot2.3.X版本注解实战测试推荐好文简介实际项目开发中经常会遇到表单提交时的参数校验,最好的处理方式是前后端都进行校验。例如创建商品、订单等等场景。本文主要讲解后端对参数的校验。javax.validation的一系列注解可以帮我们完成参数校验,免去繁琐的串行if校验Maven依赖SpringBoot2.2.X版本<dependency> <groupId>org.springframe

2021-04-13 14:31:00 303

转载 Linux常用命令

目录ls命令cd命令pwd命令mkdir命令rm命令rmdir命令mv命令cp命令cat命令more命令less命令head命令tail命令which命令whereis命令locate命令find命令chmod命令tar命令chown命令df命令du命令ln命令date命令cal命令grep命令wc命令ps命令top命令kill命令free命令ls命令就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等常用参数

2021-04-01 18:59:24 144

原创 Nginx【汇总】

目录推荐文章推荐文章NginxNginx

2021-03-31 17:35:03 62

转载 Linux命令大全

目录系统信息关机 (系统的关机、重启以及登出 )文件和目录文件搜索挂载一个文件系统磁盘空间用户和群组文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消文件的特殊属性 - 使用 "+" 设置权限,使用 "-" 用于取消打包和压缩文件RPM 包 - (Fedora, Redhat及类似系统)YUM 软件包升级器 - (Fedora, RedHat及类似系统)DEB 包 (Debian, Ubuntu 以及类似系统)APT 软件工具 (Debian, Ubuntu 以及类似系统)查看文件内容文本处理字

2021-03-29 17:31:00 123

原创 Spring Cache 【附源码】

目录简介原理篇注解篇实战篇简介Spring Cache并不是一种缓存的实现方式,而是缓存使用的一种方式,其基于Annotation形式提供缓存存取,过期失效等各种能力,这样设计的理由大概是缓存和业务逻辑本身是没有关系的,不需要耦合到一起,因此使用Annotation修饰方法,使得方法中只需要关心具体的业务逻辑,并不需要去关心缓存逻辑。Spring Cache相关实现逻辑都在Spring Context的org.springframework.cache包中,有兴趣可以直接翻阅源代码学习。原理篇

2021-03-25 19:59:39 171

转载 Java 数组转 List 的 4 种方式

目录前言【一】最常见方式(未必最佳)【二】数组转为List后,支持增删改查的方式【三】通过集合工具类Collections.addAll()方法(最高效)问题解答总结前言本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析。【一】最常见方式(未必最佳)通过 Arrays.asList(strArray) 方式,将数组转换List后,不能对List增删,只能查改,否则抛异常。关键代码:List list = Arrays.asList(

2021-03-23 11:19:40 12412

原创 Zookeeper 【汇总】

Zookeeper 总结

2021-02-03 17:32:57 82

原创 Java常用软件官网下载地址【汇总】

目录【前言】【JDK】【开发工具】【IDEA】(推荐)【Eclipse】【STS】 (Spring Tool Suite)【Tomcat】【项目管理工具】【Maven】【版本控制工具】【Git】(推荐)【SVN】【VisualSVN Server】【数据库】【Mysql】【Navicat】(数据库客户端链接工具)【Redis】【zookeeper】【浏览器】【谷歌浏览器】(推荐)【火狐浏览器】【安全终端模拟软件】【Xshell 7】(推荐)【SecureCRT】【FTP软件】【XFtp】【Postman】【

2021-02-02 15:20:16 25102

原创 NotePad++配置

目录【前言】【官网】【颜色设置】【背景色和文本颜色设置】【当前行颜色设置】【行号及背景色设置】【插件】【JSON viewer】【前言】NotePad++ 使我们经常使用的文本编辑器,它比Windows系统自带的notepad强大很多,但是刚下载下来的NotePad++是白底黑字,本文主要介绍NotePad++相关配置【官网】官网下载地址下载后直接安装即可【颜色设置】【背景色和文本颜色设置】设置 – 语言格式设置效果如下【当前行颜色设置】效果如下:【行号及背景色设置】

2021-01-22 11:22:59 563

原创 【二】PowerDesigner16.5 设置表

一、设置表的存储引擎和编码格式1、打开DataBase中的Edit Current DBMS,如下图2、找到Scrip – Object --Table-- Options。将ENGINE = %s : list = BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM, default = InnoDBDEFAULT CHAR...

2021-01-21 19:08:51 1033

原创 【一】PowerDesigner16.5入门

1:入门级使用PowerDesigner软件创建数据库(直接上图怎么创建,其他的概念知识可自行学习)我的PowerDesigner版本是16.5的,如若版本不一样,请自行参考学习即可。(打开软件即是此页面,可选择Create Model,也可以选择Do&amp;amp;amp;amp;nbsp; Not&amp;amp;amp;amp;nbsp; Show page Again,自行在打开软件后创建也可以!完全看个人的喜好,在此我在后面的学习中不在显示此页面...

2021-01-21 19:08:28 4663 3

原创 Git 安装与配置

目录【安装 Git】【windows配置git SSH服务】【配置全局用户名和邮箱】【安装 Git】下载地址:Git官方下载地址点击安装, 然后下一步, 直到下面这个页面建议: 按照上面所示方式选中复选框 ;点击下一步, 直到出现这个页面:建议: 这个页面是选择git使用的命令行, 建议使用第一个git自带的;点击下一步, 直到出现下面这个页面:建议: 这个是选择行结束符, windows与linux行结束符不一致; 建议选择第一个, 这样git会自动转换;点

2021-01-15 17:02:49 227

原创 PostMan【汇总】

目录官网下载、安装使用篇官网官网地址下载、安装官网下载地址此图以Windows 64为例下载完成后直接点击安装即可使用篇以下内容均源于他人博客postman使用【一】导入导出和发送请求查看响应【二】Collection的创建/使用/导出分享等【三】使用数据文件【四】接口测试...

2021-01-15 14:45:53 255 2

原创 日志【汇总】

目录简介推荐文章简介实际开发过程中都会涉及到打印日志,本文主要用来收集汇总关于日志相关的内容和比较好的文章推荐文章为什么阿里巴巴禁止工程师直接使用日志系统(Log4j、Logback)中的 API服务被干爆了!竟然是日志的锅!!教你动态修改日志级别...

2021-01-13 15:27:03 110

原创 加密【汇总】

目录简介BCrypt加密 【推荐使用】MD5 【不推荐使用】简介在实际开发过程中经常会有注册用户的需求,在注册过程中应该将密码进行加密后存入数据库,本文主要讲解BCrypt加密和MD5加密两种方式BCrypt加密 【推荐使用】package com.it.demo;import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;public class BCryptPassword { public

2021-01-13 11:03:26 112

eclipse的SVN插件

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的

2017-10-02

jdk1.8中文.CHM

JDK1.8 API 中文 百度翻译版 java帮助文档 JDK API java 帮助文档 百度翻译 JDK1.8 API 中文 百度翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用百度翻译,非人工翻译。准确性不能保证,请与英文版配合使用

2017-09-26

JAVA_API_1.7中文.chm

java api1.7 中文版,可以帮助你更快地熟悉java,是java日常开发中的好工具,对你java的学习会有帮助......

2017-09-26

tomcat-9.0.0

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

2017-09-26

Tomcat-8.5.20

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

2017-09-26

tomcat-8.0.46

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

2017-09-26

Tomcat-7.0.81

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

2017-09-26

Thinking In Java 第四版(中文版)

书中自有黄金屋,书中自有颜如玉,读书是一种爱好,也是一种品德的修养.学习java是一种技能的掌握,也是思想的升华...

2017-09-25

JD-Eclipse反编译插件

用eclipse进行编码时,经常需要查看一些类的源码,而这些类必须导入源码包才能查看.现在有了反编译插件后可以直接通过这个插件来查看源码

2017-09-25

空空如也

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

TA关注的人

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