摘要: 都说金三银四是找工作的最佳时节,由于本人的个人职业规划跟目前工作内容不太相符(具体原因就不透露了,领导平时也要来这里逛,哈哈),四月份挑选了10多家公司投递简历(公司规模从几十人到上万人都有),参加了7家公司的电话面试,收获了5个offer,也还算不错。下面就分享一下面试过程中一些基础的,又最常见的 阅读全文
posted @ 2020-04-24 11:10 白我少年头 阅读(2303) 评论(7) 推荐(10) 编辑
摘要: 本次内容主要线程的安全性、死锁相关知识点。 1、什么是线程安全性 1.1 线程安全定义 前面使用8个篇幅讲到了Java并发编程的知识,那么我们有没有想过什么是线程的安全性?在《Java并发编程实战》中定义如下:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在调 阅读全文
posted @ 2020-04-03 09:25 白我少年头 阅读(735) 评论(0) 推荐(0) 编辑
摘要: 本次内容主要介绍线程池的优点、线程池各个参数的解析、线程池的工作原理、线程池的扩展、线程池的合理配置以及JDK预定义5种线程池等内容。 1、为什么要用线程池? Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个 阅读全文
posted @ 2020-03-27 09:32 白我少年头 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 本次内容主要介绍AQS、AQS的设计及使用、ReentrantLock、ReentrantReadWriteLock以及手写一个可重入独占锁 1、什么是AQS? AQS,队列同步器AbstractQueuedSynchronizer的简写,JDK1.5引入的,是用来构建锁或者其他同步组件的基础框架, 阅读全文
posted @ 2020-03-23 08:55 白我少年头 阅读(891) 评论(1) 推荐(1) 编辑
摘要: 本次内容主要讲原子操作的概念、原子操作的实现方式、CAS的使用、原理、3大问题及其解决方案,最后还讲到了JDK中经常使用到的原子操作类。 1、什么是原子操作? 所谓原子操作是指不会被线程调度机制打断的操作,这种操作一旦开始,就一直运行到结束,中间不会有任何线程上下文切换。原子操作可以是一个步骤,也可 阅读全文
posted @ 2020-03-16 16:50 白我少年头 阅读(1384) 评论(0) 推荐(0) 编辑
摘要: 本次内容主要讲Fork-Join、CountDownLatch、CyclicBarrier以及Callable、Future和FutureTask,最后再手写一个自己的FutureTask,绝对干货满满! 1、Fork-Join 1.1 什么是Fork-Join Java多线程的开发可以我们自己启用 阅读全文
posted @ 2020-03-11 08:54 白我少年头 阅读(1707) 评论(2) 推荐(2) 编辑
摘要: 本次内容主要讲等待/通知机制以及用等待/通知机制手写一个数据库连接池。 1、为什么线程之间需要协作 线程之间相互配合,完成某项工作,比如:一个线程修改了一个对象的值,而另一个线程感知到了变化,然后进行相应的操作,整个过程开始于一个线程,而最终执行又是另一个线程。前者是生产者,后者就是消费者,这种模式 阅读全文
posted @ 2020-03-10 08:52 白我少年头 阅读(604) 评论(1) 推荐(1) 编辑
摘要: 本次内容主要讲synchronized、volatile和ThreadLocal。 1、synchronized内置锁 线程开始运行,拥有自己的栈空间,就如同一个脚本一样,按照既定的代码一步一步地执行,直到终止。但是,每个运行中的线程,如果仅仅是孤立地运行,那么价值会很少,如果多个线程能够相互配合完 阅读全文
posted @ 2020-03-09 14:29 白我少年头 阅读(951) 评论(2) 推荐(0) 编辑
摘要: 本次内容主要讲认识Java中的多线程、线程的启动与中止、yield()和join、线程优先级和守护线程。 1、Java程序天生就是多线程的 一个Java程序从main()方法开始执行,然后按照既定的代码逻辑执行,看似没有其他线程参与,但实际上Java程序天生就是多线程程序,因为执行main()方法的 阅读全文
posted @ 2020-03-08 00:37 白我少年头 阅读(747) 评论(0) 推荐(0) 编辑
摘要: 本次内容主要讲进程和线程、CPU核心数和线程数、CPU时间片轮转机制、上下文切换,并行和并发的基本概念以及并发编程的好处和注意事项,为java并发编程打下扎实基础。 1、什么是进程和线程 1.1 进程是程序运行资源分配的最小单位 进程是操作系统进行资源分配的最小单位,其中资源包括:CPU、内存空间、 阅读全文
posted @ 2020-03-07 19:46 白我少年头 阅读(421) 评论(0) 推荐(0) 编辑