自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java性能调优学习

一、编程性能调优一.字符串性能优化不容小觑,百M内存轻松存储几十G数据二.慎重使用正则表达式三.ArrayList还是LinkedList?使用不当性能差千倍四.Stream如何提高遍历集合效率?五.深入浅出HashMap的设计与优化六.网络通信优化之I/O模型:如何解决高并发下I/O瓶颈?七.网络通信优化之序列化:避免使用Java序列化八.网络通信优化之通信协议:如何优化RPC网络通信?九.深入了解NIO的优化实现原理二、多线程性能调优一.二.三.四.五.三、JVM性能调优

2021-11-01 16:13:48 143

原创 Spring&&SpringBoot&&SpringCloud&&SpringCloudAlibaba&&Spring Security汇总

一、Spring1、Spring编程常见错误–Spring Core篇-01 |Spring Bean 定义常见错误2、Spring编程常见错误–Spring Core篇-02 |Spring Bean 依赖注入常见错误(上)3、Spring编程常见错误–Spring Core篇-03 |Spring Bean 依赖注入常见错误(下)4、Spring编程常见错误–Spring Core篇-04 |Spring Bean 生命周期常见错误5、Spring编程常见错误–Spring Core篇-05

2021-07-29 21:36:31 271

原创 透视HTTP协议-01|HTTP协议简介

一、HTTP协议基础一.HTTP是什么HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。HTTP 专门用来在两点之间传输数据,不能用于广播、寻址或路由。HTTP 传输的是文字、图片、音频、视频等超文本数据。HTTP 是构建互联网的重要基础技术,它没有实体,依赖许多其他的技术来实现,但同时许多技术也都依赖于它。二.与HTTP相关的各种协议1、TCP/IPTCP/IP 协议实际上是一系列网络通信协议的统称,

2021-05-18 14:34:09 268

原创 Java多线程基础学习

# 一、基础知识因为运行在虚拟机上JAVA不能直接操作硬件,因此并不能真正的开启线程,而是去调用本地方法C++的方法进行开启的。## 一.线程和进程进程:进程可以理解为一个程序,一个正在进行的过程或者说任务,由CPU执行线程:是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。

2021-05-13 00:25:46 169 3

原创 Netty学习(一):初识Netty

一、什么是经典的三种I/O模式现实模型IO模式JDK版本排队打饭模式BIO (同步阻塞)JDK1.4之前点单被叫模式NIO (同步非阻塞)JDK1.4包厢模式AIO(异步非阻塞)JDK1.7一.阻塞与非阻塞二.同步与异步同步和异步关注的是消息通信机制二、Netty对三种I/O模式的支持三、为什么Netty目前只支持NIO四、为什么Netty有多种NIO实现五、NIO和BIO性能比较六、Netty是怎么切换I/O模式的...

2021-05-10 00:30:11 2368 12

原创 Nginx学习(一)——Nginx基础知识

一、初试Nginx一.下载安装1、安装必要的一些类库和软件支持(centos)centos平台编译环境使用如下指令yum -y install gcc automake autoconf libtool makeyum install gcc gcc-c++正则表达相关PCREcentos:yum install -y pcre pcre-develyum -y install openssl openssl-devel安装zlib库 wget https://nchc.dl.so

2021-04-23 17:33:09 602 1

原创 数据结构与算法汇总

数据结构与算法之美目录

2021-01-27 10:55:08 182

原创 ElasticSearch学习(七)分词器

我觉得这个图用来描述规范化是非常恰当的,其中有一些不通用的词汇,比如Mom’s,经过规范化处理会变成mom,一些无意义单词比如 is an会被去掉。字符过滤器是在分词之前进行的,过滤掉一些无用的字符。在,其中有《》,有’,有.在查询的时候是不需要这些符号的。

2022-12-09 10:21:53

原创 ElasticSearch学习(五)ElasticSearch基本操作:精确查询

