小编Rek*_*kha的帖子

在序列化和反序列化期间如何调用构造函数?

在序列化和反序列化期间如何调用构造函数

  1. 当有一个类实现serializable时?
  2. 当有父/子关系并且只有子实现可序列化时?
  3. 当有父/子关系并且父和子都实现可序列化时?

java serialization

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

32/64位jvm上java原语的大小?

  1. 大小int为32位和long/ double或64位.这些尺寸是否保持相同
    1. 32/64位JVM
    2. 32/64位处理器
  2. 如果是,那么64位处理器/ JVM上的操作是long/ double原子的?

甲骨文的Java教程说:

读取和写入对于引用变量和大多数原始变量(除long和double之外的所有类型)都是原子的.

这个陈述与jvm/processor架构有什么关系吗?有人可以解释一下.

3.如果我使用64位jvm和处理器,最后我将能够读/写双/长原子

java 64-bit atomic

22
推荐指数
3
解决办法
2万
查看次数

说"Java Modified UTF-8 Encoding"是什么意思?

说"Java Modified UTF-8 Encoding"是什么意思?它与普通的UTF-8编码有什么不同?

java

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

JVM在内存不足错误期间的行为?List s = new ArrayList <String>();

try {
    for(;;) {
        s.add("Pradeep");
    }
} finally {
    System.out.println("In Finally");
}
Run Code Online (Sandbox Code Playgroud)

在try块中,jvm耗尽了内存,那么jvm在没有内存的情况下如何最终激活块?

输出:

In Finally
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)

java

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

为什么catch参数隐式最终?

catch (IOException|SQLException ex) {
    logger.log(ex);
    throw ex;
}
Run Code Online (Sandbox Code Playgroud)

这里为什么ex隐含最终?使用ex隐式最终有什么用?

java java-7

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

为什么第4行不生成未经检查的异常?

/*1.*/ List l = new ArrayList<Number>();
/*2.*/ List<String> ls = l;       // unchecked warning
/*3.*/ l.add(0, new Integer(42)); // another unchecked warning
/*4.*/ String s = ls.get(0);
Run Code Online (Sandbox Code Playgroud)

如果第2行和第3行产生未经检查的警告,那么为什么第4行不会生成未经检查的警告,因为编译器不知道'ls'指的是什么(List<String>List<Integer>).

(注意:从OP的原始帖子进行编辑,以使代码显示为可能的 - 特别是包括List<E>所有地方的类型参数.)

java

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

List l = new ArrayList <Number>(); l的静态类型是List <Number>?那是什么意思?

List l = new ArrayList<Number>();
Run Code Online (Sandbox Code Playgroud)

l的静态类型是List?这里的"静态类型"是什么意思?我在sun的java教程中读到了它

java

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

为什么写回两个不同Streams的单个对象在回读时代表两个不同的对象?

标题告诉我的需要,以下是我使用的代码:

测试用例

SameObjectDifferentStreams same = new SameObjectDifferentStreams(); 
ObjectOutputStream out1 = new ObjectOutputStream(new FileOutputStream("file1"));
ObjectOutputStream out2 = new ObjectOutputStream(new FileOutputStream("file2"));

out1.writeObject(same);
out1.close();

out2.writeObject(same);
out2.close();

System.out.println("The Original reference is :" + same.toString());

oin1 = new ObjectInputStream(new FileInputStream("file1"));
oin2 = new ObjectInputStream(new FileInputStream("file2"));

SameObjectDifferentStreams same1 = 
    (SameObjectDifferentStreams) oin1.readObject();
System.out.println("The First Instance is :" + same1.toString());

SameObjectDifferentStreams same2 = 
    (SameObjectDifferentStreams) oin2.readObject();
System.out.println("The Second Instance is :" + same2.toString());
Run Code Online (Sandbox Code Playgroud)

产量

The Original reference is :serialization.SameObjectDifferentStreams@9304b1
The First Instance is :serialization.SameObjectDifferentStreams@190d11
The Second Instance is :serialization.SameObjectDifferentStreams@a90653
Run Code Online (Sandbox Code Playgroud)

java serialization

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

如果我没有在Java中将不可序列化的字段标记为瞬态怎么办?

public class PersistentAnimation implements Serializable, Runnable
         {
         private Thread animator;
         private int animationSpeed;
         public PersistentAnimation(int animationSpeed)
        {
         this.animationSpeed = animationSpeed;
        animator = new Thread(this);
           }
               public void run()
          {
             while(true)
            {
               // do animation here
         }
Run Code Online (Sandbox Code Playgroud)

此处的动画师是否未标记为瞬态?它会继续存在吗?

java

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

识别fileinputstream的"读取"方法中正在读取的当前字符?

FileInputStream in = new FileInputStream("filetoreadfrom.txt");

while ((c = in.read()) != -1) {

Integer cobj = new Integer(c);
System.out.println("The Current data being read is :" + cobj.byteValue());
out.write(c);
}
Run Code Online (Sandbox Code Playgroud)

sysout给出一个表示正在读取的字节的intvalue.但我想打印正在读取的字符.有没有办法做到这一点?

java

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

标签 统计

java ×10

serialization ×2

64-bit ×1

atomic ×1

java-7 ×1