自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (17)
  • 收藏
  • 关注

原创 Java 并发 --- 阻塞队列总结

前面我们把阻塞队列学习完了,现在过段时间来进行总结一下,也算是复习回顾知识,比较才能明白使用的场景。

2017-12-27 20:15:49 1216

原创 Java 并发 --- 非阻塞队列之ConcurrentLinkedQueue源码分析

在并发编程中,有时候需要使用线程安全的队列,如果要实现一个线程安全的队列有两种方式:一种是使用阻塞算法,另一种是使用非阻塞算法,在前面我们逐一分析过阻塞队列,这篇文章过后,会写篇关于阻塞队列的总结,也算是回顾知识,非阻塞的实现方式则可以使用循环cas的方式来实现,对于循环cas的算法,都已经遇到多了,在阻塞队列中,也有使用循环cas的队列,比如:SynchronousQueue

2017-12-19 19:48:53 600 2

原创 Java集合之ConcurrentHashMap源码分析

注:本文源码是JDK8的版本ConcurrentHashMap 介绍(jdk 1.8)ConcurrentHashMap是HashMap的升级版,HashMap是非线程安全的集合,ConcurrentHashMap则可以支持并发操作, HashMap是我们平时开发过程中用的比较多的集合,ConcurrentHashMap就算用得少,但是听过的肯定不少,一起来研究研究吧

2017-12-16 18:37:19 1929 1

原创 Java 并发 --- Exchanger源码分析

Exchanger 是一个用于线程间协作的工具类,Exchanger用于进行线程间的数据交换,它提供一个同步点,在这个同步点,两个线程可以交换彼此的数据。这两个线程通过exchange 方法交换数据,如果第一个线程先执行exchange 方法,它会一直等待第二个线程也执行exchange 方法,当两个线程都到达同步点时,这两个线程就可以交换数据。

2017-12-07 20:42:55 2907 3

原创 Java 并发 --- Semaphore源码分析

Semaphore(信号量)是用来控制同时访问特定资源的线程数量,可以用于做流量控制,特别是公共资源有限的应用场景,如果熟悉操作系统的概念,那么肯定对这么名词不陌生,当初在学习Linux进程通信中,也简单的学习过,今天再次接触到Semaphore。

2017-12-03 16:21:18 385

原创 Java 并发 --- CyclicBarrier源码分析

