自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (2)
  • 收藏
  • 关注

转载 线程池的五种状态

线程池的状态

2022-09-08 11:34:52 3342

原创 Rabbitmq的批量操作

Rabbitmq的批量操作。

2022-09-08 11:22:17 4121 1

转载 Docker的安装与卸载

Docker 安装与卸载

2022-06-28 13:41:32 413

转载 Es数据操作的核心原理

Es 的核心原理

2022-06-01 18:01:30 564

转载 完全卸载k8s

sudo kubeadm reset -fsudo rm -rvf $HOME/.kubesudo rm -rvf ~/.kube/sudo rm -rvf /etc/kubernetes/sudo rm -rvf /etc/systemd/system/kubelet.service.dsudo rm -rvf /etc/systemd/system/kubelet.servicesudo rm -rvf /usr/bin/kube*sudo rm -rvf /etc/cnisudo rm

2022-04-01 16:12:28 7942

原创 CentOS 8 如何切换阿里源?

1、运行以下命令备份之前的repo文件。rename '.repo' '.repo.bak' /etc/yum.repos.d/*.repo2、运行以下命令下载最新的repo文件。wget https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo -O /etc/yum.repos.d/Centos-vault-8.5.2111.repowget https://mirrors.aliyun.com/repo/epel-archive-.

2022-03-15 22:52:56 2937

转载 可达性分析算法-针对的对象

  可达性分析算法的基本思想,(由于该算法是JVM垃圾回收判断对象死亡的基本算法)这里,我们对上一篇讲的关于可达性分析算法做一个更加细致的研究;   首先是根节点(GC Roots):作为可达性算法的初始节点,什么样的节点可以做为根节点呢?虚拟机栈(栈帧中的本地变量表)中引用的对象; 本地方法区中的静态属性引用对象; 方法区中的常量引用对象; 本地方法栈中的JNI(Native方法)的引用对象;   在可达性算法中,表示可达的标准为是否有引用链与之相连,这个时候存在内存中的对象只有垃圾对象和

2021-09-02 18:21:26 254

原创 zk数据同步的原理

zxid :操作数据的事务Idleader会广播进行同步从节点最后处理的 zxid peerLastZxid新选举的节点中 min zxid MinCommitedLog max zxid MaxCommitedLog如果peerLastZxid 在MinCommitedLog MaxCommitedLog 之间直接差异化同步如果peerLastZxid 大于 MaxCommitedLog回滚从节点如果peerLastZxid 小于 MinCommitedLog...

2021-08-25 15:50:50 307

转载 对象的创建

内容导读对象的创建过程 内存的分配方法以及分配时面临的问题和解决方案 什么是对象头 对象栈上创建: 逃逸分析和标量替换 对象内存回收一. 对象的创建过程对象的创建过程.png 类是否加载 检查Class文件是否已经被类加载子系统加载到内存.没有的话则走类的加载过程(load-link-init). 分配内存 类加载完后, 需要在堆内开辟一块内存区域. 但是在分配内存时, 需要解决两个问题: 内存如何分配 首先, 第一个问题内存如何分配, JVM给出的

2021-08-23 15:41:08 85

原创 spring boot 2.4.0操作ES

SearchHits<T> searchHits = execute(operations -> operations.search(query, entityClass, getIndexCoordinates())); SearchHits<T> searchHits = execute(operations -> operations.search(query, entityClass, getInd...

2021-08-18 14:53:06 358

转载 IO多路复用的三种机制Select,Poll,Epoll

I/O多路复用(multiplexing)的本质是通过一种机制(系统内核缓冲I/O数据),让单个进程可以监视多个文件描述符,一旦某个描述符就绪(一般是读就绪或写就绪),能够通知程序进行相应的读写操作select、poll 和 epoll 都是 Linux API 提供的 IO 复用方式。相信大家都了解了Unix五种IO模型,不了解的可以 => 查看这里[1] blocking IO - 阻塞IO[2] nonblocking IO - 非阻塞IO[3] IO multiplexin.

2021-08-04 09:43:38 449

转载 mysql的隔离级别

MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的事务具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)四个特性,简称 ACID,缺一不可。今天要说的就是隔离性。SQL 标准定义了四种隔离级别,MySQL 全都支持。这四种隔离级别分别是:读未提交(READ UNCOMMITTED)读提交 (READ COMMITTED)可重复读 (REPEATABLE READ)串行化 (SE

2021-07-02 13:30:35 101

转载 Java中对象的逃逸分析

逃逸分析的定义逃逸分析,是一种可以有效减少Java 程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法。通过逃逸分析,Java Hotspot编译器能够分析出一个新的对象的引用的使用范围从而决定是否要将这个对象分配到堆上。Java在Java SE 6 以及以后的版本中支持并默认开启了逃逸分析的选项。Java的 HotSpot JIT编译器,能够在方法重载或者动态加载代码的时候对代码进行逃逸分析。逃逸分析的基本行为就是分析对象的动态作用域:当一个对象在方法中被定义后,它可能被外部方法所引用

2021-06-29 09:43:46 296

原创 NameNode和Secondary NameNode

第一阶段:NameNode启动(1)第一次启动NameNode格式化后,创建Fsimage和Edits文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。(2)客户端对元数据进行增删改的请求。(3)NameNode记录操作日志,更新滚动日志。(4)NameNode在内存中对数据进行增删改。第二阶段:Secondary NameNode工作 (1)Secondary NameNode询问NameNode是否需要CheckPoint。直接带回NameNode是否检查结...

2021-06-16 17:29:24 159

原创 Yarn的工作流程

1.客户端Client提交Job向ResourceManager申请Job_id2.ResourceManager返回Job_id和HDFS上资源的存储地址3.Cli

2021-06-16 16:48:43 87

原创 hive --service metastore

/usr/local/src/bigdata/hive-3.1.2/binhive --service metastorehive --service hiveserver2nohup hive --service metastore >> ~/metastore.log 2>&1 &nohup bin/hive --service metastore &nohup hive --service hiveserver2 &nohup.

2021-06-11 11:58:29 1635 1

原创 kylin-3.1.2

## Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements. See the NOTICE file distributed with# this work for additional information regarding copyright ownership.# The ASF licenses this file to You under t.

2021-06-11 11:54:04 291

转载 JVM 空间分配担保机制

1.谁进行空间担保?  JVM使用分代收集算法,将堆内存划分为年轻代和老年代,两块内存分别采用不同的垃圾回收算法,空间担保指的是老年代进行空间分配担保2.什么是空间分配担保?    在发生Minor GC之前,虚拟机会检查老年代最大可用的连续空间是否大于新生代所有对象的总空间,    如果大于,则此次Minor GC是安全的    如果小于,则虚拟机会查看HandlePromotionFailure设置值是否允许担保失败。如果HandlePromotionFailure=true,...

2021-05-30 10:26:49 309

转载 Redis突然变慢问题排查

Redis作为内存数据库,拥有非常高的性能,单个实例的QPS能够达到10W左右。但我们在使用Redis时,经常时不时会出现访问延迟很大的情况,如果你不知道Redis的内部实现原理,在排查问题时就会一头雾水。很多时候,Redis出现访问延迟变大,都与我们的使用不当或运维不合理导致的。这篇文章我们就来分析一下Redis在使用过程中,经常会遇到的延迟问题以及如何定位和分析。使用复杂度高的命令如果在使用Redis时,发现访问延迟突然增大,如何进行排查?首先,第一步,建议你去查看一下Redis的慢

2021-04-25 11:10:55 362

原创 springboot 配置pg多数据源

application.yaml配置server: port: 3038spring: datasource: learningdb: jdbcUrl: jdbc:postgresql://localhost:5432/数据库名 driverClassName: org.postgresql.Driver username:username password: password配置类:PgLearningDataSourceC...

2021-04-13 09:26:21 983

原创 Mongo的聚合查询

db.logActionsContent.aggregate([ { $match: { 'verb._id': 'http://e4e.deltaww.com/deltaknew/academy/verbs/opened', 'object.extensions.type': 'activity', 'object.extensions.courseId': '558eefe6-55df-4ea5-86dd-6...

2021-03-31 17:36:54 119

转载 Redis的过期策略和内存淘汰策略

Redis的过期策略我们都知道,Redis是key-value数据库,我们可以设置Redis中缓存的key的过期时间。Redis的过期策略就是指当Redis中缓存的key过期了,Redis如何处理。过期策略通常有以下三种:定时过期:每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好;但是会占用大量的CPU资源去处理过期的数据,从而影响缓存的响应时间和吞吐量。 惰性过期:只有当访问一个key时,才会判断该key是否已过期,过期则清除。

2021-03-03 16:22:46 122 1

转载 shardingsphere 整合spring boot的yaml配置

1. 搭建基本的sharding-jdbc整合springboot  1. springboot导入sharding-jdbc相关依赖复制代码dependencies { compile("org.springframework.boot:spring-boot-starter-web") compile 'org.apache.shardingsphere:sharding-jdbc-spring-boot-starter:4.0.0-RC1' // 这个是 compil...

2021-02-26 17:06:21 3180

原创 Kafka是如何优化JVM Full GC的

在 Kafka客户端,会有缓冲池的机制Kafka客户端发送的消息不会立马持久化到磁盘当中。而是会放到一个Batch中当Batch填满之后,才会持久化到磁盘中当遇到高并发的时候,所有的Batch空间瞬间被填满,还没持久化,就会触发JVM GCKafka的处理策略是创建了个缓冲池 放了很多块内存空间,如果你需要新的 Batch 了,就可以直接从这个缓冲池拿走内存空间就 ok 了?然后如果 Batch 发送出去了之后,再把内存空间收回来就好了这种设计类似于Java中线程池。核心思想一空间换时间。.

2021-02-25 14:00:25 389

原创 web请求的Sql执行流程

Sql的执行过程1、首先通过tomcat分配线程接受用户请求2、通过数据库驱动包获取线程建立连接3、SQL解析器对Sql语句,词法分析,语法分析4、通过查询优化器对Sql语句进行最优执行选出最优索引。5、查询优化器会调用存储引擎真正去执行SQL6、存储引擎会调用执行器去执行SQL存储引擎Sql执行过程 (innodb): 1、innodb 存储引擎会在缓冲池(Buffer Pool)中查找数据是否存在 2、如果不存在,去磁盘中加载,放入缓冲池中,select操作共享锁,update独..

2021-02-07 10:29:01 394

转载 Rabbitmq spring boot的配置参数

spring.rabbitmq.addresses= # 以逗号分隔的客户端应连接的地址列表spring.rabbitmq.cache.channel.checkout-timeout= # 如果已达到缓存大小,则等待获取通道的持续时间spring.rabbitmq.cache.channel.size= # 要在缓存中保留的通道数spring.rabbitmq.cache.connection.mode=channel # 连接工厂缓存模式spring.rabbitmq.cache.connec.

2021-01-29 10:03:25 926

原创 java 对象的内存分布

在 Hotspot VM虚拟机中 ,对象在内存中体现形式主要分3 块:对象头(Header) 实例数据(Instance Data) 对齐填充(Padding)对象头MarkWord:存储对象运行时的数据, HashCode、线程ID、锁状态信息、GC分代年龄等。 指针:对象指向派生对象的类。通过指针压缩,减少对象的内存使用量。 数组长度:(可有可无)只有是数组对象才有,如:Array List Map等实例数据实例数据:是对象真正的字段内容对齐填充 对齐填充:JVM中规定j.

2020-12-31 13:44:18 90

转载 NIO网络编程模型

客户端package com.company.Selector.Selector1;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SocketChannel;import java.util.Scanner;public class NIOClient { public static void main(String[] args) throws Exce

2020-12-09 14:37:51 115

原创 优化分页查询

定位Id优化分页查询的办法定位偏移位置的 id,然后往后查询,这种方式适用于 id 递增的情况。select*fromorders_historywheretype=8limit100000,1;selectidfromorders_historywheretype=8limit100000,1;select*fromorders_historywheretype=8andid>=(selectidfromorders_history...

2020-12-05 14:08:54 117 1

原创 基于stomp的websocket

简单介绍常规的websocket连接和普通的TCP基本上没有什么差别的,全双工的通信方式,点对点通信方式。stomp在websocket上提供了一中基于帧线路格式(frame-based wire format),就是在我们的websocket(TCP)上面加了一层协议,使双方遵循这种协议来发送消息。基于stomp的websocket和springboot的整合相关配置类package com.zhao.sian.config;import org.springframework.

2020-12-05 13:56:07 1587

原创 netty基本使用

客户端:1、创建一个发送请求工作线程组EventLoopGroup workerGroup = new NioEventLoopGroup();2、创建客户端启动器Bootstrap b = new Bootstrap();3、启动器绑定线程组b.group(workerGroup)4、启动器绑定NIO通道b.channel(NioSocketChannel.class)5、构建请求发送处理器b.handler(new ChannelInitializer<..

2020-11-27 17:54:42 1461 1

原创 ES中常用的语法

PUT /stconvert/{ "settings" : { "analysis" : { "analyzer" : { "tsconvert" : { "tokenizer" : "tsconvert" } }, "tokenizer" : { "tsconver.

2020-11-25 11:04:35 453

原创 Elasticsearch 9200自动配置

自动配置类:package com.search.config;import org.elasticsearch.client.RestHighLevelClient;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Configuration;import org.springframework.data.elasticsearch..

2020-10-16 15:32:45 504

原创 BloomFilter工具类

package com.zhao.sian.delta.config;import java.util.Objects;import com.google.common.hash.Funnel;import com.google.common.hash.Hashing;public class BloomFilter<T> { private int numHashFunctions; private int bitSize; private Funnel<T&.

2020-09-17 13:23:05 172

原创 基于Postgress的ELK

ELK的docker-composeversion: '3'services: postgres: image: postgres:9.6 container_name: postgres restart: always environment: - POSTGRES_PASSWORD= - TZ=Asia/Shanghai volumes: - "./config/postgres.init/:/docker-entr

2020-09-07 18:07:53 150

原创 ES CURL插入Json数据脚本

1 #!/bin/bash 2 3 # Auther: Yongqian.zhao 4 # Date & Time: 2020.09.06 5 # Description: Sync user scripts 6 7 8 # Entry function 9 function main() { 10 11 echo "Do sync data start" 12 if [ -z "$1" ] 13 then 1.

2020-09-07 13:51:50 1327

原创 解析caption srt的文件的方法

private List<Caption> parseCaptionFile(String videoId, MultipartFile file) { List<Caption> captionList = new ArrayList<Caption>(); String language = getLanguage(file); try (Reader inputStreamReader = new InputStreamReader(file.getI.

2020-07-27 10:11:21 206

原创 Tomcat 处理请求的流程

1、NioEndPoint接收到请求开启线程执行其内部类SocketProcessor的run(),然后执行doRun方法2、采用责任链模式调用invoke方法 调用类如下图所示: StandardEngineValve AccessLogValve ErrorReportValve StandardHostValve NonLoginAuthenticator StandardContextValve...

2020-07-21 14:38:39 195

原创 Https的RestTemplate

package com.user.config;import java.security.KeyManagementException;import java.security.KeyStoreException;import java.security.NoSuchAlgorithmException;import java.security.cert.X509Certificate;import javax.net.ssl.SSLContext;import org.apache.h.

2020-07-14 17:03:45 112

原创 AES文件加解密的升级版

package com.util;import java.io.File;import java.math.BigInteger;import java.nio.charset.StandardCharsets;import java.security.spec.KeySpec;import java.util.Base64;import java.util.Base64.Decoder;import java.util.Base64.Encoder;import java.util.U.

2020-07-14 17:01:00 119

关于SH JPA 简单的CRUD操作

SH JPA 简单的CRUD操作

2017-01-19

ssh搭建环境

ssh环境搭建

2017-01-18

空空如也

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

TA关注的人

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