- 博客(1)
- 资源 (9)
- 收藏
- 关注
转载 Java 多线程同步和异步详解
java线程 同步与异步 线程池 1)多线程并发时,多个线程同时请求同一个资源,必然导致此资源的数据不安全,A线程修改了B线 程的处理的数据,而B线程又修改了A线程处理的数理。显然这是由于全局资源造成的,有时为了解 决此问题,优先考虑使用局部变量,退而求其次使用同步代码块,出于这样的安全考虑就必须牺牲 系统处理性能,加在多线程并发时资源挣夺最激烈的地方,这就实现了线程的同步机制
2017-11-29 18:07:24 2546
Subversion中文手册
Subversion中文手册
TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。
2013-02-27
ORACLE_SQL性能优化
ORACLE_SQL性能优化
1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.
(2) WHERE子句中的连接顺序.:
ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.
(3) SELECT子句中避免使用 ‘ * ‘:
ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间
(4) 减少访问数据库的次数:
2013-02-27
Hadoop权威指南 中文版
第1章 初识Hadoop 1
数据!数据! 1
数据存储与分析 3
与其他系统相比 4
关系型数据库管理系统 4
网格计算 6
志愿计算 8
Hadoop发展简史 9
Apache Hadoop和Hadoop生态圈 12
第2章 关于MapReduce 15
一个气象数据集 15
数据的格式 15
使用Unix工具进行数据分析 17
使用Hadoop分析数据 18
map阶段和reduce阶段 18
Java MapReduce 20
横向扩展 27
数据流 28
combiner 30
运行分布式的MapReduce作业 33
Hadoop的Streaming 33
Ruby版本 33
Python版本 36
Hadoop的Pipes 37
编译运行 38
第3章 Hadoop分布式文件系统 41
HDFS的设计 41
HDFS的概念 43
数据块 43
namenode和datanode 44
命令行接口 45
基本文件系统操作 46
Hadoop文件系统 47
接口 49
Java接口 51
从Hadoop URL中读取数据 51
通过FileSystem API读取数据 52
写入数据 55
目录 57
查询文件系统 57
删除数据 62
数据流 62
文件读取剖析 62
文件写入剖析 65
一致模型 68
通过 distcp并行复制 70
保持 HDFS 集群的均衡 71
Hadoop存档 71
使用Hadoop存档工具 72
不足 73
第4章 Hadoop I/O 75
数据完整性 75
HDFS的数据完整性 75
LocalFileSystem 76
ChecksumFileSystem 77
压缩 77
codec 78
压缩和输入分片 83
在MapReduce中使用压缩 84
序列化 86
Writable接口 87
Writable类 89
实现定制的Writable类型 96
序列化框架 101
Avro 103
基于文件的数据结构 116
SequenceFile 116
MapFile 123
第5章 MapReduce应用开发 129
配置API 130
合并多个源文件 131
可变的扩展 132
配置开发环境 132
配置管理 132
辅助类GenericOptionsParser,
Tool和ToolRunner 135
编写单元测试 138
mapper 138
reducer 140
本地运行测试数据 141
在本地作业运行器上运行作业 141
测试驱动程序 145
在集群上运行 146
打包 146
启动作业 146
MapReduce的Web界面 148
获取结果 151
作业调试 153
使用远程调试器 158
作业调优 160
分析任务 160
MapReduce的工作流 163
将问题分解成MapReduce作业 163
运行独立的作业 165
第6章 MapReduce的工作机制 167
剖析MapReduce作业运行机制 167
作业的提交 167
作业的初始化 169
任务的分配 169
任务的执行 170
进度和状态的更新 170
作业的完成 172
失败 173
任务失败 173
tasktracker失败 175
jobtracker失败 175
作业的调度 175
Fair Scheduler 176
Capacity Scheduler 177
shuffle和排序 177
map端 177
reduce端 179
配置的调优 180
任务的执行 183
推测执行 183
任务JVM重用 184
跳过坏记录 185
任务执行环境 186
第7章 MapReduce的类型与格式 189
MapReduce的类型 189
默认的MapReduce作业 192
输入格式 198
输入分片与记录 198
文本输入 209
二进制输入 213
多种输入 214
2013-02-27
Java中抽象类和接口的区别
Java中抽象类和接口的区别
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,
2008-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人