上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: 入队 Node AQS同步队列和等待队列共用同一种节点结构Node,与同步队列相关的属性如下。 prev 前驱结点 next 后继节点 thread 入队的线程 入队节点的状态 acquire 模板方法,失败后构造节点、入队、自旋。需要关注的是如果if条件满足会执行selfInterrupt,这个后 阅读全文
posted @ 2019-05-16 20:00 AshOfTime 阅读(909) 评论(0) 推荐(0) 编辑
摘要: ServerBootStrap 服务端的辅助启动类,使用Builder模式隐藏了多个构造器的参数。 EventLoopGroup Reactor线程池。EventLoopGroup是EventLoop数组,EventLoop负责轮询所有注册到Selector上的channel。 绑定Channel 阅读全文
posted @ 2019-05-16 11:08 AshOfTime 阅读(218) 评论(0) 推荐(0) 编辑
摘要: JUC包下的阻塞原语,所谓阻塞原语指的是JUC下所有对线程挂起的操作都是通过LockSupport来完成的。 基本操作 有点像wait notify机制,子线程调用park会被挂起,等待别的线程unpark才会接着park继续执行,且park的线程处于waiting状态。 中断 处于waiting状 阅读全文
posted @ 2019-05-14 11:38 AshOfTime 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 4.1 JIT概览 语言根据执行的方式不同分为编译型语言和解释型语言。以C++为代表的编译型语言在执行前需要编译成机器码,不同的CPU需要不同的编译器,编译成功后在同一台机器不需再次编译。以Python为代表的解释型语言,解释器一行一行的解释执行Python代码。 编译型语言的优势在于跨平台,只要平 阅读全文
posted @ 2019-05-09 19:31 AshOfTime 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 定义:多个对象都有机会处理请求,避免请求的处理者和请求的发送者耦合。当一个请求到来的时候,遍历责任链,找到第一个能够处理该请求的处理者。 优点:避免请求者和处理者耦合;方便的增加或减少处理者。 角色:请求者 抽象处理者 具体处理者 抽象处理者定义了一个处理者需要具备的两个重要属性:1、什么条件下一个 阅读全文
posted @ 2019-05-08 16:48 AshOfTime 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 1、通信过程 作用:规定浏览器和服务端通信的格式。 点击URL通信的过程: 浏览器找到URL连接对应的IP地址。现在缓存里找URL对应的IP,如果没有向DNS服务器请求解析URL对应的IP地址。 TCP连接建立,向IP:80建立TCP连接。(可额外补充路由选择过程,待完善。) 向服务器发送请求,可能 阅读全文
posted @ 2019-05-08 13:08 AshOfTime 阅读(211) 评论(0) 推荐(0) 编辑
摘要: Unix中5种IO模型 就网络通信而言,一次数据读入可以分为两个阶段,首先等待数据从网络中到达,到达后需要复制到内核的缓冲区中,第二个阶段是从内核的缓冲区复制到进程的缓冲区,复制到进程的缓冲区才算读取完毕。推广到所有IO,一次完整的IO读入分为两个阶段 等待数据准备完毕 把准备好的数据读到进程的内存 阅读全文
posted @ 2019-05-06 15:18 AshOfTime 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 为什么使用Redis做缓存 MySQL缺点 单机连接数目有限 对数据进行写速度慢 Redis优点 内存操作数据速度快 IO复用,速度快 单线程模型,避免线程切换带来的开销,速度快 一致性问题 读数据的时候首先去Redis里读,没有读到再去MySQL里读,读回来之后更新到Redis里作为下一次的缓存。 阅读全文
posted @ 2019-05-05 19:09 AshOfTime 阅读(13857) 评论(0) 推荐(0) 编辑
摘要: https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/solution/ 暴力 本题可以多次买卖股票,如果只允许一次买卖股票,整个暴力就是n2的算法,如果可以无限制买卖股票直接用普通的写法不是很好写,可以用递归来解决。 阅读全文
posted @ 2019-05-05 14:27 AshOfTime 阅读(709) 评论(0) 推荐(0) 编辑
摘要: 2.1 传统的BIO编程 以服务器为例,在传统BIO模型下的服务器,每当一个新的请求到来的时候回分配一个线程去处理该请求,并且该线程在执行IO操作的时候会一直阻塞,知道IO操作完成或抛出异常才会返回。当网络情况不佳时,网络IO可能会耗费大量时间,那么就会同时有大量线程在服务器上阻塞着,很容易造成内存 阅读全文
posted @ 2019-05-03 19:56 AshOfTime 阅读(124) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 11 下一页