自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ubuntu中安装和卸载apache2

1.安装apache2安装命令:sudo apt-get install apache2启动/停止/重启apache2: service apache2 start/stop/restart2. 卸载apache2之前卸载重新安装后找不到apache2.conf配置文件,测试使用一下方式卸载后可用。(1)  $ sudo apt-get --

2016-11-17 17:12:30 814

原创 ubuntu SVN Apache SSL https 安装 与 配置

先安装这些,  切记先 apt-get update 更新一下源   [plain] view plain copyapt-get install subversion apache2 libapache2-svn apache2-utils  开启  (会提示你重新启动apache2,  无视它,进入下一步创建)[p

2016-11-17 17:11:36 1531

转载 linux 配置svn服务器+使用+注意事项

本文以ubuntu系统进行安装。1、安装svn服务器apt-get install subversion  输入 y 回车确认安装。安装完毕后可以用 下边的命令查看是否安装完成,如果现实出版本号和版权信息等等就证明安装完成。svn --versionsvn --version 成功后展示如下信息svn, version 1.8.

2016-11-16 19:36:02 358

转载 Linux Mint:MySQL的安装

在Linux Mint中安装MySQL工具/原料64位的Linux Mint操作系统:linuxmint-17.1-cinnamon-64bit方法/步骤1Ctrl+Alt+T,直接打开终端。2在终端中输入 sudo apt-get

2016-11-16 11:08:13 2916

转载 Vmvare Workstation 12 Pro如何安装Linux系统

作为一个开发者或者对Linux好奇的新手而言,安装一个Linux操作系统在自己的现有PC上是经常要做的操作了。本经验假设读者已经有了计算机的基本理论知识,了解计算机硬件和操作系统软件的相关原理,对磁盘、光驱、内存、处理器等设备有清晰的概念,了解一些Linux的知识与操作。该条经验描述的是Linux系统的虚拟安装方式,跟硬盘安装的系统有所区别,但是在硬件配置足够好的情况下实际使用区别不是很大。

2016-11-14 15:28:44 777

转载 VMware虚拟机安装win10的方法

10月2日零点,微软正在公开Win10预览版下载地址,简体中文版也包含在其中。想尝鲜的朋友但又怕系统不稳定,那么就可以用虚拟机装win10来尝尝鲜。下面本文将介绍如何用VMware虚拟机安装win10工具/原料VMware虚拟机软件微软win10镜像文件方法/步骤1首

2016-11-14 15:10:46 2271

原创 Eclipse+Maven创建webapp项目

Eclipse+Maven创建webapp项目1、开启eclipse,右键new——》other,如下图找到maven project2、选择maven project,显示创建maven项目的窗口,勾选如图所示,Create a simple project3、输入maven项目的基本信息,如下图所示:4、完成maven项目的创建,生成相应

2016-10-27 11:11:43 247

转载 面试感悟----一名3年工作经验的程序员应该具备的技能

原文出自:http://www.cnblogs.com/xrq730/p/5260294.html==================================================================================前言因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章。这篇文章大部分内容都是面向整

2016-10-21 17:00:03 464

转载 Java代码优化(长期更新)

前言2016年3月修改,结合自己的工作和平时学习的体验重新谈一下为什么要进行代码优化。在修改之前,我的说法是这样的:就像鲸鱼吃虾米一样,也许吃一个两个虾米对于鲸鱼来说作用不大,但是吃的虾米多了,鲸鱼自然饱了。代码优化一样,也许一个两个的优化,对于提升代码的运行效率意义不大,但是只要处处都能注意代码优化,总体来说对于提升代码的运行效率就很有用了。这个观点,在现在看来,是要进行代

2016-10-21 16:03:18 246

转载 To Java程序员:切勿用普通for循环遍历LinkedList

ArrayList与LinkedList的普通for循环遍历对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法:public static void main(String[] args){ List arrayList = new ArrayList(); for (in

2016-10-20 18:34:58 909

转载 图解集合6:LinkedHashMap

初识LinkedHashMap上两篇文章讲了HashMap和HashMap在多线程下引发的问题,说明了,HashMap是一种非常常见、非常有用的集合,并且在多线程情况下使用不当会有线程安全问题。大多数情况下,只要不涉及线程安全问题,Map基本都可以使用HashMap,不过HashMap有一个问题,就是迭代HashMap的顺序并不是HashMap放置的顺序,也就是无序。HashMap的这一缺

2016-10-20 18:00:51 237

转载 图解集合4:HashMap

初识HashMap之前的List,讲了ArrayList、LinkedList,最后讲到了CopyOnWriteArrayList,就前两者而言,反映的是两种思想:(1)ArrayList以数组形式实现,顺序插入、查找快,插入、删除较慢(2)LinkedList以链表形式实现,顺序插入、查找较慢,插入、删除方便那么是否有一种数据结构能够结合上面两种的优点呢?有,答案就是HashMa

2016-10-20 17:43:30 191

转载 图解集合3:CopyOnWriteArrayList

初识CopyOnWriteArrayList第一次见到CopyOnWriteArrayList,是在研究JDBC的时候,每一个数据库的Driver都是维护在一个CopyOnWriteArrayList中的,为了证明这一点,贴两段代码,第一段在com.mysql.jdbc.Driver下,也就是我们写Class.forName("...")中的内容:public class Driv

2016-10-20 14:48:48 172

转载 图解集合2:LinkedList

初识LinkedList上一篇中讲解了ArrayList,本篇文章讲解一下LinkedList的实现。LinkedList是基于链表实现的,所以先讲解一下什么是链表。链表原先是C/C++的概念,是一种线性的存储结构,意思是将要存储的数据存在一个存储单元里面,这个存储单元里面除了存放有待存储的数据以外,还存储有其下一个存储单元的地址(下一个存储单元的地址是必要的,有些存储结构还存放有其前一个

2016-10-20 14:29:50 219

转载 图解集合1:ArrayList

前言这个分类中,将会写写Java中的集合。集合是Java中非常重要而且基础的内容,因为任何数据必不可少的就是该数据是如何存储的,集合的作用就是以一定的方式组织、存储数据。这里写的集合,一部分是比较常见的、一部分是不常用但是我个人平时见到过的,一些比较相似的集合(比如HashMap和Hashtable)就只讲一个,突出它们之间的区别即可。最后,要指出一点,对于集合,我认为关注的点主要

2016-10-19 18:11:03 282

原创 博文推荐

http://www.cnblogs.com/xrq730/    java技术类博客

2016-10-19 15:31:25 314

原创 myeclipse安装svn插件

1、从官网下载site-1.6.10.zip文件,网址是:subclipse.tigris.org,2、从中解压出features与 plugins文件夹,复制到E:\MyEclipse\myPlugin\svn里面,其它的*.xml文件不要。3、在 E:\MyEclipse\MyEclipse9.0\dropins下新建文件svn.link,内容是:path=E:\\MyEclipse 

2015-04-09 09:11:17 225

解决TeamViewer检测为商业用途

解决TeamViewer检测为商业用途,解决TeamViewer限制5分钟访问的问题,将文件解压后放到TeamViewer安装目录下,安装即可。。亲测正在使用

2019-05-13

10秒解决TeamViewer商业用途,TW破解软件

第一步:无需卸载现有TeamViewer软件,破解补丁AlterID.exe解压到TeamViewer安装目录下。 第二步:双击打开破解补丁AlterID.exe,选择Free,然后点击Start 按钮。 第三步:进度条显示100%后,再点End 结束破解,然后打开TeamViewer(TeamViewer会生成一个新的ID)。 注意事项: 1、如果使用很频繁,运行破解补丁AlterID.exe后,页面上提示剩余7天,这个是正常的,到时候剩余时间为0天,再运行一次破解补丁即可。 2、运行破解补丁AlterID.exe后,需要一段时间获取新的ID,所以刚开始会比较慢,最多过2-3分钟就会恢复正常。 3、运行破解补丁AlterID.exe后,用完TeamViewer关闭连接时,显示下图的界面也是正常的,这个不影响使用。 4、只要出现TeamViewer试用版到期的提示,再次运行破解补丁AlterID.exe即可。 5、运行破解补丁AlterID.exe后,如果登录账号会收到邮件提示,需要点击添加为可信任设备,如果不想麻烦,可以不登陆账号。 6、运行破解补丁AlterID.exe后,登录账号,如果提示非商用途如下图,也是正常的,这个只是显示问题,不影响使用。 7、破解补丁AlterID.exe只需要装在主控端,比如 电脑A 连 电脑B,破解补丁AlterID.exe在电脑A上运行即可。

2019-05-02

CRT连接linux服务器

CRT连接linux服务器

2018-08-29

使用Java实现串口通信demo下载

博客地址:http://blog.csdn.net/kong_gu_you_lan/article/details/52302075 GitHub地址:https://github.com/alidili/SerialPortDemo

2018-08-29

xampp-win32-1.7.1-installer.exe

xampp-win32-1.7.1 这个版本的xampp才能够被zendoptimizer-3.3.3支持。xampp1.7.7版本的php过高

2018-08-29

bugfree_v3.0.4

BugFree是借鉴微软公司软件研发理念、免费且开放源代码、基于Web的精简版缺陷管理系统。它是目前唯一“克隆”微软内部Bug管理工具Product Stuido(以前叫Raid)的自由软件。BugFree是用PHP+MySQL写成,在Linux和Windows平台上都可以运行,我们推荐的使用环境是LAMP(Linux+Apache+MySQL+PHP)。

2018-08-29

echarts复合曲线图

用echarts 实现的复合曲线图,带另存为图片功能

2017-02-22

VisualSVN-Server-3.5.0-x64.msi

VisualSVN-Server-3.5.0-x64.msi

2016-12-08

svn客户端(64位) 含汉化工具

svn客户端(64位) 含汉化工具

2016-11-22

maven-3.2.5

最新的maven资源,window 64 32位适用

2016-11-22

谷歌浏览器JSON插件

谷歌浏览器json的插件,官方版的,放心使用

2016-11-15

SVN在linux上的搭建 一键式安装

SVN在linux上的搭建 一键式安装 已经配置好了。当然可以照着上面的解说进行修改。绝对适合像我这样的懒人 信手拈来直接用。5分下载的。 0分给大家

2016-11-14

JDK1.8 API

本文档将Java8的新特新逐一添加,比如如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API上的改进,比如流,函数式接口,Map以及全新的日期API。祝你Java技术更上一层楼!

2016-11-02

JDK1.8 API 百度翻译版中文 java帮助文档1.8

JDK1.8 API 中文 百度翻译版 java帮助文档 JDK API java 帮助文档 百度翻译 JDK1.8 API 中文 百度翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用百度翻译,非人工翻译。准确性不能保证,请与英文版配合使用

2016-11-02

《重构 改善既有代码的设计》

重构-改善既有代码的设计[高清版] PDF

2016-10-21

《大型网站技术架构 核心原理与案例分析》李智慧.pdf

第1篇 概述 1 大型网站架构演化 2 1.1 大型网站软件系统的特点 3 1.2 大型网站架构演化发展历程 4 1.2.1 初始阶段的网站架构 4 1.2.2 应用服务和数据服务分离 4 1.2.3 使用缓存改善网站性能 5 1.2.4 使用应用服务器集群改善网站的并发处理能力 6 1.2.5 数据库读写分离 7 1.2.6 使用反向代理和CDN加速网站响应 8 1.2.7 使用分布式文件系统和分布式数据库系统 9 1.2.8 使用NoSQL和搜索引擎 10 1.2.9 业务拆分 11 1.2.10 分布式服务 11 1.3 大型网站架构演化的价值观 13 1.3.1 大型网站架构技术的核心价值是随网站所需灵活应对 13 1.3.2 驱动大型网站技术发展的主要力量是网站的业务发展 13 1.4 网站架构设计误区 14 1.4.1 一味追随大公司的解决方案 14 1.4.2 为了技术而技术 14 1.4.3 企图用技术解决所有问题 14 1.5 小结 15 2 大型网站架构模式 16 2.1 网站架构模式 16 2.1.1 分层 17 2.1.2 分割 18 2.1.3 分布式 18 2.1.4 集群 19 2.1.5 缓存 20 2.1.6 异步 20 2.1.7 冗余 21 2.1.8 自动化 22 2.1.9 安全 23 2.2 架构模式在新浪微博的应用 23 2.3 小结 25 3 大型网站核心架构要素 26 3.1 性能 27 3.2 可用性 28 3.3 伸缩性 29 3.4 扩展性 30 3.5 安全性 30 3.6 小结 31 第2篇 架构 4 瞬时响应:网站的高性能架构 34 4.1 网站性能测试 35 4.1.1 不同视角下的网站性能 35 4.1.2 性能测试指标 36 4.1.3 性能测试方法 39 4.1.4 性能测试报告 41 4.1.5 性能优化策略 41 4.2 Web前端性能优化 42 4.2.1 浏览器访问优化 42 4.2.2 CDN加速 43 4.2.3 反向代理 44 4.3 应用服务器性能优化 45 4.3.1 分布式缓存 45 4.3.2 异步操作 52 4.3.3 使用集群 53 4.3.4 代码优化 54 4.4 存储性能优化 58 4.4.1 机械硬盘vs. 固态硬盘 58 4.4.2 B+树vs. LSM树 59 4.4.3 RAID vs. HDFS 61 4.5 小结 64 5 万无一失:网站的高可用架构 66 5.1 网站可用性的度量与考核 67 5.1.1 网站可用性度量 67 5.1.2 网站可用性考核 67 5.2 高可用的网站架构 69 5.3 高可用的应用 71 5.3.1 通过负载均衡进行无状态服务的失效转移 72 5.3.2 应用服务器集群的Session管理 73 5.4 高可用的服务 76 5.5 高可用的数据 78 5.5.1 CAP原理 79 5.5.2 数据备份 82 5.5.3 失效转移 84 5.6 高可用网站的软件质量保证 85 5.6.1 网站发布 85 5.6.2 自动化测试 86 5.6.3 预发布验证 87 5.6.4 代码控制 88 5.6.5 自动化发布 90 5.6.6 灰度发布 91 5.7 网站运行监控 91 5.7.1 监控数据采集 92 5.7.2 监控管理 93 5.8 小结 94 6 永无止境:网站的伸缩性架构 95 6.1 网站架构的伸缩性设计 97 6.1.1 不同功能进行物理分离实现伸缩 97 6.1.2 单一功能通过集群规模实现伸缩 98 6.2 应用服务器集群的伸缩性设计 99 6.2.1 HTTP重定向负载均衡 100 6.2.2 DNS域名解析负载均衡 101 6.2.3 反向代理负载均衡 102 6.2.4 IP负载均衡 103 6.2.5 数据链路层负载均衡 104 6.2.6 负载均衡算法 105 6.3 分布式缓存集群的伸缩性设计 106 6.3.1 Memcached分布式缓存集群的访问模型 107 6.3.2 Memcached分布式缓存集群的伸缩性挑战 107 6.3.3 分布式缓存的一致性Hash算法 109 6.4 数据存储服务器集群的伸缩性设计 112 6.4.1 关系数据库集群的伸缩性设计 113 6.4.2 NoSQL数据库的伸缩性设计 117 6.5 小结 119 7 随需应变:网站的可扩展架构 121 7.1 构建可扩展的网站架构 122 7.2 利用分布式消息队列降低系统耦合性 123 7.2.1 事件驱动架构 123 7.2.2 分布式消息队列 124 7.3 利用分布式服务打造可复用的业务平台 126 7.3.1 Web Service与企业级分布式服务 128 7.3.2 大型网站分布式服务的需求与特点 129 7.3.3 分布式服务框架设计 130 7.4 可扩展的数据结构 131 7.5 利用开放平台建设网站生态圈 132 7.6 小结 134 8 固若金汤:网站的安全架构 135 8.1 道高一尺魔高一丈的网站应用攻击与防御 136 8.1.1 XSS攻击 136 8.1.2 注入攻击 138 8.1.3 CSRF攻击 139 8.1.4 其他攻击和漏洞 140 8.1.5 Web应用防火墙 141 8.1.6 网站安全漏洞扫描 142 8.2 信息加密技术及密钥安全管理 142 8.2.1 单向散列加密 143 8.2.2 对称加密 144 8.2.3 非对称加密 144 8.2.4 密钥安全管理 145 8.3 信息过滤与反垃圾 146 8.3.1 文本匹配 147 8.3.2 分类算法 148 8.3.3 黑名单 149 8.4 电子商务风险控制 150 8.4.1 风险 151 8.4.2 风控 151 8.5 小结 153 第3篇 案例 9 淘宝网的架构演化案例分析 156 9.1 淘宝网的业务发展历程 157 9.2 淘宝网技术架构演化 158 9.3 小结 162 10 维基百科的高性能架构设计分析 163 10.1 Wikipedia网站整体架构 163 10.2 Wikipedia性能优化策略 165 10.2.1 Wikipedia前端性能优化 165 10.2.2 Wikipedia服务端性能优化 166 10.2.3 Wikipedia后端性能优化 167 11 海量分布式存储系统Doris的高可用架构设计分析 169 11.1 分布式存储系统的高可用架构 170 11.2 不同故障情况下的高可用解决方案 171 11.2.1 分布式存储系统的故障分类 172 11.2.2 正常情况下系统访问结构 172 11.2.3 瞬时故障的高可用解决方案 173 11.2.4 临时故障的高可用解决方案 174 11.2.5 永久故障的高可用解决方案 175 12 网购秒杀系统架构设计案例分析 176 12.1 秒杀活动的技术挑战 177 12.2 秒杀系统的应对策略 177 12.3 秒杀系统架构设计 178 12.4 小结 182 13 大型网站典型故障案例分析 183 13.1 写日志也会引发故障 184 13.2 高并发访问数据库引发的故障 184 13.3 高并发情况下锁引发的故障 185 13.4 缓存引发的故障 185 13.5 应用启动不同步引发的故障 186 13.6 大文件读写独占磁盘引发的故障 186 13.7 滥用生产环境引发的故障 187 13.8 不规范的流程引发的故障 187 13.9 不好的编程习惯引发的故障 188 13.10 小结 188 第4篇 架构师 14 架构师领导艺术 190 14.1 关注人而不是产品 191 14.2 发掘人的优秀 191 14.3 共享美好蓝图 192 14.4 共同参与架构 193 14.5 学会妥协 194 14.6 成就他人 194 15 网站架构师职场攻略 196 15.1 发现问题,寻找突破 197 15.2 提出问题,寻求支持 199 15.3 解决问题,达成绩效 201 16 漫话网站架构师 203 16.1 按作用划分架构师 203 16.2 按效果划分架构师 204 16.3 按职责角色划分架构师 205 16.4 按关注层次划分架构师 205 16.5 按口碑划分架构师 206 16.6 非主流方式划分架构师 207 附录A 大型网站架构技术一览 208 附录B Web开发技术发展历程 215

2016-10-21

《从Paxos到ZooKeeper 分布式一致性原理与实践》pdf-高清完整版

PAXOS到ZOOKEEPER分布式一致性原理与实践,学习zookeeper必备书.rar

2016-10-21

《深入理解Java虚拟机:JVM高级特性与最佳实践》.pdf,完整

深入理解Java虚拟机——JVM高级特性与最佳实践(第2版).pdf,完整,带书签

2016-10-21

《深入分析Java Web技术内幕》(修订版)完整版 PDF

内容简介 · · · · · · 《深入分析Java Web技术内幕(修订版)》新增了淘宝在无线端的应用实践,包括:CDN 动态加速、多终端化改造、 多终端Session 统一 ,以及在大流量的情况下,如何跨越性能、网络和一个地区的电力瓶颈等内容,并提供了比较完整的解决方案。 《深入分析Java Web技术内幕(修订版)》主要围绕Java Web 相关技术从三方面全面、深入地进行了阐述。首先介绍前端知识,即在JavaWeb 开发中涉及的一些基本知识,包括Web 请求过程、HTTP、DNS 技术和CDN 技术。其次深入介绍了Java 技术,包括I/O 技术、中文编码问题、Javac 编译原理、class 文件结构解析、ClassLoader 工作机制及JVM 的内存管理等。最后介绍了Java 服务端技术,主要包括Servlet、Session 与Cookie、Tomcat 与Jetty服务器、Spring 容器、iBatis 框架和Velocity 框架等原理介绍,并介绍了服务端的一些优化技术。 《深入分析Java Web技术内幕(修订版)》不仅介绍这些技术和框架的工作原理,而且结合示例来讲解,通过通俗易懂的文字和丰富、生动的配图,让读者充分并深入理解它们的内部工作原理,同时还结合了设计模式来介绍这些技术背后的架构思维。 作者简介 · · · · · · 许令波,毕业于合肥工业大学,获计算机硕士学位。热爱Java Web技术,关注服务端性能优化,热衷开源技术的研究和分享,曾获developerWorks最佳作者称号。2009年进入淘宝工作,目前从事模板渲染框架与MVC框架的开发与应用、Java Web的性能优化、高访问量系统静态化和商品详情系统的业务改造等工作。

2016-10-21

《Java多线程编程核心技术》迷你书

资深Java专家10年经验总结,全程案例式讲解,首本全面介绍Java多线程编程技术的专著。本书以浅白的措辞,结合大量实例,全面讲解Java多线程编程中的并发访问、线程间通信、锁等最难突破的技术与应用实践。   全书共7章。第1章讲解了Java多线程的基础,重点介绍线程类的核心API的使用。第2章讲解对并发访问的控制,即如何写出线程安全的程序。第3章介绍线程间通信,以提高CPU利用率和系统间的交互,同时增强对线程任务的把控与监督。第4章讲解Lock对象,以更好实现并发访问时的同步处理。第5章讲解移动开发中使用较多的定时器类中的多线程技术,这是计划任务执行里很重要的技术点。第6章讲解如何安全、正确地将单例模式与多线程技术相结合,避免实际应用中可能会出现的麻烦。第7章将前面被遗漏的技术案例在本章节中进行补充,尽量做到不出现技术空白点。

2016-10-20

《java并发编程实战》pdf及源码

目录 对本书的赞誉 译者序 前 言 第1章 简介  1.1 并发简史  1.2 线程的优势   1.2.1 发挥多处理器的强大能力   1.2.2 建模的简单性   1.2.3 异步事件的简化处理   1.2.4 响应更灵敏的用户界面  1.3 线程带来的风险   1.3.1 安全性问题   1.3.2 活跃性问题   1.3.3 性能问题  1.4 线程无处不在 第一部分 基础知识  第2章 线程安全性   2.1 什么是线程安全性   2.2 原子性    2.2.1 竞态条件    2.2.2 示例:延迟初始化中的竞态条件    2.2.3 复合操作   2.3 加锁机制    2.3.1 内置锁    2.3.2 重入   2.4 用锁来保护状态   2.5 活跃性与性能  第3章 对象的共享   3.1 可见性    3.1.1 失效数据    3.1.2 非原子的64位操作    3.1.3 加锁与可见性    3.1.4 Volatile变量   3.2 发布与逸出   3.3 线程封闭    3.3.1 Ad-hoc线程封闭    3.3.2 栈封闭    3.3.3 ThreadLocal类   3.4 不变性    3.4.1 Final域    3.4.2 示例:使用Volatile类型来发布不可变对象   3.5 安全发布    3.5.1 不正确的发布:正确的对象被破坏    3.5.2  不可变对象与初始化安全性    3.5.3 安全发布的常用模式    3.5.4 事实不可变对象    3.5.5 可变对象    3.5.6 安全地共享对象  第4章 对象的组合   4.1 设计线程安全的类    4.1.1 收集同步需求    4.1.2 依赖状态的操作    4.1.3 状态的所有权   4.2 实例封闭    4.2.1 Java监视器模式    4.2.2 示例:车辆追踪   4.3 线程安全性的委托    4.3.1 示例:基于委托的车辆追踪器    4.3.2 独立的状态变量    4.3.3 当委托失效时    4.3.4 发布底层的状态变量    4.3.5 示例:发布状态的车辆追踪器   4.4 在现有的线程安全类中添加功能    4.4.1 客户端加锁机制    4.4.2 组合   4.5 将同步策略文档化  第5章 基础构建模块   5.1 同步容器类    5.1.1 同步容器类的问题    5.1.2 迭代器与Concurrent-ModificationException    5.1.3 隐藏迭代器   5.2 并发容器    5.2.1 ConcurrentHashMap    5.2.2 额外的原子Map操作    5.2.3 CopyOnWriteArrayList   5.3 阻塞队列和生产者-消费者模式    5.3.1 示例:桌面搜索    5.3.2 串行线程封闭    5.3.3 双端队列与工作密取   5.4 阻塞方法与中断方法   5.5 同步工具类    5.5.1 闭锁    5.5.2 FutureTask    5.5.3 信号量    5.5.4 栅栏   5.6 构建高效且可伸缩的结果缓存 第二部分 结构化并发应用程序  第6章 任务执行   6.1 在线程中执行任务    6.1.1 串行地执行任务    6.1.2 显式地为任务创建线程    6.1.3 无限制创建线程的不足   6.2 Executor框架    6.2.1 示例:基于Executor的Web服务器    6.2.2 执行策略    6.2.3 线程池    6.2.4 Executor的生命周期    6.2.5 延迟任务与周期任务   6.3 找出可利用的并行性    6.3.1 示例:串行的页面渲染器    6.3.2 携带结果的任务Callable与Future    6.3.3 示例:使用Future实现页面渲染器    6.3.4 在异构任务并行化中存在的局限    6.3.5 CompletionService:Executor与BlockingQueue    6.3.6 示例:使用CompletionService实现页面渲染器    6.3.7 为任务设置时限    6.3.8 示例:旅行预定门户网站  第7章 取消与关闭   7.1 任务取消    7.1.1 中断    7.1.2 中断策略    7.1.3 响应中断    7.1.4 示例:计时运行    7.1.5 通过Future来实现取消    7.1.6 处理不可中断的阻塞    7.1.7 采用newTaskFor来封装非标准的取消   7.2 停止基于线程的服务    7.2.1 示例:日志服务    7.2.2 关闭ExecutorService    7.2.3 “毒丸”对象    7.2.4 示例:只执行一次的服务    7.2.5 shutdownNow的局限性   7.3 处理非正常的线程终止   7.4 JVM关闭    7.4.1 关闭钩子    7.4.2 守护线程    7.4.3 终结器  第8章 线程池的使用   8.1 在任务与执行策略之间的隐性耦合    8.1.1 线程饥饿死锁    8.1.2 运行时间较长的任务   8.2 设置线程池的大小   8.3 配置ThreadPoolExecutor    8.3.1 线程的创建与销毁    8.3.2 管理队列任务    8.3.3 饱和策略    8.3.4 线程工厂    8.3.5 在调用构造函数后再定制ThreadPoolExecutor   8.4 扩展 ThreadPoolExecutor   8.5 递归算法的并行化  第9章 图形用户界面应用程序   9.1 为什么GUI是单线程的    9.1.1 串行事件处理    9.1.2 Swing中的线程封闭机制   9.2 短时间的GUI任务   9.3 长时间的GUI任务    9.3.1 取消    9.3.2 进度标识和完成标识    9.3.3 SwingWorker   9.4 共享数据模型    9.4.1 线程安全的数据模型    9.4.2 分解数据模型    9.5 其他形式的单线程子系统 第三部分 活跃性、性能与测试  第10章 避免活跃性危险   10.1 死锁    10.1.1 锁顺序死锁    10.1.2 动态的锁顺序死锁    10.1.3 在协作对象之间发生的死锁    10.1.4 开放调用    10.1.5 资源死锁   10.2 死锁的避免与诊断    10.2.1 支持定时的锁    10.2.2 通过线程转储信息来分析死锁   10.3 其他活跃性危险    10.3.1 饥饿    10.3.2 糟糕的响应性    10.3.3 活锁  第11章 性能与可伸缩性   11.1 对性能的思考    11.1.1 性能与可伸缩性    11.1.2 评估各种性能权衡因素   11.2 Amdahl定律    11.2.1 示例:在各种框架中隐藏的串行部分    11.2.2 Amdahl定律的应用   11.3 线程引入的开销    11.3.1 上下文切换    11.3.2 内存同步    11.3.3 阻塞   11.4 减少锁的竞争    11.4.1 缩小锁的范围(“快进快出”)    11.4.2 减小锁的粒度    11.4.3 锁分段    11.4.4 避免热点域    11.4.5 一些替代独占锁的方法    11.4.6 监测CPU的利用率    11.4.7 向对象池说“不”   11.5 示例:比较Map的性能   11.6 减少上下文切换的开销  第12章 并发程序的测试   12.1 正确性测试    12.1.1 基本的单元测试    12.1.2 对阻塞操作的测试    12.1.3 安全性测试    12.1.4 资源管理的测试    12.1.5 使用回调    12.1.6 产生更多的交替操作   12.2 性能测试    12.2.1 在PutTakeTest中增加计时功能    12.2.2 多种算法的比较    12.2.3 响应性衡量   12.3 避免性能测试的陷阱    12.3.1 垃圾回收    12.3.2 动态编译    12.3.3 对代码路径的不真实采样    12.3.4 不真实的竞争程度    12.3.5 无用代码的消除   12.4 其他的测试方法    12.4.1 代码审查    12.4.2 静态分析工具    12.4.3 面向方面的测试技术    12.4.4 分析与监测工具 第四部分 高级主题  第13章 显式锁   13.1 Lock与 ReentrantLock    13.1.1 轮询锁与定时锁    13.1.2 可中断的锁获取操作    13.1.3 非块结构的加锁   13.2 性能考虑因素   13.3 公平性   13.4 在synchronized和ReentrantLock之间进行选择   13.5 读-写锁  第14章 构建自定义的同步工具   14.1 状态依赖性的管理    14.1.1 示例:将前提条件的失败传递给调用者    14.1.2 示例:通过轮询与休眠来实现简单的阻塞    14.1.3 条件队列   14.2 使用条件队列    14.2.1 条件谓词    14.2.2 过早唤醒    14.2.3 丢失的信号    14.2.4 通知    14.2.5 示例:阀门类    14.2.6 子类的安全问题    14.2.7 封装条件队列    14.2.8 入口协议与出口协议   14.3 显式的Condition对象   14.4 Synchronizer剖析   14.5 AbstractQueuedSynchronizer   14.6 java.util.concurrent同步器类中的 AQS    14.6.1 ReentrantLock    14.6.2 Semaphore与CountDownLatch    14.6.3 FutureTask    14.6.4 ReentrantReadWriteLock  第15章 原子变量与非阻塞同步机制   15.1 锁的劣势   15.2 硬件对并发的支持    15.2.1 比较并交换    15.2.2 非阻塞的计数器    15.2.3 JVM对CAS的支持   15.3 原子变量类    15.3.1 原子变量是一种“更好的volatile”    15.3.2 性能比较:锁与原子变量   15.4 非阻塞算法    15.4.1 非阻塞的栈    15.4.2 非阻塞的链表    15.4.3 原子的域更新器    15.4.4 ABA问题  第16章 Java内存模型   16.1 什么是内存模型,为什么需要它    16.1.1 平台的内存模型    16.1.2 重排序    16.1.3 Java内存模型简介    16.1.4 借助同步   16.2 发布    16.2.1 不安全的发布    16.2.2 安全的发布    16.2.3 安全初始化模式    16.2.4 双重检查加锁   16.3 初始化过程中的安全性 附录A 并发性标注 参考文献

2016-10-20

eclipse4.4 jadclipse插件

Eclipse4.x以上的版本用原来的jadclipse加jad.exe方式已经不能用,该版本在Eclipse4.4下亲测可用。安装方法:将下载的压缩文件解压后,将其中的plugins和features文件夹复制到Eclipse的安装目录下的dropins文件夹下即可,无须再另外安装jad.exe。也可采用link的方式安装

2016-10-19

Java编程思想第四版完整中文高清版.pdf

java编程思第四版,PDF版,内代码可复制,非扫描版

2016-10-18

SpringMvc+maven+dubbo+zookeeper的服务端api实例

SpringMvc+maven+dubbo+zookeeper的服务端api实例 附有说明文档。

2016-09-19

Spring mvc整合redis实例(redis连接池)

Spring mvc整合redis实例(redis连接池) 将所有jedis 增删改进行事务的封装、查询单独做为有返回参数的封装。简化了很多代码

2016-09-19

activeMq jms需要的jar包

activeMq jms需要的jar包

2016-09-14

redis需要的Jar包

redis需要的Jar包

2016-09-11

SpringMvc+redis+activeMq实现消息发布订阅(测试通过)

SpringMvc+redis+activeMq实现消息发布订阅(测试通过) redis和activeMq jms各自需要的Jar包在其它资源中上传,大家可以下载。 这个例子拿到项目中可直接用

2016-09-11

Spring mvc整合redis实例(测试通过)

一款封装比较全的 sping 整合 redis实例。 不是Spring-date-redis的,是另一种集成方式,从网上整理的代码,测试已跑通。

2016-09-07

省市县三级联动

用jquery做的一款很好用的省市县三级联动,稍加改动就能用

2015-04-09

SSH拥有的小例子

自己写的一个 hibernate3.1+status2+spring3的小例子, 初学者可以直接配好用,需要搭框架的也可以直接拿下来填代码。

2015-04-07

空空如也

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

TA关注的人

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