自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (6)
  • 收藏
  • 关注

原创 MySql 页和行格式

Page: 页,16K的物理内存, page上存的是需要保存到磁盘上的数据, 这些数据可能是数据记录信息, 也可以是索引信息或其他的元数据等;InnoDB中,数据管理的最小单位为页,默认是16KB,页中除了存储用户数据,还可以存储控制信息的数据。InnoDB IO子系统的读写最小单位也是页。如果对表进行了压缩,则对应的数据页称为压缩页,如果需要从压缩页中读取数据,则压缩页需要先解压,形成解压页,解压页为16KB。压缩页的大小是在建表的时候指定,目前支持16K,8K,4K,2K,1K。即使压缩页大小设为1

2022-04-07 17:21:28 948

原创 MySql Innodb 索引 B+Tree

索引的目的B+Tree索引B+树是由二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree)逐步优化而来。二叉查找树的任意一个节点,其左子树的每个节点的值都要小于这个节点的值,而右子树节点的值都应大于这个节点的值。平衡二叉树(AVL树)在符合二叉查找树的条件下,还满足任何节点的两个子树的高度最大差为1。B-Tree是为磁盘等外存储设备设计的一种平衡查找树。索引关键字从左到右递增排序,非叶子结点关键字比其左边的指针指向的子节点都大,比其右边的关键字都小,从而达到

2022-02-08 13:54:36 479

原创 mysql innodb redo log

mysql innodb redo log

2021-12-16 20:50:56 711

原创 MySql innodb buffer pool

show variables where variable_name in ('innodb_buffer_pool_size','innodb_file_per_table','innodb_log_buffer_size','innodb_page_size','key_buffer_size','query_cache_size');测试数据库:innodb_buffer_pool_size:buffer pool大小 , 4294967296byte =4GBinnodb_page_size

2021-12-10 11:32:15 721

原创 MySql索引概述

B+树

2021-12-08 09:44:43 190

原创 计算机操作系统日志

计算机os操作系统

2021-11-08 10:29:18 227

原创 spring cloud 到 dubbo

1,切换注册中心,从eurake 到 nacos

2021-10-26 10:40:30 202

原创 其他(幂等性)

幂等性幂等性:多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。什么情况下需要幂等SELECT col1 FROM tab1 WHER col2=2,无论执行多少次都不会改变状态,是天然的幂等。UPDATE tab1 SET col1=1 WHERE col2=2,无论执行成功多少次状态都是一致的,因此也是幂等操作。UPDATE tab1 SET col1=col1+1 WHERE col2=2,每次执行的结果都会发生变化,这种不是幂等的。insert in

2021-09-19 16:07:13 145

原创 常用系统调用

mmap读写文件,一般有两种方式。一种是open一个文件,然后使用read系统调用读取文件的一部分或全部。这个read过程是这样的:内核将文件中的数据从磁盘区域读取到内核页高速缓冲区,再从内核的高速缓冲区读取到用户进程的地址空间。这里就涉及到了数据的两次拷贝:磁盘->内核,内核->用户态。而且当存在多个进程同时读取同一个文件时,每一个进程中的地址空间都会保存一份副本,这样肯定不是最优方式的,造成了物理内存的浪费。看下图:共享存储映射mmapopen一个文件,然后调用mma

2021-09-19 15:26:30 1492

原创 NIO note

FileOutputStream vsBufferedxxxStream/ByteArrayxxxStreamFileOutputStream 每次都向内核调一次syscall和write(byte[]),将二进制流写入操作系统内核的page cache。不提供flush(),只有close。BufferedxxxStream,buffer缓存区是jvm层面的东西,默认开辟了8kb的数组。每次write先写入缓存区,等这8kb写满了才调用一次内核syscall和write(byte[]),将二进制.

2021-09-19 11:09:34 124

原创 容器note

