小编Raj*_*Raj的帖子

为什么LinkedList和arraylist在java中扩展AbstractList?

为什么LinkedListArrayList扩展AbstractList的Java

当我们想要在实现类中指定公共行为时,使用抽象类.

但是所有的方法AbstractList都被ArrayList和被覆盖了LinkedList.

那么扩展这个类有什么用呢?

java collections linked-list list arraylist

12
推荐指数
2
解决办法
9826
查看次数

扩展线程优先于实现Runnable的场景?

作为初学者,我正在阅读有关在Java中实现多线程的两种方法.

我在SO和许多其他线程上阅读了这个帖子.

据说这是

"prefer runnable",仅在您专门处理Thread的行为时才扩展线程.

有人可以通过为我提供一小段片段来帮助我理解这一行,从而解释我对Thread行为的专业意义.

java multithreading runnable

10
推荐指数
1
解决办法
1734
查看次数

为什么字段在不可变类中应该是最终的?

定义不可变类的策略说明了这一点

所有领域都应该是最终的.

例如:

private String name;
Run Code Online (Sandbox Code Playgroud)

为什么它必须是最终的?

既然我没有给它制定setter方法呢?它无法改变.谢谢.

java final immutability

8
推荐指数
1
解决办法
3471
查看次数

Externalizable 与 Serializable 有何不同?

我读到了

Externalizable 为我们提供了 writeExternal() 和 readExternal() 方法,这使我们可以灵活地控制 Java 序列化机制,而不是依赖于 Java 的默认序列化。

但是,如果我实现了 Serializable 并覆盖,readObject(), writeObject(), 那么它是否也意味着我正在自定义序列化过程?

它有什么不同?

谢谢。

java serialization deserialization externalizable

5
推荐指数
1
解决办法
5228
查看次数

为什么有必要覆盖Hashmap的hashcode和equals方法?

我创建了一个HashMap,其中Student包含key和String作为值.

现在到处都读过如果用作hashmap的关键字,有必要覆盖equalshashcode方法.

但我没有覆盖它.并在hashmap中插入多个键值对.我也能把它取回来.

那为什么有必要呢?

java collections hashmap hashcode

5
推荐指数
1
解决办法
1万
查看次数

为什么String类不可克隆?

为什么String类没有实现Cloneable接口?

例如:(我们有时会写这种类型的代码.)

String s1 = new String("Hello");

String s2 = new String("Hello");
Run Code Online (Sandbox Code Playgroud)

这里s1!= s2;

所以,如果我们做到了,那就不要这样做了:

String s1 = new String("Hello");

String s2 = s1.clone();
Run Code Online (Sandbox Code Playgroud)

这可能很容易.

java string clone

5
推荐指数
1
解决办法
1556
查看次数

是否可以使用我的自定义序列化或使用外化来序列化类的瞬态字段?

是否可以使用我的自定义序列化或使用外化来序列化类的瞬态字段?

示例:有一个Person名称字段瞬态的类

transient String name;
Run Code Online (Sandbox Code Playgroud)

是否可以使用以下方法序列化它?

private void writeObject(ObjectOutputStream out) throws IOException;
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException;
Run Code Online (Sandbox Code Playgroud)

java serialization transient deserialization

3
推荐指数
1
解决办法
431
查看次数

同步块内的产量?调用yield()后锁定释放?

我正在创建一个多线程并yield()在其中调用.

java.lang.Thread.yield()方法使当前正在执行的线程对象暂时暂停并允许其他线程执行.

其他线程是否可以执行哪些也想进入同步块?

synchronized(this.lock)
{
 //calling yield here.

}
Run Code Online (Sandbox Code Playgroud)

谢谢.

java multithreading synchronization

3
推荐指数
1
解决办法
1863
查看次数

使用执行器框架还是普通线程?

最近我得到了一个面试问题:

有一种情况,一个线程在一小时的间隔内执行批处理操作,你会使用执行框架或普通线程,为什么?

我很迷惑 .

由于只有一个线程,因此不需要执行程序服务.我可以使用whilesleep.

while(1)
{
// do task
// t1.sleep(60*60*1000);
}
Run Code Online (Sandbox Code Playgroud)

虽然有一个ScheduleExecutorService,它提供了许多方法来进行调度?

什么是最好的方法?

java multithreading executors scheduledexecutorservice

1
推荐指数
1
解决办法
620
查看次数

为什么输出int?

为什么主方法不调用第一种方法?

public class Test {           

    public static void printValue(byte...b) {  
        System.out.println("long");  
    }  

    public static void printValue(int i, int j, int k) {  
         System.out.println("int");  
    }

    public static void main(String... args) {  
        byte b = 9;  
        printValue(b,b,b);  
    }  
}  
Run Code Online (Sandbox Code Playgroud)

为什么输出int

java overloading variadic-functions

1
推荐指数
1
解决办法
84
查看次数