自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (3)
  • 收藏
  • 关注

原创 用户空间+内核空间+虚拟内存

用户空间+内核空间+虚拟缓存

2021-07-09 09:19:19 365 3

原创 HTTP八种请求方法

1、opions 返回服务器针对特定资源所支持的HTML请求方法 或web服务器发送测试服务器功能(允许客户端查看服务器性能)2、Get 向特定资源发出请求(请求指定页面信息,并返回实体主体)3、Post 向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建立或原有资源的修改4、Put 向指定资源位置上上传其最新内容(从客户端向服务器传送的数据取代指定文档的内容)5、Head 与服务器索与get请求一致的相应,响应体不会返回,获取包含在小消息头中的原信息(与get请求类似,.

2021-07-05 21:52:01 442

转载 sql类数据库链接查询的算法,Nested Loop Join,Hash join,Sort Merge Join

先介绍着三类,如果有更厉害,或者有啥优化,我会在其他文章书写。还有这事为了sql类的。

2021-07-05 21:45:52 318

原创 mysql原理:join标到底是什么,为什么有军规不建议超过三个

mysql原理:join标到底是什么,为什么有军规不建议超过三个

2020-12-29 11:24:14 318 1

转载 java Map

1:HashMap 的数据结构?A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 8 时,链表转换为红黑树。transientNode[]table;2:HashMap 的工作原理?HashMap 底层是 hash 数组和单向链表实现,数组中的每个元素都是链表,由 Node 内部类(实现 Map.Entry接口)实现,HashMap 通过 put & get 方法存储和获取。存储对象时,将 K/V 键值传给 put() 方法:①、调用 hash(K) 方法

2020-10-25 20:05:05 70

原创 synchronized 对象头的作用和锁升级

首先进行结论总结偏向锁: 偏向锁认为,获取锁的总是同一个线程轻量级锁:轻量级锁认为,大多数情况下不会出现锁竞争,即使出现了锁竞争,获取锁的线程也能很快释放锁。获取不到锁的线程可以通过自旋等待一段时间,不会陷入阻塞状态。偏向锁的流程在锁对象的对象头中有一个ThreadId字段,如果字段是空,第一次获取锁的时候就把自身的ThreadId写入到锁的ThreadId字段内,把锁内的是否是偏向锁状态位置设置为1。下次获取锁的时候,直接查看ThreadId是否和自身线程Id一致,如果一致就认为当前线程已经取得了

2020-10-24 23:13:02 269

转载 S锁的原理实现

S锁的原理实现

2020-10-23 03:41:19 308

原创 mysql的事务隔离

数据库隔离级别1 事务事务只是一个改变,是一些的操作集合;用专业的术语去解释,就是一个程序的执行单元;事务本身并不包含这四个特性,我们需要通过某些手段,尽可能让这个执行单元满足这四个特性,那么,我们就可以称它是一个事务,或者说是一个正确的,完美的事务。2 四特性原子性:满足原子操作单元,对数据的操作,要么全部执行,要么全部不执行。一致性:事务开始和完成时,数据都必须保持一致。隔离性:事务之间相互独立,中间状态对外部不可见。持久性:数据的修改是永久性的,即使系统出现任何故障都能够保持。

2020-10-22 14:49:31 52

原创 零拷贝 和用户空间 和 内核空间

零拷贝的主要是实现都是通过操作系统 jvm只是通过讲数据放在不同的缓存区中进行利用read+write模式1、JVM发出read() 系统调用。2、OS上下文切换到内核模式(第一次上下文切换)并将数据读取到内核空间缓冲区。(第一次拷贝:hardware ----> kernel buffer)3、OS内核然后将数据复制到用户空间缓冲区(第二次拷贝: kernel buffer --> user buffer),然后read系统调用返回。而系统调用的返回又会导致一次内核空间到用户空间的上

2020-10-18 12:17:43 286

原创 java buffer简单介绍和使用

1.两个gat set实现方法2.remark reset

2020-10-12 11:24:19 1333 1

转载 java字节序、主机字节序和网络字节序扫盲贴

https://blog.csdn.net/aitangyong/article/details/23204817

2020-10-12 11:22:48 87

原创 Java 文件读写中channel inputstream outputstream

1.两个gat set实现方法2.remark reset

2020-10-11 23:35:05 1956

原创 mysql的锁:innoDB引擎

InnoDB实现了以下两种类型的行锁。共享锁(s):允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁。排他锁(X):允许获取排他锁的事务更新数据,阻止其他事务取得相同的数据集共享读锁和排他写锁。另外,为了允许行锁和表锁共存,实现多粒度锁机制,InnoDB还有两种内部使用的意向锁(Intention Locks),这两种意向锁都是表锁。意向共享锁(IS):事务打算给数据行共享锁,事务在给一个数据行加共享锁前必须先取得该表的IS锁。意向排他锁(IX):事务打算给数据行加排他锁,事务在给一个数据

2020-10-06 12:02:39 64

原创 网络模型

物理层激活、维持、关闭通信断电之间的机械性、电气特性、功能特性以及过程特性; 该层为上层协议提供了一个传输数据的可靠物理媒体。物理层确保原始的数据可以在各种物理媒体上传输。 物理层较为重要的两个设备: 中继器(Repeater 也叫放大器)、集线器。数据链路层数据链路层在物理层提供的服务基础上想网络层提供服务;其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的网络层。为达到这一目的,数据链路层具备一系列相应的功能:如何将数据组成数据块,在数据链路层中这种数据开称为“帧”(frame)。帧是.

2020-10-04 01:01:07 98

原创 Java 工作内存与主内存交互

物理机高速缓存和主内存之间的交互有协议,同样的,java内存中线程的工作内存和主内存的交互是由java虚拟机定义了如下的8种操作来完成的,每种操作必须是原子性的(double和long类型在某些平台有例外,参考volatile详解和非原子性协定)java虚拟机中主内存和工作内存交互,就是一个变量如何从主内存传输到工作内存中,如何把修改后的变量从工作内存同步回主内存。lock(锁定):作用于主内存的变量,一个变量在同一时间只能一个线程锁定,该操作表示这条线成独占这个变量unlock(解锁):作用于主内存

2020-10-03 23:57:17 344

原创 mvc架构

MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制)。1)最上面的一层,是直接面向最终用户的"视图层"(View)。它是提供给用户的操作界面,是程序的外壳。2)最底下的一层,是核心的"数据层"(Model),也就是程序需要操作的数据或信息。3)中间的一层,就是"控制层"(Controller),它负责根据用户从"视图层"输入的指令,选取"数据层"中的数据,然后对其进行相应的操作,产生最终结果。下面是一个斯坦福的经典图这三层是紧密联系在一起的,但又

