草庐IT

java - 在 clone() 中我们使用 super.clone() 然后访问一个不在 super 中的变量,这是怎么回事?

在clone方法的通常实现中有一些我不明白的地方。如果您查看以下代码中tryblock的第一行,我们正在调用super.clone(),它将创建父类(superclass)的实例,并返回对该实例的Object引用。现在,该实例不一定包含hireDay,那么我们怎么说copy.hireDay?它确实可以正常编译,但如果实例不包含hireDay,它不会崩溃吗?publicObjectclone(){try{Employeecopy=(Employee)super.clone();//copyID,name,andsalary!copy.hireDay=(Date)hireDay.clone

java - 当我们在不同的命令提示符下发出 java 命令时,会创建多少个 JVM 实例?

谁能告诉我当我们在不同的命令中发出以下命令时,将创建多少个jvm实例。-command1:c:\java-Xms32m-Xmx512m-Xss254kAccountSalary-command2:d:\java-Xms32m-Xmx512m-Xss254kAccountSalary-command3:c:\java-Xms32m-Xmx512m-Xss254kAccountSalary他们是否会使用保存jvm堆大小或为每个java进程使用不同的堆大小? 最佳答案 每次运行java命令时,都会创建一个新的JVM实例。(并且每个JVM实

java - 为什么我们需要像 Web 应用程序中的 dozer 这样的 bean 到 bean 映射器

简单来说,为什么我们需要在Web应用程序中使用“bean到bean映射服务”(如Dozer)。假设我正在处理网络服务。我收到了请求中的XML。我从XML元素中获取值。对获取的值执行所需的操作。准备响应XML。发送响应XML作为响应为什么我要多添加一个将XML元素映射到自己的自定义元素的步骤。我无法说服自己,可能是因为我想不出更好的情况/原因。请建议,如果可能的话,请举例。 最佳答案 它有助于减少表示(即XML模式)和业务逻辑之间的耦合。例如,在模式更改的情况下,您不必触及业务逻辑,只需触及对象之间的映射。在简单的情况下,额外的复杂性

java - 当我们在 Collections.synchronizedMap() 中传递哈希表时会发生什么

今天我在面试中问了一个问题。问题是Collections.synchronizedMap()是用于同步map,默认情况下它不像hashmap那样是线程安全的。他的问题是我们可以在这个方法中传递任何类型的map。那么当我们在该方法中传递哈希表时会产生什么效果,因为哈希表默认情况下是同步的。 最佳答案 map的行为将是相同的,但性能会受到影响,因为每个方法将获取两个同步锁而不是一个。例如,考虑在生成的map上调用方法size()。Collections.SynchronizedMap类中的实现如下所示:publicintsize(){s

java - 当我们使用new运算符创建一个对象时,它是否使用实际的.class文件在java中创建一个对象

我对某个主题感到困惑,无法在网上找到它。据我了解,当程序启动时,类加载器加载.class文件并将它们作为类型为Class的对象存储在内存中。我的问题是当我们使用:Testtest=newTest();新对象是使用.class文件创建的,还是使用内存中已有的Class对象创建的? 最佳答案 一旦一个类被加载到JVM中,同一个类将不会被同一个类加载器再次加载。新实例将从内存中的类对象创建(对于相同的类加载器)。高级步骤(从https://www.ibm.com/developerworks/java/tutorials/j-classl

java - 我们如何在 Java 中测试 Actors?

到目前为止,我唯一看到的是有人发布了一个测试TypedActor的示例。我认为没有办法通过Junit来测试UntypedActor?Akka文档一天比一天好,但我没有看到提到测试。它真的很明显,我只是错过了什么吗? 最佳答案 要使用JUnit进行测试,您需要使用JUnit提供的工具,有关测试Actor(Java等同于UntypedActor)的文档位于:http://akka.io/docs/akka/snapshot/scala/testing.html 关于java-我们如何在Jav

java - 我们如何为涉及与数据库连接的方法编写单元测试?

我一直有一个关于为实际与数据库通信并返回一些值的网络方法编写单元测试的查询。例如,我有一个名为“StudentInfoService”的Web服务。该网络服务提供了一个API“getStudentInfo(studentid)”这是一些示例片段publicclassStudentInfoService{publicStudentInfogetStudentInfo(longstudentId){//CommunicateswithDBandcreates//StudentInfoobjectwithnecessaryinformation//andreturnsittothecalle

java - 为什么在 Java 中将 String 解析为 Date 很慢?我们可以加速吗?

我正在读取一个包含日期的文本文件,我想将表示日期的字符串解析为java中的Date对象。我注意到操作很慢。为什么?有什么办法可以加速吗?我的文件看起来像:2012-05-0212:08:06:950,secondColumn,thirdColumn2012-05-0212:08:07:530,secondColumn,thirdColumn2012-05-0212:08:08:610,secondColumn,thirdColumn我逐行读取文件,然后从每一行中获取日期String,然后使用将其解析为Date对象>SimpleDateFormat如下:DataInputStreamin

java - 我们如何在 java 中使用反射将 transient 添加到现有类?

有什么方法可以使用java反射API使字段成为静态或transient的。编辑:我有一些Bean已经使用soapapi序列化并被一些客户使用,对于一些客户我不想公开一两个字段。当然有很多方法可以在不更改或添加transient关键字的情况下做到这一点。只是想知道是否可以做到,如果可以,怎么做?编辑:我不会将其称为API或框架问题,更像是设计缺陷...我将apacheaxis2用于soap 最佳答案 没有。这样的事情需要修改类的字节码。static字段的一个特别困难是使用与对象字段不同的字节码访问它们。我不明白为什么不能在运行时将字段

java - 如果我们在java中只声明一个变量而没有初始化,内存中会发生什么?

如果我们只是创建一个引用变量或为原始数据类型或引用数据类型声明一个变量而不用任何值初始化,如下所示,内存中会发生什么?intx;Employeeemp;那么在这两种情况下内存中到底发生了什么?在此阶段是否分配了任何内存,或者它是否指向任何随机位置或指向空值或指向垃圾值?与第二种情况一样,如果我们使用带有new运算符的构造函数或使用任何其他方式创建对象,则只会在内存中创建空间。Employeeemp=newEmployee(); 最佳答案 Java虚拟机(JVM)从操作系统分配堆内存,然后为Java应用程序管理自己的堆。当应用程序创建