hashMap计算数组下标在1.8中, tab[i = (n - 1) & hash] 和e.hash & (newCap - 1) 都是计算节点在数组中的下标。在1.7中是用 indexFor(int h, int length)。 /** * Returns index for hash code h. */ static int indexFor(int h, int length) { // assert Inte...

2021-09-02 10:31:13 80

原创 高可用,高性能,一致性

高可用,单点故障高性能,水平扩展,分区,分片,分表,一致性,包括数据不一致,数据丢失。主从复制采用异步复制,会导致不一致。分区

2021-08-30 15:51:27 342

原创 jvm调优和诊断

JVM调优:目标是减少full GC,减少STWJVM诊断:排除各种问题1)栈(线程)诊断2)堆诊断调优:年轻代太小(老年代过大),会导致对象未达到年龄15就进入老年代,增加full GC的次数,且老年代过大每次full GC的stw过长。年轻代过大,老年代过小,导致老年代频繁full gc。注:年轻对象进入老年代的条件:(动态对象年龄判定:为了能更好地适应不同程度的内存状况,虚拟机并不是永远地要求对象的年龄必须达到了MaxTenuringThreshold才能晋升到⽼年代..

2021-08-21 14:02:47 170

原创 org-5.4

中断处理技术

2021-03-06 11:10:07 59

原创 jvm 性能调优

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入jvm性能调优欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学

2020-06-05 01:08:12 210

原创 Redis数据类型的底层实现原理

redis 数据类型的底层实现原理

2019-03-05 11:26:02 446 1

原创 ConcurrentHashMap的原理

以JDK1.8为例:在JDK8中进行了巨大改动,它摒弃了Segment(锁段)的概念,它沿用了与它同时期的HashMap版本的思想,底层由Node数组+链表+红黑树的方式思想,为了线程安全,采用了Synchronized和CAS乐观锁机制。在CAS算法中,会比较内存中的值与你指定的这个值是否相等,如果相等才接受你的修改,否则拒绝你的修改,因此当前线程中的值并不是最新的值。进行加锁操作,也就是存...

2019-02-28 19:31:12 115

原创 java中垃圾收集的方法有哪些?

标记-清除: 这是垃圾收集算法中最基础的,根据名字就可以知道,它的思想就是标记哪些要被回收的对象,然后统一回收。这种方法很简单,但是会有两个主要问题:1.效率不高,标记和清除的效率都很低;2.会产生大量不连续的内存碎片,导致以后程序在分配较大的对象时,由于没有充足的连续内存而提前触发一次GC动作。 复制算法: 为了解决效率问题,复制算法将可用内存按容量划分为相等的两部分,然后每次只使用其中的...

2019-02-28 19:29:31 1465

原创 Scala函数

1.      方法(method)scala函数的定义格式如下: def functionName(params): resultType={         functionBody} scala函数的基本构成和java方法是基本一样的,只是格式上相差比较大。以def关键字开始函数定义,然后是函数名和括号中的参数列表,冒号“:”和函数的返回类型(scala中称为结果

2017-04-18 23:07:25 386

原创 scala隐式转换

隐式转换和隐式参数是Scala中两个非常强大的功能,利用隐式转换和隐式参数,你可以提供优雅的类库,对类库的使用者隐匿掉那些枯燥乏味的细节。1.1.  作用隐式的对类的方法进行增强,丰富现有类库的功能1.2.  隐式转换函数是指那种以implicit关键字声明的带有单个参数的函数  ##所有的隐式值和隐式方法必须放到object##隐式转换所在的object必须放在m

2017-04-08 16:30:24 522

原创 Broadcast Receiver监听网络状态aa

在代码中动态注册,不需要在AndroidManifest.xml里静态注册,静态注册在不打开App的情况下,有可以接收到广播。public class MainActivity extends Activity {private IntentFilter intentFilter;private NetworkChangeReceiver networkChangeReceiver;@Over

2016-06-01 18:28:15 324

原创 Gson解析使用指南

Json 全称 JavaScript Object Natation ,用来描述数据结构,它是基于纯文本的数据格式,是一种轻量级的数据交换格式。广泛应用于 服务端 与 客户端 的数据交互。格式Json 以 key-value的形式存储数据;Key的取值 为 String 类型;Value的取值 为 String,boolean,Number,数组,Object,null;Json 串 以 { 开始

2016-05-30 21:24:40 383

原创 C语言基础及例程

输入输出函数%d- int%ld – long int%hd – 短整型%c -char%f -float%lf – double%u – 无符号数%x – 十六进制输出 int 或者long int 或者short int%o -八进制输出%s – 字符串Int len;Scanf(“%d”,&len);

2016-05-21 15:20:41 547

408考研 2019年天勤数据结高分笔记pdf

408计算机考研必做 2019年天勤数结高分笔记pdf 高清版

2019-06-20

2019天勤计算机组成原理计算机考研复习指导电子版PDF..pdf

408计算机考研 天勤2019计算机组成原理计算机考研复习指导电子版PDF.

2019-06-20

Android仿蘑菇街TAB悬浮控件

Android仿蘑菇街TAB悬浮控件,用Android studio打开

2016-02-23

Android腾讯微博源码

Android腾讯微博源码,客户端,技术非常新。

2015-10-18

Think In Java 4

这是关于Java 的一本好书。非常不错,你干得太好了!书中涉及的深度真让人震惊。一旦正式出 版,我肯定会买下它。我从96 年十月就开始学习Java 了。通过比较几本书,你的书可以纳入“必 读”之列。这几个月来,我一直在搞一个完全用Java 写的产品。你的书巩固了我一些薄弱的地方, 并大大延伸了我已知的东西。甚至在会见承包商的时候,我都引用了书中的一些解释,它对我们的开 发小组太有用了。通过询问组内成员我从书中学来的知识(比如数组和矢量的区别),可以判断他们 对Java 的掌握有多深。

2015-08-28

mysql-connector-java-5.1.36-bin.jar

mysql-connector-java-5.1.36-bin.jar

2015-08-17

空空如也

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

TA关注的人

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