自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux 常用查看日志命令--more 命令

命令功能more命令和cat命令一样都是查看文件里的内容,但more可以支持分页查询文件内容,还支持直接跳转行等功能常用命令more +n xxx.log 从第n行开始显示more -n xxx.log 设定每屏显示的行数more +/abc xxx.log 查找文件中第一次出现abc的行,并从该处前两行开始显示ls -l | more -n 分页查看目录下文件命令参数+n 从笫n行开始显示-n 定义屏幕大小为n行+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该

2022-04-14 17:02:34 3290 1

原创 BigDecimal 工具类

import java.math.BigDecimal;import java.math.RoundingMode;/** * 简化BigDecimal计算的小工具类 */public class BigDecimalUtil { /** * 默认除法运算精度 */ private static final int DEF_DIV_SCALE = 10; private BigDecimalUtil() { } /**

2022-04-11 18:20:12 509

原创 IDEA 常用快捷键(详细)

一、常用快捷键Ctrl + F12 弹出当前文件结构层(类的方法属性等),可以在弹出的层上直接输入,进行筛选Ctrl + 左键单击 在打开的文件标题上,弹出该文件路径Ctrl + N 根据输入的 类名 查找类文件Ctrl + D 复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面Ctrl + P 方法参数提示显示Ctrl + Alt + O 优化导入的类,可以对当前文件和整个包目录使用Alt + Insert 代码自动生成,如生成对象的 set / get 方法,构造函数,toSt

2022-04-01 16:33:11 8626

原创 hashCode() 和 equals()相关问题解答

1、equals() 的作用是什么?equals() 的作用是 用来判断两个对象是否相等。equals()定义在JDK的Object.java中。通过判断两个对象的地址是否相等(即,是否是同一个对象)来区分它们是否相等。源码如下:public boolean equals(Object obj) { return (this == obj);}既然Object.java中定义了equals()方法,这就意味着所有的Java类都实现了equals()方法,所有的类都可以通过equal

2022-01-23 00:29:21 240

原创 HashMap遍历、性能、原理以及安全性

HashMap遍历、性能、原理以及安全性HashMap 遍历1.迭代器 EntrySet2.迭代器 KeySet3.ForEach EntrySet4.ForEach KeySet5.Lambda6.Streams API 单线程7.Streams API 多线程性能测试性能原理分析安全性测试1.迭代器方式2.For 循环方式3.Lambda 方式4.Stream 方式小结总结HashMap 遍历HashMap 遍历从大的方向来说,可分为以下 4 类:迭代器(Iterator)方式遍历;For E

2021-12-15 16:25:52 251

原创 rabbitmq-plugins enable rabbitmq_management出现{:query, :rabbit@centos8, {:badrpc, :timeout}}修改主机名

问题:在开启 web 管理插件时出现以下错误究其原因是因为在安装centos设置网络和主机名时修改了主机名,而默认的主机名为localhost.localdomain1.首先查看hostname,输入命令:hostnamectl2.修改/etc/hosts,输入命令:vi /etc/hosts3.修改完成后再次开启 web 管理插件 成功...

2021-11-30 23:57:54 903 1

原创 5种全局ID生成方式、优缺点及改进方案

5种全局ID生成方式、优缺点及改进方案1、全局唯一id介绍全局唯一id特点:2、常见全局唯一id生成策略1、数据库自增长序列或字段生成id2、UUID3、Redis生成ID4、zookeeper生成ID5、Twitter的snowflake算法1、全局唯一id介绍系统唯一id是我们在设计阶段常常遇到的问题。在复杂的分布式系统中,几乎都需要对大量的数据和消息进行唯一标识。在设计初期,我们需要考虑日后数据量的级别,如果可能会对数据进行分库分表,那么就需要有一个全局唯一id来标识一条数据或记录。生成唯一id的

2021-11-30 16:51:09 819

原创 windows系统VMware中安装CentOS8

Windows系统VMware中安装CentOS81、VMware下载2、VMware 安装3、下载CentOS8镜像4、安装CentOS81、VMware下载进入官网的 VMware Workstation Pro 页面,下滑页面点击 试用 Workstation 16 Pro 下方的下载链接,跳转至下载页面。2、VMware 安装打开下载好的 .exe文件, 开始安装,点击下一步勾选许可协议,点击下一步安装位置默认在 C 盘下,在这里我选择安装在 E 盘,安装路径尽量不要有中文,点击下

2021-11-30 14:46:19 474

原创 YAML 文件详解

YAML 文件详解 1、什么是YAML2、基本语法3、数据类型4、文本块5、显示指定类型6、引用7、单文件多配置1、什么是YAMLYAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)的递归缩写。YAML的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。主要强度这种语音是以数据为中心,而不是以标记语言为重心,例如像xml语言就会使用大量的标记。YAML是一个可读性高,易于理解,用来表达数据序列化的格式。它的语法和其

2021-11-29 16:07:07 27638 1

原创 Java 几个常用工具类库

Java 几个常用工具类库1、Apache相关IOUtils类2、Apache相关FileUtils3、StringUtils (org.apache.commons.lang.StringUtils)4、Apache 相关EntityUtils5、Apache相关StringUtils(org.apache.commons.lang3.StringUtils)6、Apache 相关FilenameUtils7、Spring相关的StringUtils(org.springframework.util.St

2021-11-29 14:46:28 603

原创 Java 泛型通配符 T,E,K,V,?

Java 泛型通配符 T,E,K,V,?1、前言2、泛型带来的好处3、泛型中通配符5、Class和 Class区别1、前言Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。2、泛型带来的好处在没有泛型的情况的下,通过对类型 Object 的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转

2021-11-29 11:45:37 84

原创 Oauth2.0实现单点登录的原理流程

Oauth2.0实现单点登录的原理流程1、什么是单点登录2、OAuth2 认证授权的原理流程3、基于 SpringBoot 实现认证/授权4、综合运用1、什么是单点登录1.1 多点登录传统的多点登录系统中,每个站点都实现了本站专用的帐号数据库和登录模块。各站点的登录状态相互不认可,各站点需要逐一手工登录。如下图,有两个术语含义如下:认证(authentication): 验证用户的身份;授权(authorization): 验证用户的访问权限。1.2 单点登录单点登录,英文是 S

2021-11-27 18:05:33 809

原创 SpringBoot 静态获取 bean 的三种方式

SpringBoot 静态获取 bean 的三种方式1、 注解@PostConstruct2、 启动类ApplicationContext3、 手动注入ApplicationContext注意:调用者要被spring管理1、 注解@PostConstruct/** * springboot静态方法获取 bean 的三种方式(一) * @author: fs * @version: 1.1.0 */@Componentpublic class StaticMethodGetBean_1

2021-11-27 18:00:20 241

原创 说说 SpringMVC 工作原理

说说 SpringMVC 工作原理1、SpringMVC流程2、组件说明3、MVC模式4、SpringMVC是什么先看一张SpringMVC的工作原理图:1、SpringMVC流程1、 用户发送请求至前端控制器DispatcherServlet。2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServ

2021-11-27 17:33:27 573

原创 23种设计模式通俗理解

23种设计模式通俗理解1、根据目的来分2、根据作用范围来分3、GoF的23种设计模式的功能1、FACTORY 工厂方法2、BUILDER建造者模式3、FACTORY METHOD抽象工厂4、PROTOTYPE 原型模式5、SINGLETON 单态模式6、ADAPTER 适配器模式7、BRIDGE 桥梁模式8、COMPOSITE合成模式9、DECORATOR装饰模式10、FACADE门面模式11、FLYWEIGHT享元模式12、PROXY代理模式13、CHAIN OF RESPONSIBLEITY责任链模式1

2021-11-27 17:15:29 244

原创 MySQL 性能优化的 9 种姿势

MySQL 性能优化的 9 种姿势1、选择最合适的字段属性2、尽量把字段设置为NOT NULL3、使用连接(JOIN)来代替子查询(Sub-Queries)4、使用联合(UNION)来代替手动创建的临时表5、事务6、锁定表7、使用外键8、使用索引9、优化de的查询语句1、选择最合适的字段属性Mysql是一种关系型数据库,可以很好地支持大数据量的存储,但是一般来说,数据库中的表越小,在它上面执行的查询也就越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度舍得尽可能小。例如:在定

2021-11-27 17:03:18 137

原创 巧用 Java 8 的 Stream 来优化代码,太简洁了

巧用 Java 8 的 Stream 来优化代码,太简洁了!1、流如何简化代码2、什么是流3、如何生成流1.通过集合生成,应用中最常用的一种2.通过数组生成3.通过值生成4.通过文件生成5.通过函数生成 提供了iterate和generate两个静态方法从函数中生成流4、流的操作类型1.中间操作2.终端操作5、流使用1.中间操作2.终端操作6、总结Java8的新特性主要是Lambda表达式和流,当流和Lambda表达式结合起来一起使用时,因为流申明式处理数据集合的特点,可以让代码变得简洁易读1、流如

2021-11-27 16:13:49 331

原创 Java 中的 BigDecimal 运算,如何解决精度丢失问题?

Java 中的 BigDecimal 运算,如何解决精度丢失问题?1、我们先看一个例子2、BigDecimal中的一些方法3、值得注意的是如果要想无精度丢失的情况下计算结果,那么需要把double,float类型的参数转化为String类型的。4、在一般开发过程中,我们数据库中存储的数据都是float和double类型的。1、我们先看一个例子可以看到在Java中进行浮点数运算的时候,会出现丢失精度的问题。那么我们如果在进行商品价格计算的时候,就会出现问题。很有可能造成我们手中有0.06元,却无法购买一

2021-11-27 14:58:52 1937

原创 Redis 击穿、穿透、雪崩产生原因以及解决思路

1前言大家都知道,计算机的瓶颈之一就是IO,为了解决内存与磁盘速度不匹配的问题,产生了缓存,将一些热点数据放在内存中,随用随取,降低连接到数据库的请求链接,避免数据库挂掉。需要注意的是,无论是击穿还是后面谈到的穿透与雪崩,都是在高并发前提下,比如当缓存中某一个热点key失效。2问题起因有两个主要原因:1、Key过期;2、Key被页面置换淘汰。对于第一个原因是因为在Redis中,Key有过期时间,如果某一个时刻(假如商城做活动,零点开始)key失效,那么零点之后对某一个商品查询请求将全都压到数据

2021-11-26 18:18:24 206

原创 Spring Boot 实现各种参数校验

Spring Boot 实现各种参数校验简单使用引入依赖`requestBody`参数校验`requestParam/PathVariable`参数校验统一异常处理进阶使用分组校验嵌套校验集合校验自定义校验编程式校验快速失败 (Fail Fast)`@Valid`和`@Validated`区别实现原理`requestBody`参数校验实现原理方法级别的参数校验实现原理简单使用Java API规范 (JSR303) 定义了Bean校验的标准validation-api,但没有提供实现。hibernate

2021-11-26 17:49:36 188

原创 MySQL8-WITH RECURSIVE递归查询父子集

MySQL8-WITH RECURSIVE递归查询父子集1、构件表1)创建地址表,字段分别为id、父级id、名称2)数据初始化2、查询所有子集(父求子)1)需求:查询出西安市底下所有区域2)结果如下3、查询所有父集(子求父)1)需求:查询出北客站所有父级2)结果如下![在这里插入图片描述](https://img-blog.csdnimg.cn/6bbe50b3b7b245c59b091b5c2e1c39d7.png?x-oss-process=image/watermark,type_ZHJvaWRzYW

2021-10-27 17:02:19 1443 3

原创 Windows系统redis安装(最新保姆级)

Windows系统redis安装1、Redis下载2、安装Redis3、运行Redis1)windows服务的方式2)CMD启动4、设置密码5、连接redisRedis 安装有很多种环境,我们这里主要用的两种,一个是 Windows 环境,一个是 Linux 环境。 Windows环境是我们一般开发的时候用,省的开虚拟机啥的。Linux 环境一般是上生产环境啥的。1、Redis下载下载地址:https://github.com/microsoftarchive/redis/releases2

