10 超人汪小建(seaboat)

尚未进行身份认证

公众号:【远洋号】,笔名seaboat,擅长工程算法、人工智能算法、自然语言处理、架构、分布式、高并发、大数据和搜索引擎等方面的技术,大多数编程语言都会使用,但更擅长Java、Python和C++。平时喜欢看书、写作和运动,擅长篮球、跑步、游泳、健身和羽毛球等运动项目。崇尚开源,崇尚技术自由,更崇尚思想自由。出版书籍:《Tomcat内核设计剖析》、《图解数据结构与算法》、《人工智能原理科普》。

等级
TA的排名 537

那些常见的并发模型相关知识

跟着作者的65节课彻底搞懂Java并发原理专栏,一步步彻底搞懂Java并发原理。作者简介:笔名seaboat,擅长工程算法、人工智能算法、自然语言处理、架构、分布式、高并发、大数据和搜索引擎等方面的技术,大多数编程语言都会使用,但更擅长Java、Python和C++。平时喜欢看书、写作和运动,擅长篮球、跑步、游泳、健身和羽毛球等运动项目。崇尚开源,崇尚技术自由,更崇尚思想自由。出版书籍:《...

2020-03-21 09:58:19

Unsafe穿透Java层到JVM层,提供CPU级别和操作系统级别的操作

跟着作者的65节课彻底搞懂Java并发原理专栏,一步步彻底搞懂Java并发原理。作者简介:笔名seaboat,擅长工程算法、人工智能算法、自然语言处理、架构、分布式、高并发、大数据和搜索引擎等方面的技术,大多数编程语言都会使用,但更擅长Java、Python和C++。平时喜欢看书、写作和运动,擅长篮球、跑步、游泳、健身和羽毛球等运动项目。崇尚开源,崇尚技术自由,更崇尚思想自由。出版书籍:《...

2020-03-14 11:28:46

那些主流编程语言的知识,C语言(Ⅰ)

前言对于编程语言来说,经常看到有因为各自支持的语言阵营而互怼的,其实根本没那个必要,都只是一种工具而已。当多数主流语言都会使用时也许你就不会有偏见了,本质不过都是用来描述计算机的一个任务,只是每门语言设计时考虑的侧重点不一样而已。大家最好不要停留在语言层面去争执,不如把时间花在计算机实现原理和结构的本质上,这样更能理解编程语言每一行描述的东西在计算机是干什么的。本系列将总结现在IT领域主流的那些...

2020-03-07 11:51:16

并发原理抽丝剥茧,线程本地变量ThreadLocal的实现原理

关于ThreadLocalThreadLocal我们经常称之为线程本地变量,通过它能够实现线程与变量之间的绑定,也就是说每个线程只能读写本线程对应的变量。对于同一个ThreadLocal...

2020-02-27 10:09:14

Java并发原理抽丝剥茧,读写锁ReadWriteLock实现深入剖析

跟着作者的65节课彻底搞懂Java并发原理专栏,一步步彻底搞懂Java并发原理。作者简介:笔名seaboat,擅长工程算法、人工智能算法、自然语言处理、架构、分布式、高并发、大数据和搜索引擎等方面的技术,大多数编程语言都会使用,但更擅长Java、Python和C++。平时喜欢看书、写作和运动,擅长篮球、跑步、游泳、健身和羽毛球等运动项目。崇尚开源,崇尚技术自由,更崇尚思想自由。出版书籍:《...

2020-02-24 12:22:20

Java并发必知的底层CPU知识

跟着作者的65节课彻底搞懂Java并发原理专栏,一步步彻底搞懂Java并发原理。作者简介:笔名seaboat,擅长工程算法、人工智能算法、自然语言处理、架构、分布式、高并发、大数据和搜索引擎等方面的技术,大多数编程语言都会使用,但更擅长Java、Python和C++。平时喜欢看书、写作和运动,擅长篮球、跑步、游泳、健身和羽毛球等运动项目。崇尚开源,崇尚技术自由,更崇尚思想自由。出版书籍:《...

