sk8QIOng
码龄8年
关注
提问 私信
  • 博客:25,510
    25,510
    总访问量
  • 39
    原创
  • 114,473
    排名
  • 7
    粉丝
  • 0
    铁粉

个人简介:分享记录一些自己的学习心得

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2017-02-28
博客简介:

weixin_37695911的博客

查看详细资料
  • 原力等级
    领奖
    当前等级
    0
    当前总分
    15
    当月
    1
个人成就
  • 获得13次点赞
  • 内容获得1次评论
  • 获得45次收藏
创作历程
  • 1篇
    2024年
  • 37篇
    2020年
  • 2篇
    2018年
成就勋章
TA的专栏
  • 面经
    1篇
  • MySQL
    7篇
  • jvm
    10篇
  • Java并发编程
    19篇
  • Java基础
    1篇
  • 个人心得
    1篇
兴趣领域 设置
  • 大数据
    oraclemysql数据库mariadb
  • 运维
    运维
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

180人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

MySQL Xid、trx_id 作用及区别

Xid是用来联系bin log和redo log的。存在于binlog和redolog之中。在宕机后进行恢复时,判断事务是否已经提交成功,还是说需要回滚。比如redo log里面有一个事务是prepare状态(第1阶段提交),那就可以用Xid去binlog里面查询该事务有没有提交:binlog有提交:则认为即使redolog中的事务是prepare也认为提交成功了(即:只要完整写入了binlog,即使没有第2阶段提交redolog了,也认为没有那个必要了);若binlog中没有提交:则回滚该事务。
原创
发布博客 2024.06.13 ·
601 阅读 ·
4 点赞 ·
0 评论 ·
11 收藏

删除表数据后,如何保证新增数据主键仍然从id=1开始自增

1、删了数据库某些列,现在希望新插入的值仍然从1开始,怎么办?(不能用drop,然后再create一张表这种愚蠢的办法)2、jvm中调整栈大小的参数:-Xss3、海量数据排序?4、Arrays.sort()默认实现是什么?问题1:mysql清空表可以用delete和truncate两个命令来完成:1. delete① 语法:delete from table_name;② 示例:DELETE FROM `order`;...
原创
发布博客 2020.08.16 ·
2566 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

MySQL - 慢查询日志 & SHOW PROFILES

慢查询日志记录所有执行时间超过long_query_time秒的所有查询或者不使用索引的查询并可以在mysql控制台直接输命令,但是只针对当前数据库,且重启后失效。还可以在my.cnf里面直接配置。my.ini是MySQL数据库中使用的配置文件,修改这个文件可以达到更新配置的目的。show variables like '%slow_query_log%'; //查看慢日志文件功能是否开启及日志文件的位置(windows默认在C:\ProgramData\MySQL.
原创
发布博客 2020.07.02 ·
348 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL - order by排序优化

排序优化:order by(索引不再用于查询,而是用于排序了)(order by默认升序)一句话:索引建的好,对order by的语句也有影响,怎么看这个关于order by的语句建立的好不好:根据Explain中Extra列是否显示Using filesort(显示了就不好)Using index(扫描有序索引排序) 和 Using filesort(文件排序),前者好,后者意味着order by 的列名(个数、顺序、种类)有些问题。Using filesort时,就没有使用索引提供好的顺序,而
原创
发布博客 2020.07.02 ·
607 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL - where和having不得不谈的区别

原创
发布博客 2020.07.02 ·
138 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL - in与exists 小表驱动大表

小表驱动大表:写sql前确定几件事:以员工(emp)和部门(dept)为例1、谁在外(左),谁在里(右)(根据中文描述来判断)找出指定部门里的员工:员工在外(左),部门在里(右)找出有员工参加的部门:部门在外(左),员工在里(右)2、谁大谁小(根据数据量)当小表在里时,使用in当大表在里时,使用exists正解:select * from tb_emp A where A.deptno in (select B.deptno from tb_dept B)//select *
原创
发布博客 2020.06.29 ·
1083 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL - 索引及优化分析EXPLAIN

