自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 k8s特殊节点,特殊应用,节点只部署该应用,应用只部署在该节点。

将该 Deployment 绑定到带有特定标签的节点上。选择一个节点,并给它打上一个唯一的标签。比如你可以将节点打上。在 Kubernetes 集群中,你可以通过使用。在你的 Deployment 配置文件中,使用。只部署在指定节点上,并且该节点上只能部署这个。部署到指定的节点上,并确保该节点上只运行此。在 Deployment 配置文件中添加。通过以上步骤,你可以确保你的。,你可以给该节点添加一个。为确保该节点只运行此。

2024-06-30 15:04:55 346

原创 k8s常用操作命令行

这些命令覆盖了Kubernetes操作的许多基本方面,包括资源管理、日志查看、调试、扩展和更新等。掌握这些命令对于日常管理Kubernetes集群非常有帮助。Kubernetes(K8s)是一个功能强大的容器编排平台,它提供了一系列的命令行工具,主要通过。这个命令行界面(CLI)与Kubernetes集群进行交互。

2024-04-19 17:24:09 409 1

原创 容器网络测试关键问题

资料问题主要影响客户体验, 低级问题. 类似于单词拼写错误, 用词有歧义,等。另一点是,我们的用户文档,主要偏向于技术向的描述,各种参数功能罗列。友商有比较好的最佳实践操作说明。我们后面也会都增加这样的最佳实践。golang omitempty此问题主要表现为, 用户对一个elb监听器(监听某个ip端口实现负载均衡)的某一个参数做出修改,会造成该监听器对象的其他参数被重置为默认值。问题根本原因为:此功能后端实现为 包装的elb服务接口,在给elb服务传值时,预期只赋值 要修改的参数,然后json

2024-04-02 17:08:02 317

原创 k8s的ClusterIP和NodePort类型有何不同

服务有两种常见的类型:ClusterIP和NodePort,它们之间的主要区别在于访问方式和使用场景。总结来说,ClusterIP服务类型主要用于集群内部的通信,提供了一个内部的IP地址,而NodePort服务类型则允许从集群外部访问服务,通过在集群节点上打开一个端口来实现。ClusterIP是Kubernetes服务的一种类型,它为服务提供一个内部的IP地址,使得服务可以在集群内部被访问。这种类型的服务不是从外部可访问的,因此它适用于那些不需要对外暴露的服务,例如,集群内部组件之间的通信。

2024-04-02 15:31:57 1100

原创 【java-spring】spring AOP原理

Spring AOP通过代理模式和切面编程技术,实现了在不修改原有业务逻辑的情况下,为程序添加额外的功能。它提高了代码的可维护性和重用性,使得开发者能够更专注于业务逻辑的实现。

2024-03-19 17:04:34 467 2

原创 【mysql】MyISAM与InnoDB区别

总的来说,InnoDB和MyISAM各有其优势和适用场景。InnoDB更适用于需要高数据完整性、高并发和事务处理的应用场景,而MyISAM则更适用于读操作频繁、不需要事务处理以及需要全文搜索的应用场景。在选择存储引擎时,应根据具体的应用需求和系统环境进行权衡。MySQL中的MyISAM和InnoDB是两种不同的存储引擎,它们在设计理念、功能特点以及应用场景等方面有着显著的差异。

2024-03-19 16:01:05 300

原创 java8中 synchronized与ReentrantLock区别

都是用于控制多线程对共享对象的访问,确保线程安全性的重要工具。然而,它们之间存在一些关键差异,这些差异影响了它们的使用场景和性能表现。在用法、性能、灵活性等方面都存在差异。在选择使用哪一个时,应根据具体的应用场景和需求进行权衡。对于简单的同步需求,通常是一个很好的选择;而对于需要更复杂控制或更高性能的场景,

2024-03-19 15:05:24 284

原创 java8中,线程池拒绝策略有哪些?默认是哪个?

此外,你还可以实现自己的 RejectedExecutionHandler 来定义自己的拒绝策略,并将其设置到线程池中。这为你提供了高度的灵活性,可以根据应用的具体需求来定制拒绝策略。你可以通过调用 ThreadPoolExecutor 的 setRejectedExecutionHandler 方法来设置你想要的拒绝策略。

2024-03-19 12:32:58 567

原创 java8中 CPU密集与IO密集的场景如何设置线程池参数?

在 Java 8 中,对于 CPU 密集型和 IO 密集型的任务,线程池的参数设置会有所不同。