2021-10-07 15:30:52 260

原创 IDEA2021.2 安装及配置教程(最新保姆级)

IDEA2021.1 安装教程1、下载 IDEA2、安装 IDEA3、配置1)激活2)全局配置3)字体,字体大小4)配色方案5)注解生效6)自动导包移包7)自动补全快捷键8)格式化代码9)忽略大小写10)git配置11)编码格式12)方法分割线13)方法参数提示14)添加代码作者以及日期信息15)通过鼠标滚轮调整字体大小16)关闭自动更新17)配置maven10)git配置3)ECMAScript(ES6)3)字体,字体大小3)字体,字体大小1、下载 IDEA官网地址:https://www.jetb

2021-09-30 11:23:46 50589 7

原创 MySQL安装与配置(最新保姆级)

MySQL安装与配置1、MySQL下载2、配置初始化文件my.ini3、初始化MySQL4、安装MySQL服务5、启动MySQL 服务6、修改密码7、配置环境变量8、验证是否配置成功1、MySQL下载官网下载地址:https://dev.mysql.com/downloads/mysql/选择不登录直接下载下载完成后解压到某一个文件夹(记住这个路径,一会要用到)2、配置初始化文件my.ini在mysql-8.0.26-winx64文件夹下面新建一个my.ini文件和一个dat