首先抛出个问题,什么会引起sql慢、性能下降?答:执行时间长、等待时间长会导致sql慢,具体来说: 1.查询语句写的烂 2.索引失效,而索引又分为 *单值索引:给表只给一个字段建立的索引; create index idx_user_name on user(name); *复合索引:给表的多个字段联合在一起,建立的索引。 create index idx_user_nameEmail on user(name,email); 3.关联查...
原创
发布博客 2020.06.29 ·
322 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL - linux下jdk与mysql的安装(亲自验证通过)

因为现在想把项目部署在linux上测试,所以mysql也就需要安装在服务器上,而不能使用本地windows的mysql,所以linux要装jdk、mysql先一、linux安装jdk1.8:https://www.cnblogs.com/fswhq/p/10713429.html下载linux jdk1.8:链接:https://pan.baidu.com/s/1mZx5MFCKCShj47Xney224w提取码:fhim二、安装mysql:https://blog.csdn.net/w
原创
发布博客 2020.06.28 ·
362 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL - 入门(架构、存储引擎、文件)

MySQL架构了解四层1 连接器(连接层)2 业务逻辑层(服务层)3 存储引擎(引擎层)(服务端通过API与存储引擎进行通信)4 文件存储系统(存储层)Mysql存储引擎了解重点学习InnoDBMySQL配置文件了解一、配置文件Windows下最大的配置文件称为my.iniLinux下最大的配置文件称为/etc/my.cnf里面可以指定其他文件的位置以及一些参数二、日志文件1)二进制日志文件把主机上的变化记录下来,用于主从复制,默...
原创
发布博客 2020.06.28 ·
117 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

jvm - GC垃圾回收器(二) G1垃圾回收器

???G1垃圾回收器和CMS垃圾回收器有什么区别?G1横跨young old两区(证明:-XX:PrintGCDetails -XX:UseG1GC ,在输出中只能看到garbage first heap和Metaspace,看不到young、old),而CMS用于老年代;CMS采用老年代采用标记清除,而G1整体上采用标记整理,局部采用复制算法,不会产生内存碎片;在IDEA配置JVM参数:结果:只有两层,新生代+老年代被grabage-first heap一次性拿下(证明了: G.
原创
发布博客 2020.06.23 ·
237 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

jvm - GC垃圾回收器(一)年轻代+老年代

四种主要的垃圾回收器: *Serial(串行垃圾回收器):后台只有一个线程负责垃圾回收,当它回收时,会暂停所有用户线程,所以不适合服务器环境。(一个人打扫,其他客人都得等着) *Parallel(并行垃圾回收器):后台有多个线程负责垃圾回收,当它们回收时,同样暂停所有用户线程,适用于科学计算/大数据处理等若交互场景。(一堆人打扫,客人都得等着) *CMS(并发标记清除,简称 并发垃圾回收器):(它其实分4步,有两步其实还是会暂停一下,但效率已经高很多了)(边吃边打扫)...
原创
发布博客 2020.06.23 ·
1675 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

jvm - 强引用、软引用、弱引用(涉及WeakHashMap)、虚引用(涉及ReferenceQueue)垃圾回收时机

引用的架构图:Reference在java.lang.ref包下1、强引用(默认)将对象赋值给以引用变量,这个引用变量就是一个强引用,这个强引用指向的对象即使出现了OOM也不会被回收。代码举例:obj2也是强引用,所以即使obj不再指向new Object()对象了,但是该对象依旧不会被GC2、软引用SoftReference softReference = new SoftReference<>(new Object());适用于对内存敏感的..
原创
发布博客 2020.06.18 ·
454 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

jvm - GC roots & 参数调优与命令

什么是垃圾:内存中不再被使用到的空间。如何确定是不是垃圾:引用计数法、用枚举根节点做可达性分析。枚举根节点是一系列名为GC roots的对象集合(一组活跃的引用),作为起始点,它们下面连着的叫引用可达对象,没连着的叫引用不可达对象。哪些对象属于GC root Set?(???字符串常量池在方法区中吗)(jdk1.6的时候还在(此时为永久代))(jdk1.7,字符串常量池被移动到了堆中)代码举例:new GCRootDemo()就是虚拟机栈(栈中的本地变量表)中引用的对象;pr..
原创
发布博客 2020.06.18 ·
354 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

jvm - gc回收算法之 引用计数法、复制、标记清除、标记压缩 & Minor GC 和 Full GC的差别与调用时机

GC是什么(分代收集算法):1.在次数上,频繁地收集Young区:2.在次数上,较少地收集Old区:3.基本不动Perm区(元空间):GC4大回收算法:1、引用计数法(了解即可)(JVM的实现一般不采用这种方式。)给每个对象一个计数器,减到0的时候,回收。循环引用的举例:2、复制算法(Copying)(常见常用)(年轻代使用YGC或者说Minor GC进行垃圾回收,这种回收方式本质调用了复制算法)(即年轻代GC使用复制算法,复制算法不会产生内存碎片)把伊甸园.
原创
发布博客 2020.06.17 ·
411 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

jvm - jvm堆参数调优 & OutOfMemoryError的dmeo

堆参数的调优(我们说JVM调优,其本质就是对参数的调优)在jdk1.7下(已过时):其中:1)-Xms:start(默认为1/64,)2)-Xmx:max (默认为1/4,即默认堆的最大值是物理内存的1/4)堆的初始大小和最大值,两者最好一致,避免内存大小调整影响运行的性能3)-Xmn:new之前学过堆物理上,新生代和老年代的比例为1:2所以想要修改这个比例,就是调整 -Xmn 的大小,但是这个参数,一般不调。下面两个参数一辈子用不上,因为jdk1.8取消了永久
原创
发布博客 2020.06.17 ·
205 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

