首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
我的文章
订阅
卡巴拉的树
更多收藏集
微信扫码分享
微信
新浪微博
QQ
36篇文章 · 1订阅
“Hello,World”背后的故事
学习一门语言,经常都是从打印“Hello,World”开始的,打过招呼后,你便可以进入程序的新世界。 就拿经典的C语言举例,基本上每个程序员在上学时就可以闭着眼睛写下“Hello,World”,这也是检测开发环境是否能正常工作常用的小程序,就像有的人看能不能上网就输个百度试试(…
vim进阶 | 使用插件打造实用vim工作环境
首先晒一张我的vim截图,基本IDE有的功能都能实现了,虽然在日常工作里还是IDE用的多,但是作为一个开发者,少不了折腾的心。 vim,作为与emacs齐名的编辑器,无需更多溢美之词,由于学习曲线陡峭,但是学会之人,无不表示其方便,vim操作的简洁,熟练使用后,形成的肌肉习惯让…
和我一起读Java8 LinkedList源码
书接上一篇ArrayList源码解析,这一节继续分析LinkedList在Java8中的实现,它同样实现了List接口,不过由名字就可以知道,内部实现是基于链表的,而且是双向链表,所以Linked List在执行像插入或者删除这样的操作,效率是极高的,相对地,在随机访问方面就弱…
浅析Linux中的零拷贝技术
本文探讨Linux中主要的几种零拷贝技术以及零拷贝技术适用的场景。为了迅速建立起零拷贝的概念,我们拿一个常用的场景进行引入: 在写一个服务端程序时(Web Server或者文件服务器),文件下载是一个基本功能。这时候服务端的任务是:将服务端主机磁盘中的文件不做修改地从已连接的s…
图解Prim&Kruskal算法
假设以下情景,有一块木板,板上钉上了一些钉子,这些钉子可以由一些细绳连接起来。假设每个钉子可以通过一根或者多根细绳连接起来,那么一定存在这样的情况,即用最少的细绳把所有钉子连接起来。 更为实际的情景是这样的情况,在某地分布着N个村庄,现在需要在N个村庄之间修路,每个村庄之前的距…
Java并发工具类(栅栏CyclicBarrier)
CyclicBarrier适用于这样的情况:你希望创建一组任务,它们并行地执行工作,然后在下一个步骤之前等待,直到所有任务都完成。栅栏和闭锁的关键区别在于,所有线程必须同时到达栅栏位置,才能继续执行。 闭锁用于等待事件,而栅栏是线程之间彼此等待,等到都到的时候再决定做下一件事。…
深入理解JVM类文件格式
我们知道Java最有名的宣传口号就是:“一次编写,到处运行(Write Once,Run Anywhere)”,而其平台无关性则是依赖于JVM, 所有的java文件都被编译成字节码(class)文件,而虚拟机只需要认识字节码文件就可以了。想要弄懂虚拟机以及类加载机制,这部分内容…
Mybatis学习笔记(5)-高级映射之多对多映射
假设我们现在有这样的需求,想知道某一位顾客购买了哪些商品,但是通过观察customers表和products表,我们发现这两张表并没有关联,那么怎么办呢?通过前面的例子,我们可以发现,经由orders和orderitems这两张表,customers表和products表能建立…
Java CAS 原理剖析
在Java并发中,我们最初接触的应该就是synchronized关键字了,但是synchronized属于重量级锁,很多时候会引起性能问题,volatile也是个不错的选择,但是volatile不能保证原子性,只能在某些场合下使用。 像synchronized这种独占锁属于悲观…
理解ARP协议
我们知道在网络中通讯,都是知道对方的IP地址后,才能发起连接,IP地址所在的层是网络层,而在网络层下面是数据链路层,这里IP数据包继续被封装成以太网数据帧,当然还有别的数据链路层格式,但是数据链路层也需要寻址机制,常常就是48bit的硬件地址,又叫MAC地址。 ARP协议就是起…