小编NIN*_*OOP的帖子

java序列化——持久化类定义

我对 java 中的序列化有了一些了解。我的基本理解是,它是一种机制,可以将对象的状态持久化并将其写入流,以便我们可以在后面的任何时间点或未创建对象的任何其他“JVM”中对其进行扩充和使用。现在假设我有一个类 A 并创建类 A 的一个实例,即对象 a ,将其序列化并将其存储在文件 "A.ser" 中。我将文件复制到其他系统并反序列化文件“A.ser”以获得对象 a 的持久状态。但在那种情况下,A 的类定义应该存在于我反序列化对象的另一个系统中!有什么办法可以保存类定义并将其传输到另一个系统,

java serialization persistent

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

JVM和私有方法

我是Java的初学者.我学到的第一件事是可执行类的main()方法应该是公共的,并且给出的理由是因为这个方法将由JVM调用,它应该在类外可见,因此应该是公共的.现在在学习系列化我发现,writeObject()readObject()一个私有方法Serializable的类可以由JVM而序列化被称为和反序列化对象!如果它们是私有方法,那么JVM如何调用它们?如果它可以为什么它不能调用main()方法?

翻阅一些java文档后,我读到了这句话"JVM可以访问对象的私有方法".因为我们使用ObjectInputStream的实例调用readObject(),所以JVM可以访问它,而main()方法是静态或类方法,并且在没有实例化类的任何对象的情况下调用应该是公共的,以便JVM可以访问!那有意义吗 ?我不知道 .

java serialization jvm private public

5
推荐指数
2
解决办法
1055
查看次数

ThreadLocal中的多个对象

我们可以在一个中设置多个对象ThreadLocal吗?

java multithreading thread-local

4
推荐指数
2
解决办法
3064
查看次数

将子类对象分配给Superclass实例类型仅用于覆盖概念?或者我们也在为其他东西执行此操作?

是否仅为覆盖将子类对象分配给超类实例类型?或者我们是否也为此做其他事情?

示例:Sub是Super和的子类型 Super s = new Sub();

请解释.

java oop

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

Java - 在其构造函数中实例化同一类的对象

为什么在其构造函数中实例化同类的对象会抛出StackOverflowError?例如 ,

public class A {
    public A () {
        A a = new A() 
    }
}
Run Code Online (Sandbox Code Playgroud)

会抛出StackOverFlowError

java stack-overflow constructor

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

在Java中加载类的不同方法有哪些

我正在学习java,并且在通过ClassNotFoundException概念的过程中,我遇到了这个术语Class.forName("xyz");.我知道这是加载课程的一种方式.我的问题是,在java中加载类的不同方法有哪些?什么时候使用哪一个?什么比其他更受欢迎?

java classloader

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

jsp:useBean范围

JSP代码是:

<jsp:useBean id="person" class="org.example.model.PersonModel" scope="session">
</jsp:useBean>
<br> Name : <jsp:getProperty property="name" name="person"/>
<br> Surname : <jsp:getProperty property="surname" name="person"/>
Run Code Online (Sandbox Code Playgroud)

虽然我在request范围内设置了java对象,而不是在sessionController Servlet 中的范围内,我将请求转发给此Servlet.<jsp:useBean>虽然标记中提到的范围是会话,但如何获取请求属性?如果它用于pageContext.findAttribute()获取属性,那么在该<jsp:useBean>标记中使用scope属性有什么用?

java jsp session-variables request usebean

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

Java - 将null作为参数传递给print()

我想知道为什么下面的代码不起作用:

System.out.print(null);    
response.getWriter().print(null);
Run Code Online (Sandbox Code Playgroud)

但是下面的工作:

String s = null;
System.out.print(s);
response.getWriter().print(s);
Run Code Online (Sandbox Code Playgroud)

传递a null与传递引用之间的区别是null什么?

编辑: 前面提到的工作不表示编译错误.

java reference outputstream

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

带有Label.setText的JavaFx2 IllegalStateException

为什么我使用这样的简单线程:

Thread t = new Thread(new Runnable() {
public void run(){
while(true){
  .....
 idLabel.setText(Date.toString);
 Thread.sleep(1000);`
}
t.start(); 
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

java.lang.IllegalStateException:不在FX应用程序线程上; currentThread = Thread-4

但如果我使用输入文本(如idInputText)而不是标签我没有错误?

java thread-safety javafx-2

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

返回枚举名称基值

我有一个枚举

public enum citys
{
       a=1,
       b=1,
       c=1,
       d=2,
       e=2,
       f=2,
};
Run Code Online (Sandbox Code Playgroud)

我希望Name以价值为基础返回.例如,在foreach return Enum.GetNames那里Value =1

 result --> a,b,c
 foreach return Enum.GetNames that Value =2
 result --> d,e,f
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

c# asp.net foreach enums

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