自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js-promise、async/await

写成async/await,这样async函数返回里面只有await 修饰就会等待await修改的函数执行完成以后再执行下一句。promise,简单就就是回调的一种简化了回调地狱(如果多个调用是异步并且有结果依赖,那么就需要写成回调)。async/await,需要成对使用,是对promise的更高级的抽象,

2024-06-19 00:08:31 224

原创 jvm工具-jps、jstat、jmap、jstack

一、jpsjps -v 【输出其他参考二、jstatjstat -gc 【vmid】 【查看Java堆的状态】jstat -gcutil 【vmid】 【查看Java堆占用百分比】S0 幸存0区域S1 幸存1区域E 伊甸园区O 老年区M 元空间 【有可能是P,表示永久代。具体的和jdk版本有关,笔者jdk版本是8】YGC 年轻代的GC,也就是Minor GC ,轻量GC ,次数15YGCT 轻量GC所耗时间 0.223秒FGC 重量级GC次数 3。

2024-06-16 21:27:56 422

原创 内存-VSS、RSS、PSS、USS

虚拟耗用内存大小,是进程可以访问的所有虚拟内存的总量,包括进程独自占用的物理内存、和其他进程共享的内存、分配但未使用的内存。比例驻留内存大小,包括进程独自占用的物理内存、比例分配和其他进程共享的内存(共享库内存会均分到各个共享进程)。驻留内存大小,是进程当前实际占用的物理内存大小,包括进程独自占用的物理内存、和其他进程共享的内存。独立内存大小,表示进程独自占用、不与其他进程共享的物理内存。

2024-06-16 20:59:20 272

原创 内存中的buffer和cache

如果数据不在Cache中,内核会从文件系统中读取数据,并将一份拷贝存储在Cache中,以备将来的读取请求。它通过预加载常用文件的内容,提高了对这些文件的访问速度,从而加速文件系统的读取操作。当数据从磁盘或其他设备读取到内存时,首先会存储在Buffer中,以提供对这些数据的快速访问。Cache更侧重于文件系统的读取,通过缓存文件数据和元数据提高文件系统的整体读取速度。Buffer存储的是I/O操作的数据块,通常是对物理设备的读写请求的中介。Cache存储的是文件系统的数据块,包括文件的元数据和实际内容。

2024-06-16 20:56:46 858

原创 redis-大key及影响

Redis大Key其实并不是字面意思,不是指存储在Redis中的某个Key的大小超过一定的阈值,而是指该Key所对应的value过大。对于string类型来说,一般情况下超过10KB则认为是大Key,对于set,zset,hash等类型来说,一般数据超过5000条即认为是大Key。当Redis存储的Key过大时,会对Redis的性能产生负面影响,如内存使用率过高、写入和读取数据的速度变慢等。

2024-06-16 20:19:48 462

原创 cpu100%原因及排查方向

根据Java文档,默认情况下,如果Java进程花费其时间的98%以上用于GC,并且每次运行中仅回收不到2%的堆,则JVM配置为抛出此错误。频繁的IO操作:如果代码中频繁进行磁盘或网络IO操作,会导致CPU等待IO操作完成,从而造成CPU占用率过高。:一款商业化的Java性能分析工具,它可以提供更详细的性能分析信息,帮助我们找出CPU占用率过高的原因。数据库中的数据表数据太大,由于没有判断带有条件,导致查询全表数据,查询出来的数据量太大,内存溢出;给服务器的堆内存设置的太小,没有足够的内存可以使用;

2024-06-15 21:54:04 550

原创 大数据-基础架构设施演进的过程

以Hadoop为代表的离线数据处理基础设施1.1、围绕HDFS和MR,产生了一系列的组件1.2、随着对批处理性能要求越来越高,产生了Tez、Spark、Flink等计算引擎。RM模型也逐步进化成DAG模型。DAG模型1、增加计算模型的抽象和并发能力根据聚合操作把任务分为多个stage,每个stage由一个或者多个task组成,task可以并行执行,从而提供计算的并行能力2、减少计算过程中的中间结果IO操作。

2024-03-17 00:15:37 299

原创 js-判断变量是否定义

【代码】js-判断变量是否定义。

2024-03-10 02:36:49 237

原创 java日志-干货系列-拒绝长篇大论

