摘要:
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。 以下是本 阅读全文
摘要:
双亲委派机制时JVM类加载的默认使用的机制,其原理是:当一个类加载器收到类加载任务时,会先交给自己的父加载器去完成,因此最终加载任务都会传递到最顶层的BootstrapClassLoader,只有当父加载器无法完成加载任务时,才会尝试自己来加载。按照由父级到子集的顺序,类加载器主要包含以下几个: B 阅读全文
摘要:
前言 可能有人会觉得,只要我写代码的时候不去开启其他线程,那么就不会有多线程的问题了。然而事实并非如此,如果仅仅是一些简单的测试代码,确实代码都会顺序执行而不是并发执行,但是Java应用最广泛的web项目中,绝大部分(如果不是所有的话)web容器都是多线程的——以tomcat为例, 每一个进来的请求 阅读全文
摘要:
Java程序员面试过程中少不了专业上的考试,那么面试过程中面试官会问些什么问题呢?接下来黑马君带你一起来进入面试环节! Java开发实用的面试题及参考答案 1、进程,线程,协程之间的区别是什么? 简而言之,进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程。进程在执行 阅读全文
摘要:
总结: master挂了以后不能写入,可以读取。 slave挂了以后可以写入, 挂了的节点不能读取 redis哨兵都干了什么 redis哨兵是一个运行的特殊的redis进程,他主要有三个使命: 监控 选主 通知 监控的是什么 哨兵主要是监听主库和从库是否存活,怎么进行监控? 哨兵会定期的给从库发送P 阅读全文
摘要:
线程池的优势 线程池做的工作主要是控制运行的线程数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量,超出的线程排队等候,等待其他线程执行完毕,再从队列中取出任务来执行 线程池的特点 线程复用、控制最大并发数、管理线程 降低资源消耗。重复利用已创建的线程,降低创建 阅读全文