ES最关键的地方就在于查询2、带参查询3、分页查询5、全文检索(在所有有索引的字段上进行检索)6、数据结构查询二.DSL关于查询,理解match和term的区别是非常重要的。match和term最大的差别在于,查询条件是否分词。举例说明“xiaomi phone”,如果使用match查询是会分成两个词:xiaomi+phone,如果使用的是term则查询条件不分词:xiaomi phone。match查询的是key对应的value,这里的key和value都会分词。2.match

2022-12-08 10:14:04 135

原创 Kibana配置ES集群(版本号8.3.3)

注意kibana只支持非root启动,我没有新建用户,还是用的elasticsearch101。

2022-12-01 19:23:12 255

原创 ElasticSearch集群搭建(版本号8.3.3)

因为安全问题,ElasticSearch不允许root用户直接运行,所以要在每个节点创建新的用户这里准备了三个节点。

2022-11-29 00:15:02 300

原创 Linux安装maven

【代码】Linux安装maven。

2022-11-03 11:15:01 52

原创 ShardingSphere分片算法(未完待续)

ShardingSphere 内置提供了多种分片算法,按照类型可以划分为自动分片算法、标准分片算法、复合分片算法和 Hint 分片算法,能够满足用户绝大多数业务场景的需要。此外,考虑到业务场景的复杂性,内置算法也提供了自定义分片算法的方式,用户可以通过编写 Java 代码来完成复杂的分片逻辑。2、配置示例三、分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一1、standard用于单分片键的标准分片场景用于多分片键的复合分片场景Hint 分片策略不分片2、基于 CosId 的取模分片算

2022-10-20 01:08:38 391

原创 Nacos设置开机自启

【代码】Nacos设置开机自启。

2022-10-17 15:32:03 13

原创 分库分表-2| 分库分表后带来的5个问题

系统中的某个数据被成功更新后,后续任何对该数据的读取操作都将得到更新后的值。也称为:原子一致性(Atomic Consistency)、线性一致性(Linearizable Consistency)简言之,在任意时刻,所有节点中的数据是一样的。例如,对于关系型数据库,要求更新过的数据能被后续的访问都能看到,这是强一致性。

2022-10-13 15:31:58 593

原创 分库分表-1| 什么是分库分表?

分库就是一个数据库分成多个数据库,部署到不同机器。

2022-10-13 14:09:57 404

原创 MySQL集群搭建——主从同步(一主二从)

目前准备了三台服务器作为主从配置数据库。

2022-10-10 22:47:48 483

原创 Centos7安装MySQL5.7

首先检查自己电脑有没有安装过mysql,输入如下如果有则清理干净再安装。

2022-09-28 18:27:11 31

原创 Docker 安装RabbitMQ

Docker 安装RabbitMQ。

2022-08-08 14:45:15 399

原创 常用Linux指令记录

记录一些常用的Linux指令,方便查询。

2022-08-08 14:15:01 43

原创 修改Linux虚拟机IP为固定IP

虚拟机IP获取方式默认为DHCP,DHCP服务器,除非改动虚拟机的网络连接方式,或动了虚拟网卡服务属性,那么虚拟机的IP租约过期后,IP就会自动重新分配,从而造成IP地址自行变化。可以通过修改配置文件将获取IP。.........

2022-07-22 09:58:41 128

原创 设计模式之美-12| 实战二(上):如何对接口鉴权这样一个功能开发做面向对象分析?

十二、设计模式之美-12| 实战二(上):如何对接口鉴权这样一个功能开发做面向对象分析?面向对象分析(OOA)、面向对象设计(OOD)、面向对象编程(OOP),是面向对象开发的三个主要环节。知道什么是 OOA、OOD、OOP。不过,光知道“是什么”是不够的,我们更重要的还是要知道“如何做”,也就是,如何进行面向对象分析、设计与编程。对于一个对于“比较笼统的开发需求,应该如何做需求分析,如何做职责划分?需要定义哪些类?每个类应该具有哪些属性、方法?类与类之间该如何交互?如何组装类成一个可执行的程序?如何利

2022-05-18 09:38:14 83

原创 Kettle学习(一):下载编译与部署(9.4.0.0版本)

