笔记
文章平均质量分 60
MariaOzawa
啊巴啊巴
展开
-
2022 oracle账号,下载jdk账号
oracle账号,下载jdk账号原创 2022-09-01 21:28:38 · 882 阅读 · 1 评论 -
Java堆:Shallow Size和Retained Size
java堆 Shallow和retained sizes idea的Shallow和retained原创 2021-06-20 18:35:30 · 743 阅读 · 0 评论 -
mysql count 浅析
上次打了慢sql日志,发现有很多包含count逻辑的sql,周末抽空来梳理下mysql里的count。一. count(*)的实现与执行在mysql中,不同的存储引擎,count(*)的实现方式是不同的Myisam:Myisam会把表的行数存在磁盘上,每当执行count(*)的时候,直接返回就行了,所以速度非常快。Innodb:Innodb执行count(*)的时候,需要一条一条把数据从存储引擎里读出来,然后累计计数。既然myisam的count这么快,为什么innodb不能基于myisa原创 2021-04-11 22:03:49 · 436 阅读 · 0 评论 -
五百万数据 mysql count(*)优化
一、故事背景有一张 500w 左右的表做 select count(*) 速度特别慢。二、原 SQL 分析Server version: 5.7.24-log MySQL Community Server (GPL)SQL 如下,仅仅就是统计 api_runtime_log 这张表的行数,一条简单的不能再简单的 SQL:select count(*) from api_runtime_log;我们先去运行一下这条 SQL,可以看到确实运行很慢,要 40 多秒左右,确实很不正常~mysql原创 2021-04-11 18:46:40 · 9595 阅读 · 3 评论 -
openjdk 11 jmap 取消了 -heap 参数
openjdk 11 jmap工具取消了 -heap 参数,该 jmap 命令行工具打印内存相关统计运行中的VM或核心文件。对于核心文件,请使用 jhsdb jmap。$ jhsdb jmap --heap --pid 29620Attaching to process ID 29620, please wait...Debugger attached successfully.Server compiler detected.JVM version is 11.0.5+10-LTSusing原创 2021-01-26 21:17:56 · 3210 阅读 · 0 评论 -
feign自定义请求拦截器、编码器、解码器
feign自定义header,请求体,返回体,feign拦截器,编码器,解码器。feign返回的不是json格式。feign请求格式不是json。原创 2020-10-17 15:53:05 · 8183 阅读 · 0 评论 -
Idea使用eclipseCodeFormatter插件报错Invalid byte 1 of 1-byte UTF-8 sequence
在该插件 github isssus中找到了解决办法,参考以下isssus:*.java failed to format with Eclipse Code Formatter. Invalid byte 1 of 1-byte UTF-8 sequence.failed to format with Eclipse Code Formatter. Invalid byte 1 of 1-byte UTF-8 sequenceisssus 215 中给出了一个 EclipseFormatter.原创 2020-10-16 16:28:50 · 978 阅读 · 0 评论 -
java 泛型 PECS准则
我们知道<?>表示:我想使用Java泛型来编写代码,而不是用原生类型;但是在当前这种情况下,我并不能确定下泛型参数的具体类型,因此用?表示任何某种类型。因此,根据我们对通配符的了解,使用无界通配符的泛型类不能够写数据,而在读取数据时,所赋值的引用也只能是 Object 类型。那么,我们究竟如何向泛型类写入、读取数据呢? 《Effective Java2》给出了答案。 PECS: producer(读取)-extends, consumer(写入)-super。换句话说,如果输入参数表示一转载 2020-09-19 20:27:12 · 468 阅读 · 0 评论 -
java对象作为方法参数传递到一个方法后,对象内容是否发生改变的相关分析
java方法接收一个对象,修改该对象是否影响调用方转载 2020-09-03 19:24:33 · 6515 阅读 · 0 评论 -
jdk8默认垃圾收集器 UseParallelGC
jdk8默认垃圾收集器 UseParallelGC原创 2020-08-23 20:46:31 · 2246 阅读 · 0 评论 -
Java8—HashMap之tableSizeFor()
Java8—HashMap之tableSizeFor()转载 2020-08-17 12:08:58 · 756 阅读 · 0 评论 -
idea切换jdk版本,用来查看不同版本源码,简单方法
idea切换jdk版本,查看源码原创 2020-08-05 16:10:49 · 2341 阅读 · 0 评论 -
并发编程问题频发的原因
并发编程问题频发的原因原创 2020-07-30 14:34:32 · 666 阅读 · 0 评论 -
synchronized原理和偏向锁、轻量级锁、重量级锁的升级过程
synchronized原理,偏向锁,轻量级锁,重量级锁,锁升级原创 2020-07-29 15:33:30 · 2288 阅读 · 3 评论 -
mysql 慢查询日志的Query_time、Lock_time
mysql 慢查询日志的Query_time、Lock_time转载 2020-07-25 11:53:59 · 3280 阅读 · 0 评论 -
mysql的bin log、redo log、undo log 详解
mysql bin log、redo log、undo log的作用原创 2020-07-23 14:24:08 · 936 阅读 · 0 评论 -
mysql为什么对字段使用函数就不能走索引
mysql为什么对字段使用函数就不能走索引,mysql使用函数后不走索引原创 2020-07-15 16:01:16 · 8174 阅读 · 13 评论 -
mysql count(1) count(*) count(字段) count(主键id)区别
mysql count(1) count(*) count(字段) count(主键id)区别原创 2020-07-15 10:07:17 · 1169 阅读 · 0 评论 -
mysql性能抖动原因
之前文章介绍了 WAL 机制。现在你知道了,InnoDB 在处理更新语句的时候,只做了写日志这一个磁盘操作。这个日志叫作 redo log(重做日志)。当内存数据页跟磁盘数据页内容不一致的时候,我们称这个内存页为“脏页”。内存数据写入到磁盘后,内存和磁盘上的数据页的内容就一致了,称为“干净页”。平时执行很快的更新操作,其实就是在写内存和日志,而 MySQL 偶尔“抖”一下的那个瞬间,可能就是在刷脏页(flush)。什么情况会引发数据库的 flush 过程呢?InnoDB 的 redo log 写满原创 2020-07-14 10:45:25 · 1459 阅读 · 0 评论 -
mysql字符串前缀索引
mysql字符串前缀索引原创 2020-07-13 16:57:54 · 2141 阅读 · 0 评论 -
mysql为什么会选错索引
mysql为什么会选错索引原创 2020-07-13 16:56:21 · 615 阅读 · 0 评论 -
普通索引和唯一索引的区别
mysql普通索引,唯一索引原创 2020-07-13 10:17:38 · 998 阅读 · 0 评论 -
快照在mvcc中如何工作
讲事务隔离级别的时候提到过(mysql事物隔离级别),如果是可重复读隔离级别,事务 T 启动的时候会创建一个视图 read-view,之后事务 T 执行期间,即使有其他事务修改了数据,事务 T 看到的仍然跟在启动时看到的一样。也就是说,一个在可重复读隔离级别下执行的事务,好像与世无争,不受外界影响。和你分享行锁的时候又提到(mysql行锁),一个事务要更新一行,如果刚好有另外一个事务拥有这一行的行锁,它又不能这么超然了,会被锁住,进入等待状态。问题是,既然进入了等待状态,那么等到这个事务自己获取到行锁要更原创 2020-07-06 09:32:53 · 2045 阅读 · 0 评论 -
mysql全局锁,表锁,行锁
根据加锁的范围,MySQL 里面的锁大致可以分成全局锁、表级锁和行锁三类。全局锁加全局读锁的命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句。FTWRL 前有读写的话 ,FTWRL 都会等待 读写执行完毕后才执行FTWRL 执行的时候要刷脏页的数据到磁盘,因为要保持数据的一致性 ,理解的执行FT原创 2020-07-05 14:45:30 · 728 阅读 · 2 评论 -
mysql主键索引、非主键索引、联合索引、覆盖索引、最左匹配、索引下推
mysql主键索引、非主键索引、联合索引、覆盖索引、最左匹配、索引下推原创 2020-07-01 22:36:33 · 1735 阅读 · 1 评论 -
mysql事物隔离级别
mysql事物隔离级别原创 2020-07-01 10:24:50 · 1068 阅读 · 0 评论 -
mysql的redo log和bin log
mysql bin log redo log原创 2020-06-30 19:45:49 · 820 阅读 · 0 评论 -
grant之后为什么要flush privileges
grant之后为什么要flush privileges原创 2020-06-28 17:04:01 · 1009 阅读 · 0 评论 -
mysql基本架构及select语句执行过程(笔记)
MySQL 的基本架构示意图,从中你可以清楚地看到 SQL 语句在 MySQL 的各个功能模块中的执行过程。大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory原创 2020-06-28 16:12:28 · 778 阅读 · 0 评论 -
【踩坑总结】java8中stream的findAny踩坑
java8中stream的findAny踩坑需求:寻找list中符合要求的对象通过findAny去实现A a = bList().stream().filter(b -> "test".equals(b.getName())).findAny().get();结果后面发现这个方法并不是找得到就返回,找不到就不做处理,而是找不到直接抛异常了。于是后面改用了这种方式A a =bLi...转载 2020-05-08 15:18:49 · 2103 阅读 · 0 评论 -
逃逸分析、栈上分配、标量替换
逃逸分析、栈上分配、标量替换原创 2020-04-10 07:20:47 · 932 阅读 · 0 评论 -
什么是即时编译
什么是即时编译原创 2020-04-09 14:08:50 · 4313 阅读 · 0 评论 -
JVM 运行时数据区
JVM 运行时数据区,程序计数器,虚拟机栈,堆,方法区原创 2020-04-07 21:57:53 · 245 阅读 · 0 评论 -
Java一个16进制字符占多少个字节
一个16进制占多少个字节,1个字节占多少个16进制位转载 2020-04-03 10:32:21 · 3018 阅读 · 0 评论 -
git 复习笔记
无原创 2020-04-02 11:56:30 · 681 阅读 · 0 评论 -
windows idea导入spring源码
windows下idea导入spring源码报错解决原创 2020-03-23 13:55:24 · 618 阅读 · 0 评论 -
java8 LocalDateTime 获取当前是第几周
java8 LocalDateTime 获取当前是第几周原创 2020-02-15 15:54:05 · 13989 阅读 · 3 评论 -
轻松看懂Java字节码
Java字节码计算机只认识0和1。这意味着任何语言编写的程序最终都需要经过编译器编译成机器码才能被计算机执行。所以,我们所编写的程序在不同的平台上运行前都要经过重新编译才能被执行。 而Java刚诞生的时候曾经提过一个非常著名的宣传口号: “一次编写,到处运行”。Write Once, Run Anywhere.为了实现该目的,Sun公司以及其他虚拟机提供商发布了许多可以运行在不同平台上的...转载 2019-11-25 10:26:32 · 684 阅读 · 0 评论 -
用什么查看java dump文件
用什么查看java dump文件 用什么查看java hprof文件jvisualvm怎么查看dump文件转载 2019-11-14 14:27:52 · 4211 阅读 · 0 评论 -
SpringCloud Alibaba(Nacos)整合SpringBoot Admin
SpringCloud Nacos和SpringBoot Admin集成步骤。原创 2019-11-08 10:49:46 · 5184 阅读 · 4 评论