2024-03-19 12:21:07 748

原创 java8中 ThreadPoolExecutor有哪些参数

ThreadPoolExecutor 是 Java 中一个非常灵活和强大的线程池工具,允许你精确控制线程池的行为。在这个例子中,线程池的核心线程数是 5,最大线程数是 10,空闲线程的存活时间是 60 秒,使用 LinkedBlockingQueue 作为工作队列,使用默认的线程工厂,以及 AbortPolicy 作为拒绝策略。你可以根据需要调整这些参数。

2024-03-19 11:57:18 329

原创 基于grafana+elk等开源组件的 云服务监控大屏架构

本套大屏,在某云服务大规模测试环境,良好运行3年+.本文主要展示这套监控大屏的逻辑架构.不做具体操作与配置的解释.

2024-03-14 10:11:52 661

原创 java运行时数据区

内存管理是每种开发语言不可避免需要考虑的问题,而JAVA语言作为主流的开发语言,其内存管理机制也是JAVA开发人员不可避免需要学习的内容,与C++不同的是,JAVA是将内存管理的控制权交给了JVM(java虚拟机),由其自动管理内存分配和回收,而不再需要开发人员手动的进行内存的分配和释放,故了解JVM运行时的内存机制有助于在程序发生内存溢出或者泄露时的问题快速定位。3、本地方法栈:本地方法栈与虚拟机栈类似,区别在于虚拟机栈执行的是java方法,而本地方法栈执行的是本地(Native)方法。

2024-03-14 09:08:03 338

原创 JAVA异常分类

受检型异常(非运行时异常),这类异常属于明知道可能出现,但是没有办法杜绝的异常。错误,一般指的是虚拟机的错误,是由Java虚拟机生成并抛出,程序不能处理所以也不加处理,例如OutOfMemoryError内存溢出、调用栈溢出StackOverFlowError。运行时异常(非受检型异常),是由于编程bug所导致,希望越早发现越好,所以不进行处理,直接终端报错即可,编程人员针对报错信息修改程序bug来解决问题。ArithmeticException 算数异常,就是执行数学计算时产生的非正常情况,如除以0。

2024-03-13 17:03:47 560

原创 String, StringBuffer, StringBuilder区别

String 是不可变字符序列。StringBuffer 是可变的字符序列。StringBuilder 也是可变的字符序列。

2024-03-13 16:57:41 353

原创 ConcurrentHashMap实现原理

判断头节点是否为链表,需要通过链表的方式循环判断是否有与当前 key 相同的值,有则在允许覆盖的情况下进行覆盖,没有则新建一个 Node 值放在链表最后;当 table 不为空时,判断在下标 i 的位置是否存在值,不存在则通过 CAS 方式直接在对应位置进行更新,更新成功则直接退出;遍历该 HashEntry,如果不为空则判断传入的 key 和当前遍历的 key 是否相等,相等则覆盖旧的 value 值。如果当前的 Node 节点为树节点,则进行树节点的相关操作;最后解除获取当前 Segment 的锁。

2024-03-13 12:14:05 333

转载 HashMap、LinkedHashMap、TreeMap、Hashtable、HashSet和ConcurrentHashMap区别

当我们往HashMap中put元素的时候,先根据key的hashCode(使用key的hashCode()方法获取)重新计算hash值(具体的算法这里就不讲解了,hash的算法中包含了很多优化的点,是存储的数据能够数组的每一位尽量只有一个值,而不是一个链表,这样能够提高查询效率),根据hash值算出这个元素在数组中的位置(即下标), 如果数组该位置上已经存放有其他元素了,那么在这个位置上的元素将以链表的形式存放,新加入的放在链头,最先加入的放在链尾。,但用户也可以在构造函数中设置并发度。

2024-03-13 12:10:40 60

原创 ArrayList扩容机制

原文链接:https://blog.csdn.net/weixin_43004044/article/details/129898335。

2024-03-13 11:38:50 358

原创 ArrayList是否线程安全?如何线程安全地操作ArrayList?

ensureCapacityInternal()这个方法的详细代码我们可以暂时不看,它的作用就是判断如果将当前的新元素加到列表后面,列表的elementData数组的大小是否满足,如果size + 1的这个需求长度大于了elementData这个数组的长度,那么就要对这个数组进行扩容。线程B也开始进行设置值操作,它尝试设置elementData[10] =e,而elementData没有进行过扩容,它的下标最大为9。4⃣️, 线程A发现需求大小为10,而elementData的大小就为10,可以容纳。