2020-09-30 23:51:44 4301

原创 liunx进行 idea java 运行时反汇编

详细配置如果出现问题进行apt-get install libhsdis0-fcml

2020-09-26 18:07:17 136

原创 http设计:错误码 五谷丰登

HTTP 500 - 内部服务器错误HTTP 500.100 - 内部服务器错误 - ASP 错误HTTP 500-11 服务器关闭HTTP 500-12 应用程序重新启动HTTP 500-13 - 服务器太忙HTTP 500-14 - 应用程序无效HTTP 500-15 - 不允许请求 global.asaError 501 - 未实现HTTP 502 - 网关错误用户试图通过 HTTP 或文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内

2020-09-26 11:44:37 107

原创 http设计:错误码 大四喜 主要是大

4xx - 客户端错误发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。• 400 - 错误的请求。• 401 - 访问被拒绝。IIS 定义了许多不同的 401 错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在 IIS 日志中显示:• 401.1 - 登录失败。• 401.2 - 服务器配置导致登录失败。• 401.3 - 由于 ACL 对资源的限制而未获得授权。• 401.4 - 筛选器授权失败。• 401.5 - ISAP

2020-09-26 11:00:30 111

原创 http设计:错误码 一枝独秀

1xx - 肯定的初步答复这些状态代码指示一项操作已经成功开始,但客户端希望在继续操作新命令前得到另一个答复。 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。• 100 - 继续。• 101 - 切换协议。• 110 重新启动标记答复。• 120 服务已就绪,在 nnn 分钟后开始。• 125 数据连接已打开,正在开始传输。• 150 文件状态正常,准备打开数据连接。...