一、下载https://github.com/pentaho/pentaho-kettle二、安装一.编译环境Maven, version 3+Java JDK 11Maven配置<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta

2022-04-25 22:44:59 711

原创 设计模式之美-11| 实战一(下):如何利用基于充血模型的DDD开发一个虚拟钱包系统?

十一、设计模式之美-11| 实战一(下):如何利用基于充血模型的DDD开发一个虚拟钱包系统?一.钱包业务背景介绍一个简单的钱包业务功能如下1、充值用户通过三方支付渠道,把自己银行卡账户内的钱,充值到虚拟钱包账号中。这整个过程,我们可以分解为三个主要的操作流程:第一个操作是从用户的银行卡账户转账到应用的公共银行卡账户;第二个操作是将用户的充值金额加到虚拟钱包余额上;第三个操作是记录刚刚这笔交易流水。2、支付用户用钱包内的余额,支付购买应用内的商品。实际上,支付的过程就是一个转账的过程,从用户的

2022-04-20 15:00:07 4620 1

原创 ElasticSearch(7.15.1)启动遇到的问题

1、如何指定ES使用项目自带jdk#备份cp elasticsearch-env elasticsearch-envcopy#修改vim vim elasticsearch-env 将# now set the path to javaif [ ! -z "$ES_JAVA_HOME" ]; then JAVA="$ES_JAVA_HOME/bin/java" JAVA_TYPE="ES_JAVA_HOME"elif [ ! -z "$JAVA_HOME" ]; then #

2022-03-29 16:27:29 4842 2

原创 Linux开放指定端口

我觉得修改配置文件比较好,至少你知道修改了那里,要去删除也知道去哪里删除。1、查看开放端口#配置文件查看cat /etc/sysconfig/iptables#指令查看service iptables status2、修改配置文件vim /etc/sysconfig/iptablessource /etc/sysconfig/iptables3、修改完成重启防火墙service iptables restart...

2022-03-28 17:32:41 548

原创 Linux配置多版本JDK

太多一个抄一个,连验证一下都不做的人了。以下步骤经过验证一、安装多版本JDK# 1、下载多版本JDK,并且进行解压此处如图所下二、配置JDK软连接jdk8# 命令 --安装 软连接 名称 安装路径alternatives --install /usr/bin/java java /usr/java/jdk8 1jdk18alternatives --install /usr/bin/java java /usr/java/jdk8 1三、修改环境变量配置文件(这一步很关键)#

2022-03-28 16:22:48 3904

原创 位运算学习

一、位运算基础一.原码原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:[+1] = 0000 0001[-1] = 1000 0001如果改成十六位二进制:[+1] =0000 0000 0000 0001[-1] =1000 0000 0000 0001第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:[1111 1111 , 0111 1111]即[-127 , 127]二.反码对于正数而言,反码

2022-03-21 15:15:27 93

原创 设计模式之美-10| 实战一(上):业务开发常用的基于贫血模型的MVC架构违背OOP吗?

十、设计模式之美-10| 实战一(上):业务开发常用的基于贫血模型的MVC架构违背OOP吗?很多业务系统都是基于 MVC 三层架构来开发的。实际上,更确切点讲,这是一种基于贫血模型的 MVC 三层架构开发模式。虽然这种开发模式已经成为标准的 Web 项目的开发模式,但它却违反了面向对象编程风格,是一种彻彻底底的面向过程的编程风格,因此而被有些人称为反模式(anti-pattern)。特别是领域驱动设计(Domain Driven Design,简称 DDD)盛行之后,这种基于贫血模型的传统的开发模式就更

2022-02-10 15:06:40 228

原创 设计模式之美-09| 理论七:为何说要多用组合少用继承?如何决定该用组合还是继承?

九、设计模式之美-09| 理论七:为何说要多用组合少用继承?如何决定该用组合还是继承?在面向对象编程中,有一条非常经典的设计原则,那就是:组合优于继承,多用组合少用继承。为什么不推荐使用继承?组合相比继承有哪些优势?如何判断该用组合还是继承?今天,我们就围绕着这三个问题,来详细讲解一下这条设计原则。一.为什么不推荐使用继承?继承是面向对象的四大特性之一,用来表示类之间的 is-a 关系,可以解决代码复用的问题。虽然继承有诸多作用,但继承层次过深、过复杂,也会影响到代码的可维护性。1、举例说明现在要

