- 博客(488)
- 资源 (3)
- 收藏
- 关注

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

原创 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
345

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

原创 Java多线程基础学习
如果队列是满的,需要等有空位才能进。如果队列是空的,需要等有数据才能取。方式包含异常返回值阻塞等待超时等待添加putoffer删除poll(null)takepoll判断队列首尾peek// test1();test4();//add有异常 //remove有异常 // System.out.println(blockingQueue.add("a"));//查看阻塞队列队首 } public static void test2() {
2021-05-13 00:25:46
329
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
3032
13

原创 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
1089
2
原创 Kafka面试题汇总
一、硬件资源限制内存不足:如果 Broker 的内存使用率过高,可能会导致频繁的垃圾回收(GC),影响性能。可以通过增加 JVM 堆内存(-Xmx 和 -Xms 参数)来缓解。磁盘 IO 瓶颈:如果磁盘写入速度较慢,可以考虑更换为高性能的 SSD 或 NVMe 硬盘。同时,可以调整 Kafka 的日志段大小(log.segment.bytes)和清理策略(如 log.retention.hours),减少磁盘压力。
2025-02-24 17:44:46
563
原创 Doris数据模型
在 Doris 中,数据以表(Table)的形式进行逻辑上的描述。一张表包括行(Row)和列(Column)。Row 即用户的一行数据。Column 用于描述一行数据中不同的字段。Column 可以分为两大类:Key 和 Value。从业务角度看,Key 和 Value 可以分别对应维度列和指标列。
2024-04-16 16:12:05
1639
原创 Doris集群部署
FE 分为 Follower 和 Observer 两种角色,其中 Follower 角色会选举出一个 Follower 节点作为 Master。默认一个集群,只能有一个 Master 状态的 Follower 角色,可以有多个 Follower 和 Observer,同时需保证 Follower 角色为奇数个。其中所有 Follower 角色组成一个选举组,如果 Master 状态的 Follower 宕机,则剩下的 Follower 会自动选出新的 Master,保证写入高可用。
2024-03-01 17:47:35
1680
原创 Kafka集群搭建
注意: 停止 Kafka 集群时,一定要等 Kafka 所有节点进程全部停止后再停止 Zookeeper集群。因为 Zookeeper 集群当中记录着 Kafka 集群相关信息, Zookeeper 集群一旦先停止,Kafka 集群就没有办法再获取停止进程的信息,只能手动杀死 Kafka 进程了。Kafka虽然已经自带了ZooKeeper服务,但是考虑到其他服务也需要ZooKeeper服务,因此建议单独启动,如何部署zookeeper集群,请参照Zookeeper集群部署文档。
2024-02-28 17:52:41
609
原创 Docker网络通信
当创建一个 Docker 容器的时候,同时会创建了一对 veth pair 接口(当数据包发送到一个接口时,另外一个接口也可以收到相同的数据包)。同时,Docker 随机分配一个本地未占用的私有网段(在 RFC1918 中定义)中的一个地址给 docker0 接口。此后启动的容器内的网口也会自动分配一个同一网段(172.17.0.0/16)的地址。当 Docker 启动时,会自动在主机上创建一个 docker0 虚拟网桥,实际上是 Linux 的一个 bridge,可以理解为一个软件交换机。
2023-04-13 15:40:17
377
1
原创 service和systemctl
在CentOS 7中,service和systemctl都是用于管理系统服务的命令。但它们有一些区别:配置文件位置不同:service命令使用/etc/init.d/目录下的脚本文件,而systemctl命令使用/lib/systemd/system/目录下的unit文件。状态信息不同:service命令通过执行脚本来获取服务状态信息,而systemctl命令通过systemd的状态管理功能来获取状态信息。因此,systemctl命令提供了更详细和准确的状态信息。
2023-04-12 23:18:12
4878
原创 Linux安装Nodejs
这里其实没有写清楚,我刚开始就下错了,下载了node-v16.5.0.tar.gz(这个是源码版本),编译好的版本里面有bin目录。把node-v16.5.0-linux-x64.tar.gz放到你想要放的目录,我的目录是/usr/local/nodejs。下载这个:node-v16.5.0-linux-x64.tar.gz。选择你要下载的版本,比如我选择16.5。
2023-02-17 15:58:19
509
原创 ElasticSearch学习(七)分词器
我觉得这个图用来描述规范化是非常恰当的,其中有一些不通用的词汇,比如Mom’s,经过规范化处理会变成mom,一些无意义单词比如 is an会被去掉。字符过滤器是在分词之前进行的,过滤掉一些无用的字符。在,其中有《》,有’,有.在查询的时候是不需要这些符号的。
2022-12-09 10:21:53
628
原创 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
4040
原创 Kibana配置ES集群(版本号8.3.3)
注意kibana只支持非root启动,我没有新建用户,还是用的elasticsearch101。
2022-12-01 19:23:12
3130
2
原创 ElasticSearch集群搭建(版本号8.3.3)
因为安全问题,ElasticSearch不允许root用户直接运行,所以要在每个节点创建新的用户这里准备了三个节点。
2022-11-29 00:15:02
896
原创 ShardingSphere分片算法(未完待续)
ShardingSphere 内置提供了多种分片算法,按照类型可以划分为自动分片算法、标准分片算法、复合分片算法和 Hint 分片算法,能够满足用户绝大多数业务场景的需要。此外,考虑到业务场景的复杂性,内置算法也提供了自定义分片算法的方式,用户可以通过编写 Java 代码来完成复杂的分片逻辑。2、配置示例三、分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一1、standard用于单分片键的标准分片场景用于多分片键的复合分片场景Hint 分片策略不分片2、基于 CosId 的取模分片算
2022-10-20 01:08:38
1802
原创 分库分表-2| 分库分表后带来的5个问题
系统中的某个数据被成功更新后,后续任何对该数据的读取操作都将得到更新后的值。也称为:原子一致性(Atomic Consistency)、线性一致性(Linearizable Consistency)简言之,在任意时刻,所有节点中的数据是一样的。例如,对于关系型数据库,要求更新过的数据能被后续的访问都能看到,这是强一致性。
2022-10-13 15:31:58
990
原创 修改Linux虚拟机IP为固定IP
虚拟机IP获取方式默认为DHCP,DHCP服务器,除非改动虚拟机的网络连接方式,或动了虚拟网卡服务属性,那么虚拟机的IP租约过期后,IP就会自动重新分配,从而造成IP地址自行变化。可以通过修改配置文件将获取IP。.........
2022-07-22 09:58:41
844
原创 设计模式之美-12| 实战二(上):如何对接口鉴权这样一个功能开发做面向对象分析?
十二、设计模式之美-12| 实战二(上):如何对接口鉴权这样一个功能开发做面向对象分析?面向对象分析(OOA)、面向对象设计(OOD)、面向对象编程(OOP),是面向对象开发的三个主要环节。知道什么是 OOA、OOD、OOP。不过,光知道“是什么”是不够的,我们更重要的还是要知道“如何做”,也就是,如何进行面向对象分析、设计与编程。对于一个对于“比较笼统的开发需求,应该如何做需求分析,如何做职责划分?需要定义哪些类?每个类应该具有哪些属性、方法?类与类之间该如何交互?如何组装类成一个可执行的程序?如何利
2022-05-18 09:38:14
256
原创 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
2943
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人