自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis快速入门

redis快速入门

2024-06-12 11:15:07 995

原创 java 逃逸分析

逃逸分析,是一种可以有效减少Java 程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法。通过逃逸分析,Java Hotspot编译器能够分析出一个新的对象的引用的使用范围从而决定是否要将这个对象分配到堆上。jdk6才开始引入该技术,jdk7开始默认开启逃逸分析。‐XX:+DoEscapeAnalysis //表示开启逃逸分析 (jdk1.8默认开启)这个对象甚至可能被其它线程访问到,例如赋值给类变量或可以在其它线程中访问的实例变量。‐XX:‐DoEscapeAnalysis //表示关闭逃逸分析。

2024-05-29 11:39:08 205

原创 docker常用命令

systemctl start dockersystemctl stop dockersystemctl restart dockersystemctl status dockersystemctl enable dockerdocker infodocker --helpdocker 命令 --helpexample:docker run --help列出本地主机上有的镜像字段解析:REPOSITORY:表示镜像的仓库源TAG:镜像的标签版本号IMAGE ID:镜像IDCREATED:镜像创建时

2024-05-21 10:52:17 585

原创 java当中的16种锁

偏是指偏心,它的意思是这个锁会偏向于第一个获得它的线程,如果在接下来的执行过程中,该锁一直没有被其他的线程获取,则持有偏向锁的线程将永远不需要再进行同步。为了提高性能, Java提供了读写锁,在读的地方使用读锁,在写的地方使用写锁,灵活控制,如果没有写锁的情况下,读是无阻塞的,在一定程度上提高了程序的执行效率。在并发环境中,每个线程会先查看此锁维护的等待队列,如果当前等待队列为空,则占有锁,如果等待队列不为空,则加入到等待队列的末尾,按照FIFO的原则从队列中拿到线程,然后占有锁。

2024-05-20 11:58:55 454

原创 java JMM模型

主要存储当前方法的所有本地变量(工作内存中存储着主内存中的变量副本拷贝),每个线程只能访问自己的工作内存,即线程中的本地变量对其他线程是不可见的,就算是两个线程执行的是同一段代码,它们也会各自在自己的工作内存中创建属于当前线程的本地变量,当然也包括了字节码行号指示器、相关Native方法的信息。2 :因为工作内存所更新的变量并不会立即同步到主内存,所以虽然线程A在工作内存当中已经把变量s的值更新成3,但是线程B从主内存得到的变量s的值仍然是0,从而输出 s=0。保持多个线程对共享数据操作内存的可见性。

2024-05-20 10:45:43 544

原创 clickhouse 快速入门

表中的数据可以按照指定的字段分区存储,每个分区在文件系统中都是都以目录的形式存在。常用时间字段作为分区字段,数据量大的表可以按照小时分区,数据量小的表可以在按照天分区或者月分区,查询时,使用分区字段作为Where条件,可以有效的过滤掉大量非结果集数据。在集群配置中,Shard标签里面配置的replica互为副本,将internal_replication设置成true,此时写入同一个Shard内的任意一个节点的本地表,ZooKeeper会自动异步的将数据同步到互为副本的另一个节点。1.2 查看表相关信息。

2024-04-27 02:12:08 410

原创 java性能优化及问题排查方法

cpu使用率 :CPU使用率是指CPU在特定时间段内的工作负载情况,通常以百分比表示。CPU使用率 = (1 - 空闲时间 / 总时间) * 100%cpu负载:CPU负载是指在一段时间内,CPU正在处理以及等待处理的进程数的总和交换区:磁盘上的一部分,用于当系统物理内存(RAM)被用尽时暂时存储被交换出来的数据页。磁盘IO:磁盘的输入输出操作,包括向磁盘写入数据和从磁盘读取数据。物理内存:它是计算机硬件提供的真实内存大小。

2024-04-11 13:46:05 1010 2

原创 shell快速翻阅

shell英文翻译过来是外壳的意思,作为计算机语言来理解可以认为它是操作系统的外壳。我们可以通过shell命令来操作和控制操作系统,比如Linux中的shell命令就包括lscdpwd等等。shell是站在内核的基础上编写的一个应用程序,它连接了用户和Linux内核,从而让用户能够更加便捷、高效、安全的使用linux内核,这其实就是shell的本质。使用专业术语的说法来解释,Shell其实是一个命令解释器,它通过接受用户输入的Shell命令来启动、暂停、停止程序的运行或对计算机进行控制。

2023-12-16 21:39:24 49 1

转载 mysql执行成本

mysql的innodb存储引擎会把数据存储到磁盘上,这时候无论怎么优化SQL,都是需要从磁盘中读取数据到内存,就是IO成本,每次读取磁盘,至少耗时0.01秒,至少读一页,innodb一个页的数据存储大小是16KB,这个磁盘的IO时间成本是1.0,这里的1.0没有单位,就是个比较值。从磁盘读到数据后要放到内存中处理数据的过程,这是CPU成本。读取后并且检测可能的where条件,这个CPU的IO时间成本为0.2,这里的1.0和0.2被称之为成本常数。