2024-03-05 11:49:41 515 1

原创 数组与List的区别

数组的长度是固定的,而集合的长度是不固定的底层用数组实现,可以动态扩容。两者的存储类型不一样,数组存储的数据类型都是一样的,比如都是int,string,但是集合存储的是对象,而且对象可以不一致。

2024-03-05 11:05:03 361

原创 List与Set的区别

List可以在取出元素时通过迭代器去取出,也可以逐个去遍历,也可以通过get的方法,通过下标去指定取出某个元素,这样可以比较灵活地随机访问元素。List是有序的集合,其内部的元素是按照一定的顺序排列的,可以存储重复的元素,并且可以根据索引访问元素。Set只能通过迭代器去取出元素,然后去遍历,但不能通过下标直接访问元素。List支持添加、删除和修改操作,这些操作可能会影响其他元素的位置。Set是无序的集合,不允许存储重复的元素,也不能根据索引访问元素。Set不支持修改操作,只能添加和删除元素。

2024-03-05 10:52:01 365

原创 ArrayLIst和linkedlist的区别

ArrayList随机访问比LinkedList快的原因:

2024-03-05 10:26:39 605

原创 测试平台的周期性任务(定时任务)设计.

因为我们使用java语言,所以选择了java中最流行的quartz框架。

2023-08-18 17:10:24 244

原创 vegeta压测工具源码修改, 增加 摸高模式(梯度加压)

pacer接口实现类为整个压测的定速器, 作用是控制施压速率,什么时间速率应该是多少.在pacer.go中增加如下代码.摸高模式(梯度加压)效果如下。

2023-06-27 17:23:38 186

原创 vue-element-admin 整合 springboot,docker 权限登录功能 框架搭建

搭建一个简单的前后端工程, 前端vue-element-admin ,后端 springboot,数据库postgresql 使用docker打包发布. 功能方面预置登录,账号功能. 方便后续自己添加业务逻辑实现各种管理系统

2023-01-12 17:12:33 219

原创 maven 安装本地jar包

【代码】maven 安装本地jar包。

2022-11-16 22:15:31 181

原创 【selenium 获取cookie】

使用selenium鉴权获取cookie,帮助后续自动化接口调用,使用golang与python两种语言实现

2022-11-02 16:32:41 3599

原创 【VScode 的远程开发】

https://zhuanlan.zhihu.com/p/95678121VScode 的远程开发,接下来开始在VS code上进行配置。一、配置免密远程登录因为是要远程登录,那么需要通过使用ssh进行密钥对登录,这样每次登录服务器就可以不用输入密码了。先来一句官方介绍:ssh 公钥认证是一种方便、高安全性的身份验证方法,它将本地“私有”密钥与远程主机上与用户关联的“公共”密钥进行匹配,从而实现免密登录。接下来介绍如何生成密钥并将其添加到远程主机。我是linux用户,就只介绍linux下的配

2022-04-26 23:38:58 1688

原创 jenkins ansible 部署golang项目到目标服务器