2021-09-29 15:15:27 1925 2

原创 Git 详细安装教程(最新保姆级)

这里写目录标题二、Git 的下载二、Git 的下载1)官网下载地址https://git-scm.com/download

2021-09-29 11:27:05 1960

原创 Node.js安装与配置(最新保姆级)

Node.js安装与配置一、官网下载二、安装步骤三、验证是否安装成功四、设置 node_global (全局模块)和 node_cache (缓存)五、配置环境变量六、测试一、官网下载官网下载地址:https://nodejs.org/en/download/二、安装步骤1、点击下载好的安装程序,点击下一步2、选择接受许可协议,点击下一步3、选择自己的安装路径(默认是c盘),选择完成后,点击下一步4、这里四项全部安装,点击下一步5、这里不用打勾✔,下一步6、选择Install安

2021-09-29 02:34:03 462

原创 Tomcat安装及配置(最新保姆级)

Tomcat安装及配置一、什么是Tomcat二、Tomcat的下载三、配置环境变量四、验证是否配置成功一、什么是TomcatTomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运

2021-09-28 17:57:18 1201

原创 Maven安装与配置(最新保姆级)

Maven安装与配置一、官网下载二、配置环境变量三、配置本地仓库四、配置镜像五、测试一、官网下载1)官网下载地址https://maven.apache.org/download.cgiBinary是可执行版本,已经编译好可以直接使用。Source是源代码版本,需要自己编译成可执行软件才可使用。tar.gz和zip两种压缩格式,其实这两个压缩文件里面包含的内容是同样的,只是压缩格式不同tar.gz格式的文件比zip文件小很多,用于unix操作系统。zip格式用于Windows操作系统,

