自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 paxos协议

解决问题:在消息有可能丢失的情况下,如何保证多个提出者(Proposer)和多个接收者(Acceptor)最终得到一个一致的提案。 理论要求: 1.一个acceptor必须批准他的第一个提案 2.存在一个超过...

2019-08-17 12:05:00 121

转载 三阶提交

一阶段: 发送canCommit请求,这里的内容包含了提交内容。 二阶段: 根据一阶段结果,如果: 成功: 1.发送preCommit请求,进入prepared阶段 2.接收者进行事务操作,记录redo和undo log ...

2019-08-17 09:08:00 118

转载 oauth2

oauth2是针对于第三方应用请求自身资源的一种授权机制。其中有两个概念,一个叫做客户端,客户端实际上就是第三方应用在oauth2上的一个认证。我首先要知道你是一个合法的请求者,在我这里注册才行,所以每个第三方应用需要在这里拥有注册信息,可以是账号密码。那么还有一个概念叫做用户...

2019-07-17 21:03:00 140

转载 19年java面试笔试记录

19年面试已经告一段落,现场面试加上电面加起来也有十家不止,在此记录一下遇到过的笔试和面试题。 一、基础知识 1.hashmap的实现,被问烂掉的问题 (蚂蚁金服) 2.什么时候重写hashcode和equa...

2019-04-04 23:08:00 273

转载 只是告一段落

现在已经是2019.01.06,比起立下的flag,还是迟了整整一周。分析一下,原因有二,一是元旦前突然开始打农药,浪费了很多时间。二是对于netty的内存管理平时接触便少,这里还挺复杂,所以一直看的云里雾里,虽然说今天算是勉强把坑填上了,但是还有许多东西,比如cache,内存...

2019-01-06 23:28:00 114

转载 五、netty的内存管理

首先先来了解一对概念,堆内存和堆外内存。那么我们知道jvm其实是作为一个software跑在操作系统上的,而jvm首先会从操作系统中划出一块内存自己来管理,这块内存在jvm的管理下分成了堆,栈,计数器,方法区等等。在io操作的时候,无法直接将数据写入堆内存中,因为对于io操作,...

2019-01-06 20:16:00 137

转载 四、netty的bootstrap

之前看过不少文章都是从bootstrap讲起来的,这样的好处显而易见,可以较快的对Netty的整体结构,各种功能间的协作关系有一个认知。但是当时自己对selector,channel等都不甚理解,所以看的也是云里雾里。其实这次也是我阅读源码的一个顺序吧,把BootStrap放在...

2018-12-30 20:48:00 92

转载 三、netty的SocketChannel和Pipeline

本来打算socketchannel和pipeline分开说的,因为它们就是截然不同的东西,但是看NioSocketChannel的实现中,很多地方都是调用了pipeline.write()这样的方法来实现功能的,所以分开说好像又不是很nice,那就把他们放在一起,先从pipel...

2018-12-28 11:59:00 2493

转载 二 、netty的NioEventLoopGroup

好,我们开始进入netty源码分析的部分。 NioEventLoopGroup我们从名称中便可得知,它是一组NioEventLoop。那么我们接着看NioEventLoop是什么东西,看它的继承关系 最底层的继承来自于ScheduledE...

2018-12-22 19:06:00 227

转载 nginx静态资源默认目录

linux nginx默认静态资源目录在/usr/share/nginx/html下,/var/www/这个貌似无效 转载于:https://my.oschina.net/...

2018-12-21 14:07:00 2834

转载 一、java中的nio

之前几次看netty源码,很费劲的主要原因之一,就是没有搞清楚jdk中的nio源码,而netty是在nio的基础上进行了优化和一些bug的修复。所以,不搞清楚nio去看netty,等同于空中楼阁。 在阅读jdk的时候,难免会遇到sun包下的代码没有开源,我们看...

2018-12-18 22:59:00 117

转载

netty源码前前后后也看过好几次了,每次都是只是浅尝辄止,东一下西一下也没有完整的把整个脉络整清楚,最近无意中看到一个大佬说到,看源码一个很好的习惯就是要写博客,这样才能倒逼自己去了解整个过程的细节。所以在2018年最后,我想抓住年的尾巴,来通过一系列的写博客的动作,来把整个...

2018-12-18 20:56:00 133

转载 Ribbon原理

接口 描述 默认实现 IClientConfig 管理配置 DefaultClientConfigImpl IRule 负载均衡策略 Zo...

2018-12-01 17:19:00 212

转载 java多线程之notify和notifyall