pipeline { agent any stages { stage('构建') { steps { sh 'go build xxx.go' } } stage('部署') { environment{ hh=pwd() } steps { echo 'pwd : ' + hh echo "Running ${env.BUILD_ID} ON ${env.JENKINS_URL}" // sh 'printen

2022-03-17 00:45:10 1218

原创 elasticsearch设置默认索引分片数量

PUT http://ip:port/_template/template_http_request_record{ "index_patterns": [ "*" ], "settings": { "number_of_shards": 5, "number_of_replicas": 1 }}number_of_shards 是索引主分片数.number_of_replicas是备份数量.上面的意思就是,一个索

2022-03-01 14:19:11 2518

原创 记一次mysql分页优化,mysql调优,mysql分页性能优化

SELECT * FROM test_table WHERE a=? AND b=? AND c=? AND id > 4353045 ORDER BY id asc LIMIT 1000SELECT *FROM metric_dimensionWHERE a = ? AND b=? AND c=?LIMIT 1000 OFFSET 4863;

2021-03-23 20:46:59 213

原创 springboot 设置service服务启动

maven,需要包含以下的配置<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration&

2021-01-11 23:31:24 1654

原创 python连接h2数据库

首先到有h2的jar包的目录下,启动h2数据库 ,要允许tcp连接(win系统如下图)java -cp ./* org.h2.tools.Server -tcpAllowOthers然后python操作先安装pip install jaydebeapi按照下面模板,干就完事了import jaydebeapidriver = 'org.h2.Driver'url = 'jdbc:h2:tcp://ip:port/~/dbname'username = 'sa'passwor..

2021-01-11 00:43:50 1892

原创 idea颜色配置 JqDark 后缀改成icls

#scheme name=“JqDark” version=“142” parent_scheme=“Darcula”##option name=“FONT_SCALE” value=“1.0” /##metaInfo##property name=“created”#2020-12-23T22:21:04#/property##property name=“ide”#idea#/property##property name=“ideVersion”#2020.2.3.0.0#/property

2020-12-24 22:17:27 219

原创 redis主从复制

主从复制原理主实例,自己有一个复制id,并且记录一份offset偏移量副本实例连接主实例的时候,来对比它的旧的master的复制id( old master replication ID),和他的复制偏移量 (相当于报告一下进度条)如果主实例中,根据他的id和offset,能分辨出来你之前的进度,那么去看偏移量能分辨出来有两种情况副本实例的old master replication ID等于主实例的replication ID主实例是原来由salve升级上来的主实例,记录了自己

2020-08-08 11:33:58 121

原创 ZGC的染色指针

在64位系统中,如果没有被压缩的话,一个指向对象的指针(即地址值)是占64bit的,我们拿出4个bit,来记录一些信息.如果这个指针原来指向了一个对象,在并发标记的过程之中,指向的对象有所改变,我们就用这4个bit来记录下这个变化下一次重新扫描的时候,就扫描这些变化过的对象(因为是地址值,而且是约定的值,比如规定第一位0是已经变化过的,那么下次直接扫描第一位是0的就好了),只不过这样的话,zgc只能支持4tb的内存.但是如果将来前18位也可以被开发出来使用的话,这4个bit直接挪到前面,那么zgc的支持

2020-08-01 21:30:49 4435 3

原创 三色标记的漏标问题及两种解决方案

文章目录什么是三色标记三色标记的漏标问题漏标的两个充要条件CMS采用的是`增量更新`G1采用的是`原始快照`什么是三色标记三色标记是在cms和g1中使用的垃圾追踪算法黑色从GCRoots开始,已扫描过它全部引用的对象,标记为黑色灰色扫描过对象本身,还没完全扫描过它全部引用的对象,标记为灰色白色还没扫描过的对象,标记为白色所以,从GCRoots开始,顺着一直向下扫描,用可达性分析算法,最后所有的白色对象,都是垃圾对象,可以回收三色标记的漏标问题我们采用一个最简单的模型,只

2020-08-01 00:17:11 5848 10

原创 从ReentrantLock看aqs源码

AQS是啥AQS,即AbstractQueuedSynchronizer, 队列同步器,它是Java并发用来构建锁和其他同步组件的基础框架许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch,AQS就是⼀个半成品框架,方便程序员实现锁从ReentrantLock看一下aqs源码public static void main(String[] args) { ReentrantLock lock = new ReentrantL

2020-07-26 16:09:05 154

原创 jupyterhub

c.JupyterHub.authenticator_class = ‘jupyterhub.auth.PAMAuthenticator’c.JupyterHub.bind_url = ‘http://:8000’c.JupyterHub.confirm_no_ssl = Truec.JupyterHub.ip = ‘172.16.0.5’c.JupyterHub.port = 8000c.Authenticator.delete_invalid_users = Truec.LocalAuthe

2020-06-10 22:49:12 406

原创 JVM对象创建过程

文章目录一. 检查是否类是否加载二. 分配内存1. 指针碰撞2. 空闲列表内存分配总结三. 将对象的属性初始化为`零值`四. 设置对象头信息五. 执行init方法,也就是java的构造函数在java中,对象的创建仅仅只是new一下而已,但是其实远远没有这么简单.一. 检查是否类是否加载当java虚拟机遇到一条new指令对应的字节码时候,首先将会去检查这个指令的参数能否在常量池中,获取到一个类...

2020-05-05 01:41:20 246

原创 idea 控制台 彩色打印日志

idea 控制台 彩色打印日志idea 控制台 彩色打印日志IDEA右上角:Edit Configurations,点击,找到VM options,填入-Dspring.output.ansi.enabled=ALWAYS。重新启动应用,就会发现控制台日志变成彩色了。...

2019-09-29 23:13:48 827

空空如也

空空如也

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

TA关注的人

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