2020-09-26 10:51:11 103

原创 http设计:错误码 两开花

2xx - 成功 这类状态代码表明服务器成功地接受了客户端请求。• 200 命令确定。确定。客户端请求已成功。• 201 - 已创建。• 202 未执行命令,站点上的命令过多。已接受。• 203 - 非权威性信息。• 204 - 无内容。• 205 - 重置内容。• 206 - 部分内容。• 211 系统状态,或系统帮助答复。• 212 目录状态。• 213 文件状态。• 214 帮助消息。• 215 NAME 系统类型,其中,NAME 是 Assigned Numbers 文档中所

2020-09-26 10:38:55 126

原创 http设计:错误码 三羊开泰

http错误码

2020-09-26 10:30:52 82

原创 布隆过滤器

直观的说,bloom算法类似一个hash set,用来判断某个元素(key)是否在某个集合中。和一般的hash set不同的是,这个算法无需存储key的值,对于每个key,只需要k个比特位,每个存储一个标志,用来判断key是否在集合中。算法:首先需要k个hash函数,每个函数可以把key散列成为1个整数初始化时,需要一个长度为n比特的数组,每个比特位初始化为0某个key加入集合时,用k个hash函数计算出k个散列值,并把数组中对应的比特位置为1判断某个key是否在集合时,用k个hash函数计算

2020-09-25 18:53:24 74

原创 Netty:scoket连接方式

dfdf

2020-09-25 18:43:58 113

原创 http和https加密过程

Step1:客户端向服务端发送“ client hello ”消息,并按客户端设置的优先级列出客户端支持的所有加密套件,并发送一个随机数(用于后续生成会话密钥)Step2:服务端向客户端发送“ server hello ”消息,并根据自己的优先级从客户端提供的加密套件中选取最佳匹配项,并向客户端发送会话 ID、服务端证书和又一个随机数。如果需要双向认证的话,服务端还会像客户端发送一个请求客户端证书的申请Step3:客户端验证服务端证书Step4:客户端从服务端证书中提取服务端的公钥,并用公钥加密一个.

2020-09-25 18:42:19 169

原创 redis缓存穿透

redis缓存击穿

2020-09-23 00:14:05 58

原创 redis缓存击穿

redis缓存穿透

2020-09-23 00:13:36 281

原创 redis缓存雪崩

redis缓存雪崩

2020-09-23 00:13:06 78

原创 网站部署

1.高访问量 ,高并发量2.线程就是1M的开销,大概平均有100M左右。3.线程池的左右是帮助我们管理线程分配任务。

2020-09-16 11:41:19 71

原创 rpc基础简介

踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩

2020-09-16 11:28:53 179

原创 何为去中心化

一、传统方式我们的验证结构是这样的,通过一个中央服务器,对所有人的交易信息和验证信息进行储存,由此如果中央服务器出了问题就会导致所有的服务失效。掌控中央等于掌控所有。为了防止出现这种情况,我们开始去中心化。我们现在通过的是区块链的技术。其实就是信任链,就是比如有一个人有了交易,这个时候有一群人开始进行记账,而且还是链式就是 你记完了 我在你下面记。这是如果有人想要验证账本是否是真的,就看人数,有十个说是真。但是出来二十个人说是假的。这时候就是假的。就是从一人做判断,变成了人数做判断。你想作假是不是要让十个人

2020-09-15 10:36:01 498

原创 本地缓存的优缺点