2023-09-25 00:45:22 131 1

原创 Mysql优化知识图谱

mysql优化知识图谱

2023-09-23 22:36:00 89 1

原创 Arthas快速入门

arthas常用命令

2023-09-18 10:53:20 171

原创 mysql各种锁

mysql innodb锁

2023-09-08 17:53:24 38 1

转载 转载:mysql索引

官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中)。我们通常所说的索引,包括聚集索引、覆盖索引、组合索引、前缀索引、唯一索引等,没有特别说明,默认都是使用B+树结构组织(多路搜索树,并不一定是二叉的)的索引。看到这里,你是不是对于自己的sql语句里面的索引的有了更多优化想法呢。

2023-08-18 16:00:18 39 1

原创 线程占用CPU高问题排查

对于cpu爆满问题,常常会分析是否存在问题线程,本文记录一种通过top快速找到问题线程nid的方式。通过top找到问题进程,例如下面有个进程CPU占用率高达99%,他的PID=270973。其中-p 270973表示查找指定进程270973的信息,-H表示线程模式。其中0x%x的0x是固定字符串,%x是printf的十六进制的转换类型。通过top -p 270973 -H查找问题线程。经对比,发现问题线程的PID=2447223。将线程PID转换为nid。

2023-08-17 15:41:05 224 1

原创 Memory Analyzer内存泄漏OOM基础概念

Shallow Heap 代表一个对象结构自身所占用的内存大小,不包括其属性引用对象所占的内存。一个对象的 Retained Set,指的是该对象被 GC 回收后,所有能被回收的对象集合(如下图所示,G的 Retain Set 只有 G 并不包含 H,原因是虽然 H 也被 G 引用,但由于 H 也被 F 引用 ,G 被垃圾回收时无法释放 H);注 1:Dump 文件包含快照被转储时刻的 Java 对象 在堆内存中的分布情况,但快照只是瞬间的记录,所以不包含对象在何时、在哪个方法中被分配这类信息。

2023-08-10 02:33:50 2945 1

原创 shell快速编写

shell快速编写

2023-05-23 10:36:16 40

原创 kafka常用命令大全

kafka常用命令,自己记录自己用的,如果安装有kafka manager 或者kafka eagle可以不用熟悉一下命令:–提示 --zookeeper的命令可能需要在后面加入/kafka 因为一般企业都会建节点的时候建个父目录kafka常用命令相关概念Brokerkafka节点,多个broker组成kafka集群。Topic即主题,kafka通过Topic对消息进行分类,发布到kafka的消息都需要指定Topic。Producer即消息生产者,向Broker发送消息的客户端。

2023-03-03 14:31:21 2156

原创 java8入门

java8常用api

2022-12-11 20:25:08 236 2

原创 nginx实现负载均衡

Nginx负载均衡主要有以下四种策略:轮询(默认),权重,IP_Hash,fair四种策略。

2020-12-29 21:19:16 106

原创 关于Iframe的内存的泄漏问题

工作日志      在这里插入代码片上个星期终于把手头的工作忙完了,内网通过三次nginx反向代理终于可以把所有资源全部访问到了,包括阿里云服务器当中的资源。      不到上线,你永远不知道有多少坑,以为一切都正常了的时候,我开始了性能测试,前端测试的时候,发现iframe概率加载失败,作为一个认为一定是什么原因导致的,打开内存查看工具,占用内存168MB,电脑是8GB的,分配给IE浏览器的内存有2GB,足够用了。 

2020-12-17 22:58:12 2250 2

原创 记录nginx反向代理流程

今天接到的需求是,由于是内网环境,我们的服务器没法直接访问互联网,那么,就需要用到nginx了,通过nginx反向代理,可以解决无法访问服务器的问题一 nginx服务器的安装1 安装 pcre wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz2 解压文件,./configure 完成后,回到 pcre 目录下执行 make 继续执行执行 make install3 执行命令 安装gc++环境,

2020-12-14 13:48:52 191

原创 浏览器实现滚动截屏

工作日志:实现浏览器滚动截屏,并且是指定的iframe在跨域的情况下。首先拿到这个需求的时候,想了一下,实现滚动截屏并不难,难的具体的情况如下,在IE浏览器的情况下,在前端实现,并且iframe是跨域的,还要自动上传服务器,万事开头难,尝试了HTML2canvas之后发现,它并不能解决跨域问题,而且不同浏览器其图片会有差异,并且最重要的一点,svg图在IE浏览器中截图是空白。当然,遇到需求,一定要解决,研究了IE设计接口,终于实现了,整体的思路是,拿到浏览器的接口对象,使用递归遍历,找到指定的ifra

2020-12-03 11:08:11 5079 8

空空如也

空空如也

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

TA关注的人

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