文档章节

身为JAVA工作者必须了解的实战知识(四)

 叶荷
发布于 2017/08/27 22:37
字数 838
阅读 7
收藏 0

一、同步容器类

1. 同步容器类的问题

线程容器类都是线程安全的,但是当在其上进行符合操作则需要而外加锁保护其安全性。

常见符合操作包含:

. 迭代

. 跳转(根据指定顺序找到当前元素的下一个元素)

. 条件运算

迭代问题可以查看之前的文章

《Java ConcurrentModificationException 异常分析与解决方案》

二、并发容器

集合类型非线程安全线程安全

ListArrayListCopyOnWriteArrayList

SetSortedSetConcurrentSkipListSet

MapHashMap、SortedMapConcurrentHashMap、ConcurrentSkipListMap、

ConcurrentHashMap

CopyOnWriteArrayList

三、阻塞队列 - 生产者消费者模式

队列 - BlockingQueue

四、阻塞方法与中断方法

以下内容摘录自《温绍锦 - Java并发程序设计教程-》

[java]view plaincopy

print?

// 第一种方式

Thread thread =newThread("interrupt test") {

publicvoidrun() {

for(;;) {

doXXX();

if(Thread.interrupted()) {

break;

}

}

}

};

thread.start();

// 第二种方式

Thread thread =newThread("interrupt test") {

publicvoidrun() {

for(;;) {

try{

doXXX();

}catch(InterruptedException e) {

break;

}catch(Exception e) {

// handle Exception

}

}

}

};

thread.start();

// 第三种方式

publicvoidfoo()throwsInterruptedException {

if(Thread.interrupted()) {

thrownewInterruptedException();

}

}

程序应该对线程中断作出恰当的响应。

五、同步工具类

1. 闭锁 CountDownLatch

2. FutureTask

3. 信号量

4. 栅栏(Barrier)

以上就是我推荐给Java开发者们的一面试经典知识。但是这些知识里面并没有太多Java全栈、Java晋阶、JAVA架构之类的题,不是我不推荐,而是希望大家更多的从基本功做起,打好基础,太多复杂的内容一会儿也说不明白。

好了同学们,我能介绍的也都全部介绍完给你们了,如果下获得更多JAVA教学资源,可以选择来我们这里共同交流,群:240448376,很多大神在这里切磋学习,不懂可以直接问,晚上还有大牛免费直播教学。

注:加群要求

1、具有一定工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加,有些应届生和实习生也可以加。

2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加。

3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加。

4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加。

5.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!

PS:现在主要讲解的内容是(反射原理枚举原理与应用注解原理常用设计模式、正规表达式高级应用、JAVA操作Office原理详解JAVA图像处理技术,等多个知识点的详解和实战)

6.小号或者小白之类加群一律不给过,谢谢。

最后,每一位读到这里的网友,感谢你们能耐心地看完。觉得对你有帮助可以给个喜欢!希望在成为一名更优秀的Java程序员的道路上,我们可以一起学习、一起进步

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 24
码字总数 41519
作品 0
私信 提问
fbf的书单,欢迎分享,欢迎更新

本人看过的以下书值得推荐的,列出来的就是值得推荐的 这个颜色是一般推荐 这个颜色是强烈推荐 这个颜色是神作,收藏吧 物联网:生产力的变革 李虹著 开拓视野,一般 源码中国:全球IT外包新原...

fbf
2015/03/16
0
0
【有奖书评】JAVA 7来袭,还看 Java 你就OUT了

从1995年至今,Java已经超过15个年头,经过这些年的演进,Java已不仅是个程序语言,也代表了解决问题的平台(Platform),更代表了原厂、各个厂商、社群、开发者与用户沟通的成果。若仅以程序语...

louise
2012/08/31
12.4K
123
Java培训实战教程之Java基础知识精华部分(四)(五)

Java培训实战教程之Java基础知识精华部分(四)_设计模式 =============================================================================Java培训实战教程之Java基础知识精华部分(四)_设计模...

黑泽明军
04/13
0
0
Python爱好者要明确的未来方向

了解Python是什么? Python 这门语言它是面向对象编程语言,有封装强大的类库,Python目前已经超过了Java成为人们最喜欢的编程语言。相比Java,Python更加的容易理解、免费开源的代码、Pytho...

糖宝lsh
09/20
0
0
JVM系列开篇:为什么要学虚拟机?

跟许多人一样,我一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮看看。所以很多人对于为什么要学虚拟机这个问题,他们的答案都是:因为面试。但我经过了几年的学习和实战,我发现...

陈树义
11/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

自定义 Maven 的 repositories

有时,应用中需要一些比较新的依赖,而这些依赖并没有正式发布,还是处于milestone或者是snapshot阶段,并不能从中央仓库或者镜像站上下载到。此时,就需要 自定义Maven的<repositories>。 ...

waylau
14分钟前
1
0
徒手写一个es6代码库

mkdir democd demonpm initnpm install -g babelnpm install -g babel-clinpm install --save-dev babel-preset-es2015-node5 在项目目录创建两个文件夹 functional-playground ......

lilugirl
15分钟前
1
0
linux定位应用问题的一些常用命令,特别针对内存和线程分析的dump命令

1.jps找出进程号,找到对应的进程号后面才好继续操作 2.linux查看进程详细信息 ps -ef | grep 进程ID 3. dump内存信息 Jmap -dump:format=b,file=YYMMddhhmm.dump pid 4.top查看cpu占用信息 ...

noob_chr
15分钟前
1
0
Android TV开发-按键焦点

写在前面 按键焦点过程了解 2.1 dispatchKeyEvent 过程了解 2.2 焦点查找请求过程了解 1.2.1 第一次获取焦点 1.2.3 按键焦点 焦点控制 焦点记忆 应用场景 参考资料 [TOC] 1. 写在前面 工...

冰雪情缘l
15分钟前
1
0
java框架学习日志-3

这章主要是补充一些ioc创建对象的方式,ioc容器在写好<bean></bean>的时候就已经创建对象了。在之前的例子中,一直都是无参的构造方法。下面给出有参的构造方法的对象的创建,没有什么难点重...

白话
17分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部