notify和notifyall有什么区别一直不是很清楚,做了如下测试: public class SignalAllTest { public static void main(String[] args) { Object lock = n...

2018-10-25 19:28:00 89

转载 如何让java泛型的方法返回class本身?

查看jdk源码 public abstract class Enum<E extends Enum<E>> 那么这个递归泛型到底是什么,好烦啊!!! 那么先看这么一个问题,有一个泛型E abstract class A<E>{ E get();...

2018-08-21 22:48:00 835

转载 case when用法

case when在mysql中,可以用于改变一些查询值,也可以用来动态拼接一些语句: 改变查询值: select (case "sex" when "0" then "男" when "1" then "女" else "妖" end) "性别"from "student"...

2018-08-20 15:10:00 102

转载 虚拟机类加载机制

一.类加载的时机 类加载过程 加载 验证 准备 解析 初始化 使用 卸载 在以下五种情况下,一定会加载类: 1.遇到new getstatic putstatic invokestatic,则一定会初始化 所对应的有 new操作 put get static变量...

2018-08-12 20:03:00 62

转载 类文件结构

一.class类文件结构 class文件是一组8位字节二进制流。 分为两种数据结构,无符号数和表。 无符号数: 用u1,u2,u4,u8代表1,2,4,8个字节。 用来描述数字、索引引用、数量值、或者utf-8字符串。 表:多个无符号数或者其它表构成...

2018-08-05 10:44:00 101

转载 jvm垃圾收集器和内存分配策略

一.判断对象是否已经死去 1.引用计数法 有一次引用,则计数++,当引用失效,则计数--。 缺点,a.ins = b,b.ins = a,则a,b都无法被回收掉。所以没有任何虚拟机采取此方法(i,ie6??)。 2.可达性分析算法 ...

2018-07-11 21:39:00 97

转载 springtiny事务实现

transaction的实现中,首先,java的Connection是支持事务的,添加以下方法: /** * 开启事务 */public static void beginTransaction(){ Connection conn = getConnection();...

2018-06-12 21:31:00 56

转载 spring中的事务

多线程读数据库会造成以下问题: 一.脏读 线程b读取了线程a尚未提交的数据,并且进行了一系列操作,最终得到错误结果 二.重复读 线程a读取两次数据,中间线程b新增了数据,造成了线程a两次读取内容不一致 三.幻读 线程a读取两次数据,中间线程b更新了数据,造成了线程a两次读取内容不一...

2018-06-12 14:25:00 71

转载 jvm内存区域与内存溢出异常

对象的创建过程: 一.现在常量池中定位符号的引用 二.是否被加载,解析或者初始化过,如果没有初始化,则执行classLoader,执行里面的static块内容等 三.从java堆中划分内存空间,有以下两种方式 1.指针碰撞,要求内存空间是连续的。每次将指针移动需要的空间。 ...

2018-06-12 08:24:00 105

转载 springtiny aop实现

首先看aop是虾米: aop使用过程中,需要用到动态代理,而jdk自带的动态代理,是通过反射的方法,通过反射获取要代理的method,然后在执行过程中动态执行了类似before after之类的方法,以实现目的。但是局限于只能用于interface,为了解决这个问题,aspect采用了G...

2018-06-09 23:43:00 104

转载 springtiny控制反转实现

一.读取配置 二.注解定义 定义了Controller,Service,RequestMapping,AutoWired,其中Controller,Service作用于class上: @Target(ElementType.TYPE)@Retention(RetentionPoli...

2018-06-06 23:35:00 78

转载 mysql有则更新没有则插入

insert into table1(a,c) values (1,3) on duplicate key on update a = 55 如果a,c有一个是primarykey或者unique key,那么当key不存在,则会新增,如果不存在,则会更新。 ...

2018-05-27 18:19:00 984

转载 docker常用命令

1.docker search 搜索镜像 2.docker pull 拉取镜像 3.docker run -d -p 6333:6334 --name xxx redis (本机端口:镜像端口) 4.docker rm删除容器 docker rmi删除镜像 5.docker st...

2018-05-11 14:34:00 44

转载 SpringBoot配置

1.springboot 配置 application-dev.properties idea运行时,可以配置active profiles = dev,那么则会加载此文件 2.在config文件可以extends WebMvcConfigurerAdapter来重载一些配置信息,如 @...

2018-05-06 16:57:00 62

转载 process.nextTick,setTimeout,setImmediate

node.js中,这三个的作用都是延时. 而node.js的基于事件循环的事件模型,循环执行一个类似while(true)的函数,每次循环成为一次tick,每次tick中从event loop中取出函数执行. 而process.nextTick是每次tick执行完后...

2018-03-05 20:47:00 231

转载 DOM编程艺术整理

第三章: 获取元素的方法 document.getElementById(id) document.getElementByTagName(string)返回一个数组 document.getElementByClassName(string)...

2018-02-27 08:46:00 86

转载 js继承陷阱

const Dog = function () {}Dog.prototype = { say:function () { console.log("wang wang wang"); }}const ahuang = new Dog();ah...

2018-02-11 10:40:00 55

转载 vue 数据响应模式浅析

对于vue的数据响应模式,不外乎采用设计模式中的观察者模式.即为一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。 那么在vue中,我们都知道 data,props发生变化会让页面重新render等.那么他们必...

2017-12-12 09:06:00 137

转载 文本过长自动换行

文本过长影响的因素很多 overflow会让过长文本隐藏等 white-space(tmd对于空白的处理,也影响到了换行),为normal 空白会被忽略,为no-wrap时,文本会在一行上继续,直到遇到</br>标签 word-wrap: normal的时候正常显示,word...

2017-11-30 17:28:00 582

空空如也

空空如也

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

TA关注的人

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