2021-09-28 17:32:37 1187 2

原创 JDK安装与配置(最新保姆级)

文章目录一、JDK安装1)官网下载2)安装步骤3)配置步骤一、JDK安装1)官网下载官网下载地址https://www.oracle.com/java/technologies/downloads/根据自己的系统版本下载提示登录ORACLE账户,如果没有就用邮箱注册一个登录后就可以下载了2)安装步骤傻瓜式安装,直接点击下一步即可。 注意:不建议安装到默认盘一般软件默认安装C盘,C盘是系统盘,安装太多软件系统会卡。不建议安装到中文目录中或者目录带空格很多国外开

2021-09-28 16:45:36 6931

原创 Linux常用操作和命令

关机/重启/注销常用命令作用shutdown -h now即刻关机shutdown -h 1010分钟后关机shutdown -h 11:0011:00关机shutdown -h +10预定时间关机(10分钟后)shutdown -c取消指定时间关机shutdown -r now重启shutdown -r 1010分钟之后重启shutdown -r 11:00定时重启reboot重启init 6重启init

2021-09-22 14:59:45 105

原创 MySQL(详细)

1、数据库1)什么是数据库?数据库:英文单词DataBase,简称DB。按照一定格式存储数据的一些文件的组合。顾名思义:存储数据的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据。2)什么是数据库管理系统?数据库管理系统:DataBaseManagement,简称DBMS。数据库管理系统是专门用来管理数据库中数据的,数据库管理系统可以对数据库当中的数据进行增删改查。常见的数据库管理系统: MySQL、Oracle、MS SqlServer

2021-09-16 02:04:06 4565

