简介 异常是我们日常开发中一定会遇到的问题,如果我们不了解异常的使用及处理方法,那么我们会恐惧遇到异常机制。但是如果我们对异常的机制有了一定的了解,我们可以通过异常方便的发现...
简介 异常是我们日常开发中一定会遇到的问题,如果我们不了解异常的使用及处理方法,那么我们会恐惧遇到异常机制。但是如果我们对异常的机制有了一定的了解,我们可以通过异常方便的发现...
概述 CAP理论告诉我们由于分布式系统总是存在通信异常,网络分区,节点故障等问题,无法同时保证一致性,可用性,分区容错性。而分区容错性是分布式系统必备的特性,因为分布式系统一...
概述 在之前的一篇博客里谈谈ThreadPoolExecutor的实现已经对ThreadPoolExecutor中的线程如何运行进行了简单的介绍,本文将介绍线程池是如何进行结...
概述 线程作为系统稀缺资源,如果在应用中进行频繁的创建和销毁,会为我们的应用带来灾难性的体验,增大系统负荷,降低效率。池化技术为该问题的解决提供了一种有效的思路...
概述 java nio可以被称为java new io,因为其提供了一种有别于传统java io的io工作方式。同时,由于java nio是同步非阻塞的,其也...
概述 最近看ThreadLocal的实现原理的过程中了解到ThreadLocalMap是定义在ThreadLocal中的静态内部类,默默的问了问自己为什么要定义为静态内部类?...
简介 String是我们最常用的一个类,和普通java类一样其对象会存在java堆中。但是String类有其特殊之处,可以通过new方法生成,也可以通过带引号...
概述 在解决多线程共享变量是,我们常常使用synchronzed或者锁限制共享变量同一时刻只能有一个线程修改,这是通过互斥解决的变量的安全性,而ThreadL...
概述 在使用java多线程解决问题的时候,为了提高效率,我们常常会异步处理一些计算任务并在最后异步的获取计算结果,这个过程的实现离不开Future接口及其实现...
概述 在多线程访问共享变量时,java通过volatile关键字保证变量的可见性,相比于synchronized关键字,volatile并不会引起线程上下文的...
概述 二叉搜索树是优化搜索效率最常用的数据结构,时间复杂度为O(h),其中h是树的高度。可以看出,树的高度是影响搜索效率的关键因素。在树退化为一个链表(节点都在左或都在右),...