jvm - 堆的新生代和老年代 & 年轻代gc回收过程 & OutOfMemoryError & 永久代和元空间关系 & 字符串常量池在不同jdk版本的位置

堆(Heap)在jdk1.7以前:jdk1.8:永久区变成了元空间堆在物理上分为:新生+养老(真正干活的就这两个)讲一下堆中物理划分出两个:新生区+养老区:(真正干活的就这两个)新生区中伊甸区的GC称为Minor GC;养老区的GC称为Major GC(Full GC);堆从物理上分为新生区+养老区(真正干活的就这两个)伊甸区的GC又可以称为YGC;1.伊甸区满了(假设100个),需要GC,GC之后存活的对象,不会留在伊甸区,而是进入幸存者0区-S0-F..
原创
发布博客 2020.06.17 ·
796 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

jvm - 栈发生StackOverflowError的demo & HotSpot与jvm关系 & 句柄池原理

会导致栈溢出StackOverflowError它是一种错误,不是异常:(OutOfMemoryError也是错误)OutOfMemoryError和StackOverflowError都属于VirtualMachineError的一种下面讲一下方法区、栈、堆三者的关系:1.HotSpot是sun公司创建的JVM;(我们学习及使用的JVM,一般都是指sun公司创建的这个HotSpot)(所以引用通过指针,指向访问对象,没什么好解释的了)其它公司也可以自己创建一种jvm,取其...
原创
发布博客 2020.06.17 ·
247 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

jvm - 体系结构 & 本地方法接口 & pc寄存器 & 方法区 &栈

线程是操作系统级别的,不是语言级别的。因为Java语言中new Thread().start()中,其本质调用了一个native方法:start0();native方法:调用的是和Java无关的底层的操作系统库或者C语言函数库。本地方法接口(Native Interface)由于栈中存放方法,所以栈分了两类:Java栈(又叫虚拟机栈)、本地方法栈(Native Method Stack)(里面存放native方法)本地方法栈:本地方法接口在本地方法栈中登记标记为native...
原创
发布博客 2020.06.17 ·
156 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

jvm - 初步了解JVM体系结构 & 类装载器 & 双亲委派机制和沙箱安全

JVM的体系结构图:(橙色+灰色)灰色:线程私有(即每个线程对应一个)、内存占的特别少,几乎不存在垃圾回收Execution执行引擎:解释命令,交由操作系统执行本地方法接口:设计的目的就是融合不同的语言为Java所用。(本地方法接口在本地方法栈中登记标记为native的方法,当执行引擎执行时,本地方法接口调用native方法库)(即本地方法接口是本地方法栈、执行引擎、本地方法库的中心)方法区不是放方法的区,是放类的描述信息,即放模板的地方。类装载器不唯一,有几种,类不同,类装载.
原创
发布博客 2020.06.17 ·
144 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Synchronized原理 & 锁升级

转载自tongdanping:Java并发——Synchronized关键字和锁升级,详细分析偏向锁和轻量级锁的升级
转载
发布博客 2020.06.17 ·
107 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多