努力奔跑中的coder

源代码的github地址:https://github.com/louyuting

JDK源码和框架源码解析博客地址导航

置顶一篇文章,主要是整理一下写过的JDK中各个类的源码及其他框架源码解析的文章,方便自己随时阅读也方便网友朋友们阅读与指正. Java基础Java集合框架 PriorityQueue 原理与应用 DelayQueue原理与应用 J.U.C 多线程与并发框架 Java并发之线程机制 Java并发之共...

2017-11-13 15:33:01

阅读数:283

评论数:0

C++成员初始化列表

C++类成员初始化列表C++类型定义C++构造函数的初始化列表定义C++构造函数执行的两个阶段为什么使用初始化列表C++里面哪些东西必须放在初始化列表里面成员变量的初始化顺序 这边文章主要学习C++里面的成员初始化列表。然后分析为什么需要成员初始化列表,C++构造器调用机制与Java区别。 C...

2018-12-16 14:20:38

阅读数:20

评论数:0

C++11 智能指针

本文主要讲解C++11中的智能指针 主要内容: 原始指针使用有什么缺点(主要是资源释放、证明周期、挂起引用) C++98里面的auto_ptr有什么缺点(所有权转移问题、不能指向数组、不能与容器组合使用) C++11提出的更加智能指针: shared_ptr、weak_ptr、unique_...

2018-12-15 18:16:21

阅读数:22

评论数:0

C++ inline函数

1.C++引用inline原因 在我们的系统中可能经常会有一些场景:for循环调用一个工具处理函数或则是递归调用一些算法。我们知道调用一个任意函数都会为这个函数创建栈空间,如果频繁的调用小函数会消耗大量的栈空间,对内存造成很大的压力,甚至会导致内存枯竭。C++为了解决这个问题也就创造了内联函数,也...

2018-12-10 15:53:45

阅读数:18

评论数:0

C++中const关键字修饰

C++中const使用的地方非常多,修饰包括:全局变量、函数、函数参数等等,这篇文章主要是总结一下const各种使用的规则以及需要注意事项。

2018-12-10 13:31:04

阅读数:21

评论数:0

C++局部变量、全局变量的作用域及范围&动态内存管理

本文主要介绍C++中的局部变量、全局变量、以及动态内存管理的变量。本文不涉及静态变量static,所以描述的观点不包括static变量。 局部变量和全局变量 局部变量一般指函数内部的局部变量,这部分的变量保存在栈里面,当函数调用结束,这些局部变量就会被自动释放。可以说这部分变量是系统自动管理的...

2018-12-09 17:46:28

阅读数:35

评论数:0

C++函数传值方式

本文主要分析C++里面两大类函数传参方式:传值和传址(传引用和传指针) 1.传值 我们知道当我们调用一个函数时,OS会在内存中为这个函数建立起一块程序栈帧,这个栈帧提供了函数参数的存储空间。 对于传值这种方式,实际上是将函数参数进行了一次copy,传递到函数的实际上是变量的一个副本。在函数内部...

2018-12-09 17:03:11

阅读数:31

评论数:0

Golang-bootstrap分析

这篇博客主要分析golang程序的引导程序启动流程。 1. 环境 要分析runtime相关内部机制,首先从系统启动开始。首先准备分析环境:golang、OS、gdb 2. 引导程序宏观流程 在go代码里面,用户逻辑从main.main()开始,那么runtime如何启动?怎么初始化?初始化做...

2018-12-09 01:49:40

阅读数:29

评论数:0

Golang-Scheduler原理解析

本文主要分析Golang里面对于协程的调度原理,本文与Golang的memory allocation、channel、garbage collection这三个主题是紧密相关的,本文scheduler作为系列的第一篇文章。 文章大体上的思路是这样的: section1:主要图示和文字介绍sch...

2018-12-04 20:56:09

阅读数:2777

评论数:2

Goland底层原理主题分析绪论

本文主要描述Golang底层的一些原理与机制,包括4个主题 1)Golang的memory manager and allocation 2)Golang的goroutine scheduler原理 3)Golang的channel实现goroutine concurrent原理 4)Golan...

2018-11-15 14:55:01

阅读数:72

评论数:0

TCP-拥塞控制

本文主要讨论TCP实现拥塞控制的方法,这也是批量数据传输中最重要的。

2018-09-01 16:03:21

阅读数:107

评论数:0

TCP-超时与重传

主要内容: 超时与重传简单实例 设置超时重传方法 基于计时器重传 快速重传 带选择确认的重传 伪超时与重传 包失序与包重复 目的度量 重新组包 与TCP重传相关的攻击 ...

2018-09-01 16:03:12

阅读数:126

评论数:0

TCP-数据流与窗口管理

前面两篇文章介绍了TCP的连接与断开;TCP利用丢失数据的重传来保障传输的可靠性。下面主要讨论动态数据传输。后面还会讨论TCP的流量控制机制,通过动态调节窗口大小来控制发送端操作确保接收端不会溢出,该思路也可以应用于其余实际问题。 交互式通信 延时确认 Nagle算法 流...

2018-08-31 23:30:31

阅读数:102

评论数:0

TCP-保活机制

保活机制:

2018-08-31 23:30:03

阅读数:187

评论数:0

TCP-连接管理

本文主要内容: TCP连接的建立与终止 TCP参数选项 TCP的路径最大传输单元发现 TCP状态转换 重置报文段 TCP服务器选项 与TCP连接管理相关的攻击

2018-08-27 11:34:52

阅读数:100

评论数:0

TCP-传输控制协议

TCP涉及的主要话题: ARQ()和重传 分组窗口和滑动窗口 变量窗口:流量控制和拥塞控制 设置超时重传 TCP的服务模型 TCP提供的是一种: 1)面向连接的 2)可靠的字节流服务 这里的字节流是指:TCP不会关注发送方输入的字节流的大小和次数,同样的字节流只会出现在两端,但...

2018-08-26 22:42:23

阅读数:59

评论数:0

LockSupport-线程阻塞原语

基本介绍 基本的线程阻塞原语,被用于创建锁和其他同步类上。长久以来对线程阻塞与唤醒经常我们会使用object的wait和notify,除了这种方式,JDK1.6之后并发包还提供了另外一种方式对线程进行挂起和恢复,它就是并发包子包locks提供的LockSupport。 使用实例与简介 p...

2018-08-07 16:04:37

阅读数:128

评论数:0

【数据结构】有向图

有向图 一. 有向图的相关术语 在有向图中,边是单向的:每条边连接的两个顶点都是一个有序对,它们的邻接性是单向的。我们开发过程中碰到的很多场景都是有向图:比如任务調度的依赖关系,社交网络的任务关系等等都是天然的有向图。 以下概念都是针对有向图的: (1)==有向图==:一幅有向图是由一...

2018-03-19 22:00:26

阅读数:2044

评论数:1

Java8内置函数式接口

Java8内置函数式接口技术积累/JavaJava8里面新增的一个非常重要的特性就是函数式接口,functional Interface。 函数式接口往往与lambda表达式一起使用。下面介绍一下Java8中新增的常用的函数式接口:1. Predicates先给出这个接口在JDK8中的简化定义:@...

2017-11-24 19:22:58

阅读数:386

评论数:2

MySQL索引原理

MySQL索引原理 本文将只关注于B Tree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。 MySQL索引数据结构与算法分析 我们建立索引,其实就是为了构建一种数据结构,可以在上面应用一种高效的查询算法,最终提高数据的查询速度。 1. 索...

2017-11-24 10:41:50

阅读数:706

评论数:0

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