2020-02-14 10:44:44

数学的公理化及抽象化

高度分工现如今社会进入了高度分工的阶段,人们干的事被越来越局限在某个领域,甚至是某个领域很小的范围内。人们受到的教育也越来越长,研究的问题也越来越细越来越深越来越抽象。现在要想诞生以前的全才几乎不太可能了,主要是因为以前很多方面学科都都还比较浅,很多现在看似很简单的成果都能载入史册。印象比较深的全才是冯诺依曼,想了解的可以看看天才的拓荒者。数学分支在数学领域也是类似,从古代的计数算术简单几...

2020-02-14 09:20:56

聊聊大数据与人工智能

关于数据这些年人类生产的数据呈爆发式增长,从十几年前移动智能设备的兴起,到如今人们身上穿戴的各种传感器设备,都在24小时不断产生大量数据。这些数据包括文本、语音、图像、视频等等。大数据大数据这个词最早出现在20世纪90年代,当时只是用来描述数据量很大,但并没有给出明确的定义和概念意思。出现后没有受到多少人的关注,直到2012年后大数据得到了各行各业的关注重视,很多学科和行业都会涉及大数据,大...

2020-01-13 10:12:01

Java多线程并发控制工具交换器Exchanger的实现原理及例子

线程间交换信息在并发的场景中,有时候我们想要在两个线程之间互相交换信息,也就是互相传递消息。这时会发现实现起来并不容易,因为两个线程并发执行的先后顺序不好控制。如下图中,假如两个线程在运行过程中的某个节点要互相交换信息,那么应该如何来实现呢?模拟实现为了更好地理解两个线程之间通信的问题,我们来模拟实现两个线程的通信。在下面的代码中,两个变量分别用于保存来自线程一和线程二的消息,其中mess...

2020-01-13 09:29:31

Java线程优先级与CPU执行机制

跟着作者的65节课彻底搞懂Java并发原理专栏,一步步彻底搞懂Java并发原理。作者简介:笔名seaboat,擅长工程算法、人工智能算法、自然语言处理、架构、分布式、高并发、大数据和搜索引擎等方面的技术,大多数编程语言都会使用,但更擅长Java、Python和C++。平时喜欢看书、写作和运动,擅长篮球、跑步、游泳、健身和羽毛球等运动项目。崇尚开源,崇尚技术自由,更崇尚思想自由。出版书籍:《...

2020-01-13 09:25:57

Java多线程并发控制工具CountDownLatch,实现原理及案例

跟着作者的65节课彻底搞懂Java并发原理专栏,一步步彻底搞懂Java并发原理。作者简介:笔名seaboat,擅长工程算法、人工智能算法、自然语言处理、架构、分布式、高并发、大数据和搜索引擎等方面的技术,大多数编程语言都会使用,但更擅长Java、Python和C++。平时喜欢看书、写作和运动,擅长篮球、跑步、游泳、健身和羽毛球等运动项目。崇尚开源,崇尚技术自由,更崇尚思想自由。出版书籍:《...

2020-01-11 12:11:56

Java线程何时放弃CPU时间片

线程与CPU执行Java中内置支持在一个进程中运行多个线程,线程的执行由JVM进行管理。每个线程从启动到结束的过程中可能经历多种状态,多个线程则意味着并发,而并发则涉及CPU的执行时间片。下图是三个线程分配到的CPU执行时间示意图,从启动到结束三个线程除了真正执行阶段,还包含了等待阶段。执行时间一个线程从启动到结束过程总,有两个时间概念我们要理解。其一是CPU时间,即线程真正执行的时间。其...

2020-01-11 11:30:41

Java并发必知的底层CPU知识

