摘要:
public interface Compute { int sum(int i,int j); } public class MyMath { /** * 计算的一个方法 * @param compute 接口对象 * @param i 需要来进行求和的变量 * @param j 需要来进行求和的 阅读全文
摘要:
对于封装和空指针的一些感悟 在Java语言中,值分为两种,基本类型和引用类型,基本类型就是直接赋值,引用类型就是需要在堆中来创建对象。 对于基本类型来说,是有默认值的;对于引用类型来说,也是有值的,但是默认值为null 那么问题就出现在这里:如果为null,那么对于一个程序来说,是没有任何意义的,而 阅读全文
摘要:
接口在开发中的作用 一、抽象概念 抽象与具体相对,是对事物固定行为的概括化描述(只说明做什么,不说明怎么做)。 那个男人说:一千个读者眼中就会有一千个哈姆雷特。 在编程世界中亦是如此:只告诉你应该做什么(功能),但是没有告诉你怎么去做,怎么做需要你自己去思考(实现)。 强制性要求:抽象世界中,在接口 阅读全文
摘要:
switch关键字 1、switch语句的完整格式 switch(值){ case 值1: java语句; ......; java语句; break; case 值2: java语句; ......; java语句; break; case 值3: java语句; ......; java语句; 阅读全文
摘要:
join方法代码带来的问题: 显示一段有意思的代码: public class TestWaitOne { public static void main(String[] args) { Thread thread = new Thread(() -> { try { Thread.sleep(1 阅读全文
摘要:
# 线程池 [TOC] ## 1、线程 ### 1.1、线程状态 线程是CPU调度资源的最小单位,线程模型分为KLT模型与ULT模型,JVM使用的KLT模型,Java线程与OS线程保持1:1的映射关系,也就是说有一个java线程也会在操作系统里有一个对应的线程。在ThreadLocal类中有一个枚举 阅读全文
摘要:
CountDownLatch 1、概述 countdownlatch,对应的中文意思是倒数计时栅栏。对应着java中的线程,就是多个线程会同时来到栅栏,等待栅栏打开。 这个更适用于我们平常测试多线程条件下,模拟搞并发场景,多个请求同时发起请求来进行模拟业务逻辑是否还能够执行成功。 底层基于 Abst 阅读全文
摘要:
Semaphore 1、Semaphore概念 Semaphore,俗称信号量,它是操作系统中PV操作的原语在java的实现,它也是基于AbstractQueuedSynchronizer实现的。 Semaphore的功能非常强大,大小为1的信号量就类似于互斥锁,通过同时只能有一个线程获取信号量实现 阅读全文
摘要:
Lock锁的公平性和非公平性 1、lock锁项目使用 在项目中的使用方式: public class AQSTestOne { // 使用公平锁来进行测试 private static final Lock LOCK = new ReentrantLock(true); public static 阅读全文
摘要:
# 线程中断 [TOC] ## 1、线程概述 ### 1.1、线程中断的粗暴和柔性 在以前的JDK版本中,如果不想要线程继续运行,那么需要中断线程的话,那么可以直接将线程stop掉; 但是这样子在线程中工作的程序可能会收到一定的影响,比如说在批量提交数据阶段,其中的一个线程直接被中断掉,那么将会导致 阅读全文