java-类型判断

java-类型判断instanceofinstanceof是java的一个运算符,用来判断一个对象是否为一个类的实例obj instanceof Class //当obj为Class实例、子类实例时或接口实现类时返回trueobj:一个对象实例,必须为引用类型,不能是基本类型Class:一个类或者接     阅读全文
丁起男's avatar
丁起男 03月 01,2022

乐观锁与悲观锁

乐观锁与悲观锁何为乐观锁和悲观锁乐观锁对应于生活中乐观的人,总是想着事情往好的方向发展;悲观锁对应于生活中悲观的人,总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另一种人悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别     阅读全文
丁起男's avatar
丁起男 01月 26,2021

java-SPI

java-SPI什么是spi?spi全称service provider interface,是java提供的一套用来被第三方实现和扩展的接口,是一种将服务接口与服务分离以达到解耦、大大提升了程序可扩展性的机制。引入服务提供者就是引入了spi接口的实现者,通过本地的注册发现获取到具体的实现类,轻松可     阅读全文
丁起男's avatar
丁起男 01月 26,2021

java-switch常见问题

java-switch常见问题java switch支持byte、short、int类型,在jdk1.5时,支持了枚举类型,在jdk1.7时,又支持了string类型为什么不支持long?switch底层是使用int类型来进行判断的,即使是枚举、string类型,最终也是转变成int类型。由于lon     阅读全文
丁起男's avatar
丁起男 01月 22,2021

java多线程基础

java多线程基础生命周期新建状态(NEW)当程序使用new关键字创建了一个线程之后,该线程就处于新建状态,此时仅由jvm为其分配内存,并初始化其成员变量的值就绪状态(RUNNABLE)当线程对象调用了start()方法之后,该线程处于就绪状态。java虚拟机会为其创建方法调用栈和程序计数器,等待调     阅读全文
丁起男's avatar
丁起男 10月 23,2020

java-juc

java-juc线程的创建继承Thread类Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法里有一个native方法,它将启动一个新线程,并执行run()方法。实现Runnable接口     阅读全文
丁起男's avatar
丁起男 09月 29,2020

java集合

java集合集合类存放于java.util包种,主要有:set(集)、list(列表)、map(映射)Listjava的List是非常常用的数据类型。List是有序的Collection。一共有三个实现类:ArrayList、Vector、LinkedListArrayList(数组)ArrayLi     阅读全文
丁起男's avatar
丁起男 09月 22,2020

java复制

java复制直接赋值赋值直接赋值,在java中,A a1 = a2,我们需要理解的是这实际上复制的是引用,也就是说a1和a2指向的是同一个对象。因此,当a1变化的时候,a2里面的成员变量也会跟着变化浅复制复制引用但不复制引用的对象创建一个新对象,然后将当前对象的非静态字段复制到该新对象,如果字段是基     阅读全文
丁起男's avatar
丁起男 09月 21,2020

java泛型

java泛型泛型提供了编译时类型安全检查机制,该机制可以让程序员在编译时检测到非法类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。比如我们要写一个排序方法,能够对整形数组,字符串数组甚至其它任何类型的数组进行排序,我们就可以使用java泛型泛型方法泛型方法在调用时可以接收不同     阅读全文
丁起男's avatar
丁起男 09月 21,2020

java内部类

java内部类java类中不仅可以定义变量和方法,还可以定义类,这样定义在类内部的类就被称为内部类。根据定义的方式不同,内部类分为静态内部类、成员内部类、局部内部类、匿名内部类静态内部类定义在类内部的静态类,就是静态内部类静态内部类可以访问外部类的所有静态变量和方法,即使是private的也可以静态     阅读全文
丁起男's avatar
丁起男 09月 21,2020