访问速度快,但无法进行大数据存储本地缓存相对于分布式缓存的好处是,由于数据不需要跨网络传输,故性能更好,但是由于占用了应用进程的内存空间,如 Java 进程的 JVM 内存空间,故不能进行大数据量的数据存储。集群的数据更新问题与此同时,本地缓存只支持被该应用进程访问,一般无法被其他应用进程访问,故在应用进程的集群部署当中,如果对应的数据库数据,存在数据更新,则需要同步更新不同部署节点的本地缓存的数据来包保证数据一致性,复杂度较高并且容易出错,如基于 Redis 的发布订阅机制来同步更新各个部署节点。.

2020-09-14 18:33:27 1376

原创 并发问题

全体成员 今晚10点半讲课,关于编码线程安全相关的点,针对P5,P6等级工程师,以及有意架构师的同学们【JAVA】党光辉下的番茄(1159505450) 2019-11-07 11:51:24对的【JAVA】党光辉下的番茄(1159505450) 2019-11-07 12:24:56群里【JAVA】党光辉下的番茄(1159505450) 2019-11-07 22:29:33@全体成...

2020-09-14 18:24:14 502

原创 mysql原理:最左原则

最左原则

2020-09-14 18:00:28 701

原创 mysql原理:b+树索引

b树

2020-09-14 13:44:43 70

原创 为什么用中间位作为组索引

如果用最高位做索引情况如上图中的中间所示,连续的块都别映射到了同一个组中(特别的,如果是直接映射高速缓存,连续的块被映射到同一行中)这样的确也能利用缓 存,如上图所示,当引用第一个元素的时候,会把第1、2、3、4个拷贝到缓存的组0中,以后对2、3、4的引用就能直接在缓存中提取。引用第5个元素的时 候,把第5、6、7、8个拷贝到缓存的组1中,同样的,对4、5、6的引用能直接在缓存中提取。后面的情况类似就不再叙述。通过上面的叙述,你可能已经发现一个问题:当对缓存的组1进行操作的时候,缓存中的其它组是没有被利

2020-09-14 04:39:43 867 3

原创 缓存:局部性

杀杀杀

2020-09-14 04:37:47 130

原创 缓存数据结构:地址索引和缓存映射

钱钱钱

2020-09-08 23:06:55 197

原创 缓存一致性:写未命中

上面的写回 写修 写直等方法 主要是在写命中的方法,但是写未命中的该适用于写分配规则。加载相应的第一层的存储层到本层缓存中。然后更新这个缓存块。写分配试图利用写的空间局部i选哪个,但是缺点是每次不命中导致加载行。另一种是非写分配,避开高速缓存,直接把这个字直接写到第一层中。这个和写直法。写回是写分配。并且在cpu架构中 第一次没有命中也有周期惩罚。越低的层周期惩罚越大。...

2020-09-04 09:41:07 1123

原创 Cache一致性:MESI

一、硬件办法大多数的处理器都有自己的cache,同一主存块的拷贝能同时存于不同cache中,若允许处理器各自独立的修改自己的cache,就会出现不一致问题。解决此问题由软件办法和硬件办法。硬件办法能动态的识别出不一致产生的条件并予以及时处理,从而让cache的使用有很高的效率。并且此办法对程序员和系统软件开发人员是透明的,减轻了软件研制负担。从而普遍被采用。    ◆ 目录协议(Directory Protocol)::它由位于主存的目录来保存有关各个局部cache的全局性状态信息,并由一个集中式的主

2020-09-03 00:05:13 676

dubbo-admin-2.5.10.war

这是自己编译的内容 因为现在资源价格飞起 所以搞掂东西买卖 不要24 不要14 只要3积分 dubbo-admin-2.5.10.war 如果资源张评论 改

2020-09-21

dubbo monitor dubbo注册中心

dubbo-monitor-simple-2.5.10-assembly.tar.gz 这是自己编译的内容 因为现在资源价格飞起 所以搞掂东西买卖 不要24 不要14 只要3积分 如果积分张了 我可以改

2020-09-21

unity studio v0.9.0 源码

unity studio 的资源源码 用于unity3D 的反汇编和开发 不说了 没想到他自己长价了

2018-01-25

空空如也

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

TA关注的人

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