日志门面:简单点说就是统一了操作日志的api,然应用层无需关心底层的日志框架是什么,因为api都是同一个。日志框架:日志框架相较于门面是先出现的,因此日志框架本身就可以单独使用的,并不需要日志门面。logback是springboot默认的日志框架,出生时间相较于log4j要晚。logback 不用桥接,因为logback在按照slf4j来实现的。桥接、绑定:具体谁来做统一api的事情呢?也就是桥接和绑定来做。log4j2是log4j的升级版,log4j使用比较广泛。

2024-03-09 14:40:50 274

原创 远程-debug

【代码】远程-debug。

2024-03-06 22:25:35 299

原创 阿里云-linux搭建java环境并让项目running起来

点击上图按钮点击上图红框文字密码:不知道是我忘记了,还是本来就没有密码,直接修改密码就行简单。

2024-03-03 23:43:34 675

原创 mysql-json数组,json对象,json对象中数组索引创建及性能

给json对象中的数组添加索引。给json数组添加索引。给json对象添加索引。

2024-02-21 22:15:18 197

原创 java-trim-不仅仅过滤掉空格

结论,会过滤掉小于等于空格的字符,主要是用于打印的不可见字符,如回车、制表符、换行符等等。

2024-02-20 11:36:53 210

原创 es-删除字段-实测

es字段一旦创建是无法删除的,本案的方案是复制新老索引的方法。

2024-01-18 01:08:35 968

原创 linux-nohup、&区别

忽略挂断信号SIGHUP(比如:端口shell连接),底层是将进程转为守护进程,还可以重定向输入,比如将日志输出到指定文件。在shell中为空命令 在判断中可以做为 ture,忽略中断信号,比如ctrl+c,

2024-01-04 00:59:30 542

转载 java-守护线程和守护进程

由于在调用了fork函数时,子进程全盘拷贝了父进程的会话期、进程组、控制终端等,虽然父进程退出了,但会话期、进程组、控制终端等并没有改变,因此,这还不是真正意义上的独立开来,而setsid函数能够使进程完全独立出来,从而摆脱其他进程的控制。由于在Linux中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控 制终端,当控制终端被关闭时,相应的进程都会自动关闭。每个进程组都有一个组长进程,其组长进程的进程号等于进程组ID。

2024-01-04 00:31:30 322

原创 js-过滤制表符

g全局匹配,默认只匹配一次。

2023-12-12 00:13:01 175

原创 maven-plugin

可以通过mvn help:effective-pom这个命令在父工程目录或者子工程目录中执行,查看到底有没有被继承。plugin也是可以在继承的,即在父pom配置后,在子pom中也会有,

2023-12-06 01:10:15 258

原创 maven-profile

比如有些是用activeProfiles在pom中指定的,或者maven仓库指定的,如果在mvn package -P test。这样指定了以后将会用指定的代替默认的。指定profile生效的几种方式。查看当前生效的profile。

2023-12-06 01:02:44 202

原创 域名与服务器负载均衡技术学习总结

域名与服务器负载均衡技术学习总结_域名负载均衡-CSDN博客OSI七层网络模型和TCP/IP四层网络模型的异同_七层模型和四层模型的区别-CSDN博客

2023-11-28 22:08:37 302

原创 java-hprof 文件是什么

hprof 文件是 Java进程所使用的内存情况在某一时间的一次快照(Heap Profile 的缩写),格式为java_pidxxxxx*.hprof。

2023-11-26 10:24:00 3337

转载 java-创建数组三种方式

注意这里的花括号不是语句块,而且而且花括号后的分号也不能省,…不是元素意思是可以指定多个元素。注意:最大元素下标为2,并且所有的元素值均为0。三、声明数组时指定元素个数然后赋值。二、声明数组名开辟空间并且赋值。赋值一般用for循环。

2023-11-24 00:28:11 483

转载 javaweb-三大组件

【精选】JavaWeb:三大组件servlet & Filter & Listener_tomcat三大组件:servlet、listener、filter-CSDN博客

2023-11-23 11:06:01 37

转载 tcp重传

TCP重传 - 蚂蚁网-多维人生,三实而立!

2023-11-20 15:33:18 27

原创 maven-六类属性

java系统仅针对java程序,环境变量是全局的。两者都可以传进java进程。系统变量指的是java系统的变量,环境变量指的系统变量和用户变量。

2023-11-10 17:56:39 330

原创 java-为什么需要16进制如内存地址