CyclicBarrier 介绍(jdk 1.8)CyclicBarrier的字面意思是可循环使用(Cyclic)的屏障(Barrier),它的功能是让一组线程到达一个屏障(也就叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续运行。

2017-12-02 15:21:01 316

UNIX环境高级编程第二版

UNIX环境高级编程第二版

2015-10-15

TCP-IP详解卷3:TCP事务协议,HTTP,NNTP和UNIX域协议

TCP-IP详解卷3:TCP事务协议,HTTP,NNTP和UNIX域协议

2015-10-15

TCP-IP详解卷1:协议

TCP-IP详解卷1:协议,网络协议通常分不同层次进行开发,每一层分别 负责不同的通信功能。一个协议族,比如 TCP/IP,是 一组不同层次上的多个协议的组合。 TCP/IP通常被认 为是一个四层协议系统

2015-10-15

nasm中文手册

NASM是一个为可移植性与模块化而设计的一个80x86的汇编器。它支持相当多的目标 文件格式,包括 Linux 和"NetBSD/FreeBSD","a.out","ELF","COFF",微软 16 位的"OBJ"和 "Win32"。它还可以输出纯二进制文件。它的语法设计得相当的简洁易懂,和 Intel 语法相似 但更简单。它支持"Pentium","P6","MMX","3DNow!","SSE" and "SSE2"指令集,

2015-03-12

程序员编程艺术

作者:July、编程艺术室 出处:结构之法算法之道blog 一、引言 自从去年7月份朋友花明月黯帮我制作了十三个经典算法研究的PDF文档之后,我便一直希望能有人再帮我制作我的另一个系列:程序员编程艺术的PDF文档,而就在本月3日,朋友吴超帮我完成了这一工作。当时,便立马在微博上分享出来,很快,便有超过600人次朋友转发,直至今日,已有近1000名朋友得到了此PDF。 而后我意识到,尽管我很不喜欢一些不劳而获者,但我也不愿去让我的读者朋友们去做一些繁琐的点击,转发,进群等动作。故,既然要分享,那就把无限分享惠及天下做到极致吧,以省去诸多无趣。

2014-11-11

线段树专辑

ACM大牛总结的线段树专辑_超经典的

2014-11-11

高质量C编程指南

《高质量程序设计指南:C++、C语言》以轻松幽默的笔调向读者论述了高质量软件开发方法与C++/C编程规范。它是作者多年从事软件开发工作的经验总结。《高质量程序设计指南:C++、C语言》共11章,第1章到第9章重点阐述 C++/C编程风格、面向对象程序设计方法和一些技术专题;第10章阐述STL 的原理和使用方法。 《高质量程序设计指南:C++、C语言》第1版和第2版部分章节曾经在Internet上广泛流传,被国内IT企业的不少软件开发人员采用。《高质量程序设计指南:C++、C语言》的附录C《大学十年》是作者在网上发表的一个短篇传记,文中所描述的充满激情的学习和生活态度,感染了大批莘莘学子。 请花一两个小时认真阅读这本百页经书,你将会获益匪浅,如今在Internet上流传的“真正”的程序员据说是这样的:真正的程序员没有进度表,只有讨好领导的马屁精才有进度表,真正的程序员会让领导提心吊胆。真正的程序员不写使用说明书,用户应当自己去猜想程序的功能。真正的程序员几乎不写代码的注释,如果注释很难写,它理所当然也很难读。 真正的程序员不画流程图,原始人和文盲才会干这事。真正的程序员不看参考手册,新手和胆小鬼才会看。真正的程序员不写文档也不需要文档,只有看不懂程序的笨蛋才用文档。 真正的程序员认为自己比用户更明白用户需要什么。真正的程序员不接受团队开发的理念,除非他自己是头头。真正的程序员的程序不会在第一次就正确运行,但是他们愿意守着机器进行若干个30小时的调试改错。真正的程序员不会在上午9:00到下午5:00之间工作,如果你看到他在上午9:00工作,这表明他从昨晚一直干到现在。??

2014-11-11

STL源码剖析简体中文完整版清晰

学习编程的人都知道,阅读、剖析名家代码乃是提高水平的捷径。源码之前,了无秘密。大师们的缜密思维、经验结晶、技术思路、独到风格,都原原本本体现在源码之中。在你仔细推敲之中,迷惑不解之时,恍然大悟之际,你的经验、思维、视野、知识乃至技术品位都会获得快速的成长。 本书所呈现的源码,使你踏上了基度山岛。源码之前了无秘密,你将看到vector的实现、list的实现、heap的实现、deque的实现、Red Black tree的实现、hash table的实现、set/map的实现;你将看到各种算法(排序、查找、排列组合、数据移动与复制技术)的实现;你甚至能够看到底层的memory pook和高阶抽象的traits机制的实现。

2014-11-11

C++标准程序库

C++中的标准程序库是类库和函数的集合,其使用核心语言写成。标准程序库提供若干泛型容器、函数对象、泛型字符串和流(包含交互和文件I/O),支持部分语言特性和常用的函数,如开平方根。C++标准程序库也吸收了ISO C90 C标准程序库。标准程序库的特性声明于std命名空间之中。 标准模板程序库是C++标准程序库的子集,包含容器、算法、迭代器、函数对象等。也有些人使用术语STL代表C++标准程序库。 使用C++标准程序库时,不必加上“.h”。

2014-11-10

ACM培训-动态规划

动态规划算法通常用来解决最优化问题。这些问 题可能存在多个解,每个解具有一个值。我们希 望找到一个具有最优(最大或最小)值的解。在 动态规划算法中,主要关心的是找到一个最优解 和求出最优解的值,而不是找出所有的最优解

2014-11-10

取石子游戏_博弈

一、游戏 游戏A: 1. 甲乙两人面对若干堆石子,其中每一堆石子的数目可以任意确定。例如图 1 所示的初始局面:共 n=3 堆,其中第一堆的石子数 a1=3,第二堆石子数 a2=3, 第三堆石子数 a3=1。两人轮流按下列规则取走一些石子,游戏的规则如下: 2. 每一步应取走至少一枚石子; 3. 每一步只能从某一堆中取走部分或全部石子; � 如果谁无法按规则取子,谁就是输家。 。。。。。。

2014-11-10

白话经典算法之七大排序第2版

包括冒泡排序,直接 插入排序,直接选择排序,希尔排序,归并排序,快速排序和堆 排序这七种常用的排序方法,这些文章不仅使我在考试中取了不 错的成绩,也为后来顺利面过迅雷,腾讯,微软打下了良好的基 础,现在整理成电子书形式,希望能对大家有所帮助。第 2 版新 加入了总结篇,有助于大家的复习。

2014-11-10

背包问题九讲

背包问题是一个经典的动态规划模型。它既简单形象容易理解,又在某种程度上能够揭示 动态规划的本质,故不少教材都把它作为动态规划部分的第一道例题,我也将它放在我的写作 计划的第一部分。 读本文最重要的是思考。因为我的语言和写作方式向来不以易于理解为长,思路也偶有跳 跃的地方,后面更有需要大量思考才能理解的比较抽象的内容。更重要的是:不大量思考,绝对 不可能学好动态规划这一信息学奥赛中最精致的部分。

2014-11-10

ACM程序设计 曾宗根

本书详细讲解了 ACM 国际大学生程序设计竞赛(ACM/ICPC)编程、调试方法,以及提高时间、 空间性能的策略,并充分利用了 C++泛型编程的高效率、规范化的特性,全部采用 C++泛型编程。 第 1 章讲解了 ACM 程序设计入门知识;第 2 章讲解了 C++泛型编程的容器、迭代器和常用算法; 第 3 章讲解了 ACM 程序设计的基本编程技巧;第 4 章讲解了 50 道原版 ACM 竞赛题的解题思路,并 配有 C++泛型编程参考答案和题目的中文翻译。 本书是一本专门针对 ACM 国际大学生程序设计竞赛而编写的入门教程,适合参加 ACM/ICPC 的 大学生和 C++编程爱好者学习,对 ACM/ICPC 竞赛教练也具有一定的指导作用。

2014-11-10

空空如也

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

TA关注的人

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