Synchronized用过吗?其原理是什么
1. 可重入性:synchronized的锁对象中有一个计数器(recursions变量)会记录线程获得几次锁;可重入的好处:- 可以避免死锁;- 可以让我们更好的封装代码;- synchronized是可重入锁,每部锁对象会有一个计数器记录线程获取几次锁,在执行完同步代码块时,计数器...详情>>
2022-11-07说说Java的命名规范
- JavaBean类必须是一个公共类,并将其访问属性设置为 public。- JavaBean 类必须有一个空的构造函数:类中必须有一个不带参数的公用构造器,此构造器也应该通过调用各个特性的设置方法来设置特性的缺省值。详情>>
2022-11-07举例说明什么情况下会更倾向于使用抽象类而不是接口?
接口和抽象类都遵循”面向接口而不是实现编码”设计原则,它可以增加代码的灵活性,可以适应不断变化的需求。下面有几个点可以帮助你回答这个问题:在 Java 中,你只能继承一个类,但可以实现多个接口。所以一旦你继承了一个类,你就失去了继承其他类的机会了。...详情>>
2022-11-07实例化创建对象有哪几种方式
1. new2. clone()3. 通过反射机制创建4. 序列化反序列化。反射示意代码:// Class.forName方法获取类,在调用类的newinstance()方法 Class cls = Class.forName("com.dao.User"); User u = (User)cls.newInstance();...详情>>
2022-11-07byte类型127+1等于多少
byte的范围是-128~127。字节长度为8位,最左边的是符号位,而127的二进制为01111111,所以执行+1操作时,01111111变为10000000。大家知道,计算机中存储负数,存的是补码的兴衰。左边位为符号位。详情>>
2022-11-07float和double的区别是什么?
40E+38 双精度浮点数的表示范围:-1.4 在程序中处理速度不同 一般来说,CPU处理单精度浮点数的速度比双精度浮点数的速度快;4是双精度浮点数,将双精度赋给单精度属于向下转型,会造成精度损失,因此需要强制类型转换float=(float)3.详情>>
2022-11-07请谈谈ReadWriteLock和StampedLock
ReadWriteLock包括两种子锁:1. ReadWriteLock ReadWriteLock 可以实现多个读锁同时进行,但是读与写和写于写互斥,只能有一个写锁线程在进行。2. StampedLock StampedLock是Jdk在1.8提供的一种读写锁,相比较ReentrantReadWriteLock性能更好详情>>
2022-11-07线程的run()和start()有什么区别?
每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,run()方法称为线程体。通过调用Thread类的start()方法来启动一个线程。start() 方法用于启动线程,run() 方法用于执行线程的运行时代码。run() 可以重复调用,而 start() 只能调用一次。 s...详情>>
2022-11-07Java中的线程池是如何实现的
创建一个阻塞队列来容纳任务,在次执行任务时创建足够多的线程,并处理任务,之后每个工作线程自动从任务队列中获取线程,直到任务队列中任务为0为止,此时线程处于等待状态,一旦有工作任务加入任务队列中,即刻唤醒工作线程进行处理,实现线程的可复用性详情>>
2022-10-24