其实16进制是综合上面三种进制的优缺点,得出来的。二进制太长,8进制不够短,32进制太难翻译,以上的缺点都是对于人而言的,10进制转态2进制不像2的倍数进制方便。【【学科冷知识】计算机为什么需要16进制?目的就一个:方便人看。机器其实不需要16进制,机器需要的是二进制,因此主要的目的是给人看。为什么不用二进制,八进制,三十二进制呢。

2023-11-10 16:53:14 65

转载 maven-maven-resources-plugin详解

maven-resources-plugin详解-CSDN博客Maven的生命周期详解_maven生命周期详解_怪 咖@的博客-CSDN博客

2023-11-07 23:20:35 71

原创 java-对Integer.MAX_VALUE做加法

原因是,int最大值用二级制表示是,第一位是符号为,0为正式,1为负数。因此此时是int能表示的最小数-2147483648。超出int最大值后会从最小值继续累加不会报错。,二级制逢二进一,因此。

2023-11-07 01:02:44 368

转载 maven-maven-surefire-plugin插件

Maven知识点-插件-maven-surefire-plugin简介-CSDN博客

2023-11-07 00:50:10 96

原创 es-并发写入报错及解决

哪怕是删除,也对这条数据的版本号加1。其实,每次删除一个document并不是立即进行物理删除的,因为它的一些版本号信息还保留着,比如先删除一条document,再重新创建这条document,会发现新建的这条document的_version版本号的值取自删除时_version的值再加1。以上简述的方案,虽然不能从根本上解决版本号异常的问题,但是却可以大大减少版本号异常发生的频次,同时也可以降低写入次数,并且当前文档更新的阻塞不会影响后续的数据同步,基本上解决了版本号异常对数据同步造成的堆积延迟。

2023-11-04 02:33:12 1265

原创 powermock-成员变量赋值

该篇文章比较详细,包括了这两个工具的基本使用。powermock成员变量设置。

2023-11-04 00:50:06 973

原创 groovy-比较运算符

二、"=="比较运算符不会出现类型转换的异常,因为groovy是弱类型语言。"=="比较运算符相当于java的equals。一、if的表达式为false的场景。".is"相当于java中的"="

2023-11-04 00:20:28 233

原创 mac-安装mysql

包含删除查看mysql版本。

2023-11-01 16:46:57 85

原创 spring-aop-execution表达式

【代码】spring-aop-execution表达式。

2023-10-27 10:25:18 130

原创 xxl-job-架构及原理

2、接受调度请求,找到对应的bean,并把bean放到线程池(最大200个线程)中执行,不需要等待结果,请求立即返回。2、注册任务类,任务类需要实现JobHandler这个接口的类。2、底层通过netty发起调度。1、注册到服务端成为执行器。1、根据执行器创建任务,

2023-10-26 23:13:34 471

原创 java-各种成员变量初始化过程-待完善

static 修改 在链接阶段的准备阶段分配内存并赋默认值(int 类型为0,Integer 为 null,对象 为 null)static final 修饰变量,如果可以在编译期推导出来,则在编译器分配内存及赋值,如果不能则在初始化赋值。Setter被执行——spring容器。一、本文章讨论的成员变量。然后再初始化时赋值。

2023-10-21 02:03:30 483 1

转载 mysql timestamp类型字段的CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP属性

当执行update操作是,并且字段有ON UPDATE CURRENT_TIMESTAMP属性。则字段无论值有没有变化,他的值也会跟着更新为当前UPDATE操作时的时间。CURRENT_TIMESTAMP,则无论这个字段有木有set值都插入当前系统时间。在创建新记录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它。在创建新记录的时候把这个字段设置为给定值,以后修改时刷新它。在创建新记录的时候把这个字段设置为0,以后修改时刷新它。在创建新记录和修改现有记录的时候都对这个数据列刷新。

2023-10-13 00:58:08 2958

原创 es-java客户端

更新时只会更新有字段的值,即使是空,没有对应的字段则不会更新已有的该字段的值。

2023-10-11 22:33:25 40

转载 java-@Autowired和@Resouce的区别

@Autowired和@Resouce的区别_@autowired注解和@resouce区别_龙腾天下3的博客-CSDN博客

2023-10-11 01:59:09 49

转载 Spring定时任务@Scheduled注解使用配置方式(cron表达式、fixedRate和fixedDelay)

Spring定时任务@Scheduled注解使用配置方式(cron表达式、fixedRate和fixedDelay)_scheduled(fixedrate-CSDN博客

2023-10-11 01:31:18 147

空空如也

空空如也

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

TA关注的人

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