跟着作者的65节课彻底搞懂Java并发原理专栏,一步步彻底搞懂Java并发原理。作者简介:笔名seaboat,擅长工程算法、人工智能算法、自然语言处理、架构、分布式、高并发、大数据和搜索引擎等方面的技术,大多数编程语言都会使用,但更擅长Java、Python和C++。平时喜欢看书、写作和运动,擅长篮球、跑步、游泳、健身和羽毛球等运动项目。崇尚开源,崇尚技术自由,更崇尚思想自由。出版书籍:《...

2020-01-10 21:58:39

深入理解Java线程的调度策略

跟着作者的65节课彻底搞懂Java并发原理专栏,一步步彻底搞懂Java并发原理。作者简介:笔名seaboat,擅长工程算法、人工智能算法、自然语言处理、架构、分布式、高并发、大数据和搜索引擎等方面的技术,大多数编程语言都会使用,但更擅长Java、Python和C++。平时喜欢看书、写作和运动,擅长篮球、跑步、游泳、健身和羽毛球等运动项目。崇尚开源,崇尚技术自由,更崇尚思想自由。出版书籍:《...

2020-01-10 21:46:18

linux内核的一些知识点(下)

页内核以物理页作为内存的基本单位,内存管理单元(MMU)正式以页作为单位进行处理,内存管理单元硬件负责将虚拟地址转为物理地址。所以从虚拟内存的角度来看,页就是最小的单位。多数32位体系结构的页大小为4KB,而64位体系结构则为8KB。也就是说1G大小的内存会被划分为262144个页来进行管理。linux内核使用page结构来描述物理页,位于linux/mm_types.h中。这个结构体大小为4...

2020-01-06 09:10:46

linux内核的一些知识点(中)

系统调用内核为用户进程提供的交互接口,可以为用户进程提供受限制地访问硬件设备、申请操作系统资源以及创建进程和进程通信等能力。linux中的每个系统调用都对应一个系统调用号,调用号用于指明具体哪个系统调用。系统调用既为应用程序提供了请求接口,又保证了系统的安全和稳定。用户空间的程序不能直接访问内核代码,内核代码驻留在受保护的内存地址中,用户进程无法访问这块内存。系统调用在用户进程和硬件设备之...

2019-12-30 09:54:14

linux内核的一些知识点(上)

前言应用层通常专注于API的使用,认为将其看成是一个黑盒即可,但了解操作系统的一些机制将有助于我们更好地使用它,也有助于避免犯错误。unix系统1969年,unix从贝尔实验室诞生,由一个失败的操作系统multics发展而来,它发布时带上了源码,以至于很多组织都对其进一步改进。它由C语言编写,且只有几百个系统调用,秉承一切皆文件的设计思想。linux系统由芬兰大学生linus在1991年...

2019-12-23 10:01:25

不确定世界的模型

复杂的世界我们生活在一个极其复杂的世界,不管是小到分子原子亦或是大到整个宇宙,其复杂程度都是超乎想象。或许你不曾深入去思考过身边事物的复杂性,那是因为你已经对你日常所见习以为常。所有在你...

2019-12-02 08:10:00

现实世界的模型与理论

模型与理论为了去分析理解现实世界的万物与人类的思想,我们引入了很多概念,从而形成概念体系。概念体系则被称为模型,将逻辑应用于模型得到的见解称为理论。比如数学有很多概念,这...

2019-11-12 08:00:00

大自然能否演变出一台计算机

原子与分子按目前的科学解释,万物都是由原子和分子组成,大量的原子分子经过不同的组合从而形成不同的物体。从随机的角度来看,只要时间足够长就可以产生任意的物体。正所谓随机蕴含...

2019-10-28 08:00:00

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 图书勋章
    图书勋章
    CSDN技术图书作者专属勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 推荐红人
    推荐红人
    发布高质量Blink获得高赞和评论,进入推荐栏目即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    参与《原力计划【第二季】— 学习力挑战》获得推荐的原创文章的博主
  • 博客之星-入围
    博客之星-入围
    授予每年博客之星评选结果第21-200名的用户