- 博客(8)
- 收藏
- 关注
原创 MR添加第三方依赖和文件
问题描述 写MR程序往往需要依赖第三方依赖库,或者需要读取自己的配置文件,本文就的目的就是为了用靠谱的方法解决这两个问题! 解决方案 步骤 在 Driver 端添加依赖 export HADOOP_CLASSPATH="thirdpartlib_1.jar,thirdpartlib_2.jar ..." 在 Task 端添加依赖(或配置文件) ha...
2018-04-16 16:13:22
888
3
原创 5同步容器类
同步容器类常见同步类 Vector Hashtable Collections.synchronizedXxx工厂方法创建的封装容器注:Vector和Hashtable是早期JDK的部分,Collections.synchronizedXxx是JDK1.2添加的 同步容器实现线程安全的方式 使用自身的锁来保护它的每个方法 将他们的状态封装起来,并对每个公有方法都进行同步,使得每次只有一个线程能访问容
2017-09-05 14:34:59
276
原创 3对象的共享
同步的作用 确保复合操作的原子性(复合操线程间作互斥) 内存可见性 volatile 作用:将当前线程对volatile的改变立即通知给其他线程;保证了volatile变量对线程的可见性;volatile是一种比synchronizyed稍弱的同步机制 对可见性的影响:volatile变量对可见性的影响比volatile变量本身更为重要。当线程A首先写入一个volatile变量并且线程B随后读取该变
2017-07-19 09:33:22
290
原创 2线程安全性
编写线程安全代码的关键 在于要多状态访问操作进行管理,特别是对共享的(Shared)和可变的(Mutable)状态的访问 Java中的同步机制 synchronized volatile变量 显式锁(Explicit Lock) 原子变量 解决线程安全问题的方案 不在线程间共享该状态变量 将状态变量修改为不可变的变量 在访问状态变量时使用同步机制 有利于设计线程安全类的条件 良好的面向对象技术 不可
2017-07-19 09:32:29
264
原创 对象发布与逸出
对象发布 概念 使对象能够在当前作用于之外的代码中使用 发布方式 将指向对象的引用保存到其他代码能够访问的地方 在非私有的方法中返回该对象的引用 将对象引用传递到其他类的方法中 在别的已发布对象中的非私有域中引用对象 发布一个匿名内部类,因为匿名内部类包含了当前对象的隐含引用,发布匿名内部类是也发布了自己
2017-06-14 09:59:23
507
原创 JVM锁优化总结
自旋锁 适用场景: 适用于多cpu 前提: a. 挂起先撤和恢复线程的操作需要转入内核态完成,这种操作给系统性能带来很大压力 b. 由与线程锁定状态一般很短,为了很短的一段时间挂起线程和恢复线程不值得 做法: 在一个线程锁定时,让后来的线程在另一个cpu上稍等一下,单不放弃cpu的执行时间,等待另一个线程释放锁 消除锁 概
2017-06-09 10:54:09
619
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人