2022-02-08 17:28:46 510

原创 设计模式之美-08| 理论六:为什么基于接口而非实现编程?有必要为每个类都定义接口吗?

八、设计模式之美-08| 理论六:为什么基于接口而非实现编程?有必要为每个类都定义接口吗?一.如何解读原则中的“接口”二字?1、接口是一个设计思想,而不是具体的编程语言。“基于接口而非实现编程”这条原则的英文描述是:“Program to an interface, not an implementation”。我们理解这条原则的时候,千万不要一开始就与具体的编程语言挂钩,局限在编程语言的“接口”语法中(比如 Java 中的 interface 接口语法)。这条原则最早出现于 1994 年 GoF 的

2022-02-08 15:28:12 303

原创 设计模式之美-07| 理论五:接口vs抽象类的区别?如何用普通的类模拟抽象类和接口?

七、设计模式之美-07| 理论五:接口vs抽象类的区别?如何用普通的类模拟抽象类和接口?在面向对象编程中,抽象类和接口是两个经常被用到的语法概念,是面向对象四大特性,以及很多设计模式、设计思想、设计原则编程实现的基础。比如,我们可以使用接口来实现面向对象的抽象特性、多态特性和基于接口而非实现的设计原则,使用抽象类来实现面向对象的继承特性和模板设计模式等等。不过,并不是所有的面向对象编程语言都支持这两个语法概念,比如,C++ 这种编程语言只支持抽象类,不支持接口;而像 Python 这样的动态编程语言,既

2022-01-25 17:40:43 43

原创 设计模式之美-06| 理论四:哪些代码设计看似是面向对象,实际是面向过程的?

六、设计模式之美-06| 理论四:哪些代码设计看似是面向对象,实际是面向过程的?常见的编程范式或者说编程风格有三种,面向过程编程、面向对象编程、函数式编程,而面向对象编程又是这其中最主流的编程范式。现如今,大部分编程语言都是面向对象编程语言,大部分软件都是基于面向对象编程这种编程范式来开发的。但是在实际的使用过程中,很多人以为把所有代码都塞到类里,自然就是在进行面向对象编程了。实际上,这样的认识是不正确的。有时候,从表面上看似是面向对象编程风格的代码,从本质上看却是面向过程编程风格的。一.哪些代码设计看

2022-01-25 11:17:39 195

原创 设计模式之美-05| 理论三:面向对象相比面向过程有哪些优势?面向过程真的过时了吗?

五、设计模式之美-05| 理论三:面向对象相比面向过程有哪些优势?面向过程真的过时了吗?面向对象编程和面向过程变成,其实在很多时候没有那么明确的界限。而且并不是以面向对象语言开发的程序就一定是面向对象的,也有可能是面向过程的。他们只是在用面向对象编程语言,编写面向过程风格的代码而已,并没有发挥面向对象编程的优势。这就相当于手握一把屠龙刀,却只是把它当作一把普通的刀剑来用,相当可惜。详细对比一下面向过程和面向对象这两种编程范式,需要搞清楚下面这几个问题什么是面向过程编程与面向过程编程语言?面向对象

2022-01-24 20:54:11 46

原创 设计模式之美-04| 理论二:封装、抽象、继承、多态分别可以解决哪些编程问题?

四、设计模式之美-04| 理论二:封装、抽象、继承、多态分别可以解决哪些编程问题?封装、抽象、继承、多态是面向对象编程及面向对象编程语言的关键特性,对于这四大特性,光知道它们的定义是不够的,我们还要知道每个特性存在的意义和目的,以及它们能解决哪些编程问题。一.封装(Encapsulation)封装主要讲的是如何隐藏信息、保护数据,而抽象讲的是如何隐藏方法的具体实现,让调用者只需要关心方法提供了哪些功能,并不需要知道这些功能是如何实现的。封装也叫作信息隐藏或者数据访问保护。类通过暴露有限的访问接口,授