原创 前端基础-JavaScript(行为层)

文章目录

2021-09-13 18:01:37 632

原创 前端基础-CSS3(表现层)

文章目录1、什么是CSS1.1、什么是CSS1.2、发展史1.3、快速入门1.2、CSS的三种导入方式2、选择器2.1、基本选择器2.1.1、标签选择器2.1.2、类选择器 class2.1.3、id 选择器2.2、层次选择器2.2.1、后代选择器2.2.2、子选择器2.2.3、相邻兄弟选择器2.2.4、通用兄弟选择器2.3、结构-伪类选择器2.4、属性选择器3、美化网页元素3.1、为什么要美化网页3.2、字体样式3.3、文本样式3.4、超链接伪类3.6、列表ul li3.6、背景3.7、渐变4、盒子模型4

2021-09-13 11:28:47 437

原创 前端基础-HTML5(结构层)

文章目录1、初识HTML1)HTML5的优势2)W3C3)W3C标准包括4)W3C标准包括常见IDE2、网页基本标签3、图像、超链接标签及网络布局1)图像标签2)链接标签文本超链接图像超链接锚链接功能性链接行内元素和块元素4、表单及表单应用1)列表和列表标签2)表格及表格标签3)媒体元素4)页面结构分析5)iframe内联框架6)初识表单的post和get提交7)文本框和单选框8)列表文本域和文件域5、表单初级验证1)搜索框滑块和简单验证2)表单的应用3)表单初级验证1、初识HTMLHyper Tex

2021-09-13 11:26:58 330

原创 javaSE高级-JVM

javaSE高级-JVM正在更新中…

2021-09-13 09:31:17 65

原创 javaSE高级-JUC并发编程(回顾)

文章目录1、什么是JUC2、进程和线程2.1、深入理解进程和线程2.2、扩展:java可以开启线程吗?2.3、并发与并行2.4、线程的状态2.5、wait和sleep3、Lock锁3.1、开发中错误开启线程的方法3.2、传统的 synchronized3.3、Lock锁3.4、Synchronized 和 Lock4、生产者和消费者4.1、synchronized版本4.2、存在问题(虚假唤醒)4.3、Lock版4.4、Condition的优势5、8锁的现象6、集合类不安全7、Callable8、Count

2021-09-11 17:51:34 220

原创 javaSE进阶-GUI编程(回顾)

1、简介Gui的核心技术:Swing AWT不流行主要原因:因为界面不美观。需要 jre 环境!为什么我们要学习?可以写出自己心中想要的一些小工具。工作时候,也可能需要维护到swing界面,概率极小!了解MVC架构,了解监听!2、AWT2.1、AWT介绍AWT:抽象的窗口工具,包含了很多的类和接口元素:窗口、按钮、文本框java.awt包下#mermaid-svg-zD94iU3R7WJ9urtN .label{font-family:'trebuch

2021-09-07 17:35:10 231

原创 javaSE高级-注解和反射(回顾)

java基础-注解和反射

2021-09-06 23:41:27 387 6

原创 javaSE进阶-网络编程(回顾)

文章目录1、计算机网络概念2、网络通信要素:3、IP4、端口5、通讯协议6、TCP/IP6.1、文件上传6.2、Tomcat7、UDP7.1、发短信(需要IP地址)7.2、UDP 实现聊天7.3、在线咨询URL1、计算机网络概念计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接(有线性、无线)起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程的目的:传播交流信息数据交换、通信。想要达到这个效果,需

2021-09-06 22:08:29 203

原创 javaSE进阶-多线程(回顾)

文章目录一、线程简介1、多任务2、多线程3、程序.进程.线程4、Process与Thread5、核心概念二、线程实现1、线程创建(三种方法)1.1、继承Thread类(重要)1.2、实现Runnable接口1.3、实现Callable接口(了解)1.4、小结(Thread和Runnable对比)2、静态代理2.1、实现: 结婚案例2.2、总结2.3、好处3、Lamda表达式3.1、定义3.2、函数式接口的定义:三、线程状态1、线程五大状态:2、线程方法2.1、停止线程:2.2、线程休眠2.3、线程礼让2.4

2021-09-06 18:06:20 295

空空如也

空空如也

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

TA关注的人

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