我知道什么是序列化以及为什么使用它,但我的问题是:
writeObject,readObject因为当我们进行序列化时,我们最终会覆盖这两种方法?如何readResolve确保在反序列化期间创建的对象不是新对象.我知道下面的内容,它在反序列化过程中返回相同的对象,但是谁会在readResolve内部调用此方法?
private Object readResolve() throws java.io.ObjectStreamException {
return INSTANCE;
}
Run Code Online (Sandbox Code Playgroud)我知道FileNotFound是Checked Exception但是尽管如此,只有在运行时才会发生这种异常.它更像是算术异常(未经检查).
无论是选中还是未选中,异常都只会在运行时发生.
我的问题是为什么我们将FileNotFound/IO/DB相关的东西称为Checked Exception?
请分享你宝贵的想法:)
最近,我接受了一次采访,以在DS中保存大量的员工详细信息。
我以emp Id为键将解决方案作为Hashmap给出。
后续问题是用户是否要基于名称搜索如何实现它。我建议使用emp名称作为键,并使用Arraylist保存所有具有相同名称的员工。
下一个后续问题很棘手,需要创建一个ONE映射,以便用户可以根据emp ID或emp名称进行搜索。如何在地图中实现?
以内存有效的方式实现它。
请帮我理解下面的代码,
情况1:
finally{
return;
System.exit(1);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码抛出编译时错误:
无法访问的代码
案例2:
finally{
System.exit(1);
return;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码不会抛出任何编译/运行时错误,但是当我运行程序时只退出.
我的问题在于为什么设计人员想在案例1中抛出编译时错误,而在案例2中他们没有.实际上,当您调用System.exit(0)时,程序将终止,这意味着它下面的代码无法访问.
最近我遇到了这个错误,
无法处理复合密钥的杰克逊中的托管/后备引用“ defaultreference”
我在Google上搜索了很多,但发现可以使用以下选项,
JsonManagedReference和JsonBackReference
但是我的情况是
Class Parent{
private int id;
@JsonManagedReference
Set<Child> childSet;
}
Class Child{
private ChildId childId;
private String name;
}
Class ChildId{
private int childKey;
@JsonBackReference
private Parent parent;
}
Run Code Online (Sandbox Code Playgroud)
如您所见,在子类中,它具有复合键。我不能更改它,因为它与数据库有关系。
有人可以帮我解决这个问题吗?
注意:我使用杰克逊2.4.3我使用Javers 1.2.9进行对象比较
更新1:
根据建议,我删除了JsonManaged和JsonBack参考注释,并将JsonIgnore添加到childId类的Parent属性中。但是我发现Javers出错了,
JaVers运行时错误-不支持Set of ValueObjects的差异
我想安排一个任务在每个月的最后一天上午10:10运行.cron表达式是0 10 10 L * ?
现在的问题是CronSequenceGenerator抛出NumberFormatException"L"值.这意味着Spring CronSequenceGenerator不支持这种表达方式.但是,如果我只通过传递数字,它工作正常.
这是完整的堆栈跟踪:
Exception in thread "main" java.lang.NumberFormatException: For input string: "L"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.valueOf(Integer.java:582)
at org.springframework.scheduling.support.CronSequenceGenerator.getRange(CronSequenceGenerator.java:324)
at org.springframework.scheduling.support.CronSequenceGenerator.setNumberHits(CronSequenceGenerator.java:297)
at org.springframework.scheduling.support.CronSequenceGenerator.setDays(CronSequenceGenerator.java:275)
at org.springframework.scheduling.support.CronSequenceGenerator.setDaysOfMonth(CronSequenceGenerator.java:266)
at org.springframework.scheduling.support.CronSequenceGenerator.parse(CronSequenceGenerator.java:239)
at org.springframework.scheduling.support.CronSequenceGenerator.<init>(CronSequenceGenerator.java:81)
at org.springframework.scheduling.support.CronTrigger.<init>(CronTrigger.java:54)
at org.springframework.scheduling.support.CronTrigger.<init>(CronTrigger.java:44)
at com.hcdc.coedp.datantar.scheduler.SchedulerUtil.start(SchedulerUtil.java:75)
at com.hcdc.coedp.datantar.scheduler.SchedulerUtil.changeTrigger(SchedulerUtil.java:106)
at com.hcdc.coedp.datantar.scheduler.SchedulingService.scheduleTransfer(SchedulingService.java:70)
at com.hcdc.coedp.datantar.scheduler.Scheduler.schedule(Scheduler.java:107)
at main.Main.main(Main.java:47)
Run Code Online (Sandbox Code Playgroud) 我知道Tomcat是一个Web服务器,但为什么它不是一个应用程序服务器?
任何服务器都需要遵循一些规范。那个规格是什么?
apache可以做tomcat应用服务器吗?
我还在博客中读到,tomcat 没有一些库来充当应用程序服务器。那些库是什么?
谢谢