2022-01-23 20:20:59 72

原创 leetcode-Algorithms-2129| 将标题首字母大写

原题给你一个字符串 title ,它由单个空格连接一个或多个单词组成,每个单词都只包含英文字母。请你按以下规则将每个单词的首字母 大写 :如果单词的长度为 1 或者 2 ,所有字母变成小写。否则,将单词首字母大写,剩余字母变成小写。请你返回 大写后 的 title 。 示例 1:输入:title = "capiTalIze tHe titLe"输出:"Capitalize The Title"解释:由于所有单词的长度都至少为 3 ,将每个单词首字母大写,剩余字母变为小写。示例

2022-01-17 09:24:49 50

原创 leetcode-Algorithms-1881| 插入后的最大值

原题给你一个非常大的整数 n 和一个整数数字 x ,大整数 n 用一个字符串表示。n 中每一位数字和数字 x 都处于闭区间 [1, 9] 中,且 n 可能表示一个 负数 。你打算通过在 n 的十进制表示的任意位置插入 x 来 最大化 n 的 数值 ​​​​​​。但 不能 在负号的左边插入 x 。例如,如果 n = 73 且 x = 6 ,那么最佳方案是将 6 插入 7 和 3 之间,使 n = 763 。如果 n = -55 且 x = 2 ,那么最佳方案是将 2 插在第一个 5 之前,使 n

2022-01-16 18:39:05 41

原创 设计模式之美-03|理论一:当谈论面向对象的时候,我们到底在谈论什么?

三、设计模式之美-03|理论一:当谈论面向对象的时候,我们到底在谈论什么?面向对象的四大特性:封装、抽象、继承、多态一.什么是面向对象编程和面向对象编程语言?面向对象编程的英文缩写是 OOP,全称是 Object Oriented Programming。对应地,面向对象编程语言的英文缩写是 OOPL,全称是 Object Oriented Programming Language。面向对象编程中有两个非常重要、非常基础的概念,那就是类(class)和对象(object)。那究竟什么是面向对象编程

2022-01-15 19:10:36 34

原创 leetcode-Algorithms-1716|计算力扣银行的钱

原题Hercy 想要为购买第一辆车存钱。他 每天 都往力扣银行里存钱。最开始,他在周一的时候存入 1 块钱。从周二到周日,他每天都比前一天多存入 1 块钱。在接下来每一个周一,他都会比 前一个周一 多存入 1 块钱。给你 n ,请你返回在第 n 天结束的时候他在力扣银行总共存了多少块钱。 示例 1:输入:n = 4输出:10解释:第 4 天后,总额为 1 + 2 + 3 + 4 = 10 。示例 2:输入:n = 10输出:37解释:第 10 天后,总额为 (1 + 2

2022-01-15 17:22:24 29

原创 设计模式之美-02|面向对象、设计原则、设计模式、编程规范、代码重构,这五者有何关系?

二、设计模式之美-02|面向对象、设计原则、设计模式、编程规范、代码重构,这五者有何关系?一.面向对象现在,主流的编程范式或者是编程风格有三种,它们分别是面向过程、面向对象和函数式编程。面向对象这种编程风格又是这其中最主流的。现在比较流行的编程语言大部分都是面向对象编程语言。大部分项目也都是基于面向对象编程风格开发的。面向对象编程因为其具有丰富的特性(封装、抽象、继承、多态),可以实现很多复杂的设计思路,是很多设计原则、设计模式编码实现的基础。关于面向对象有七大知识点需要学习掌握:面向对象的四大特

2022-01-14 14:54:04 158

RedisUtil.java

大佬发的常用工具类

2021-02-04

Navicat Premium 12 64位.zip

Navicat Premium 12

2020-04-21

AutomationProject.zip

Java使用RXTX实现串口通讯,目前只是简单功能的实现,之后会继续更新,大家先看看吧,有什么问题,可以在我博客留言,留言必回。

2020-04-03

空空如也

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

TA关注的人

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