有没有像Python的交互式REPL模式,但对于Java? 所以,我可以,例如,在窗口中键入InetAddress.getAllByName( localHostName ) ,并立即获得结果,没有所有这个公共静态void nightmare()的东西?
我刚开始使用Maven,并被告知要在特定的目录下进行mvn install 。 mvn install到底是做什么的? 我认为它在当前文件夹中查找pom.xml ,并开始按照该文件中指定的说明进行操作。 那是对的吗?
在searchJava语言规范来回答这个问题时 ,我了解到了这一点 在一个类被初始化之前,它的直接超类必须被初始化, 但是这个类实现的接口没有被初始化。 类似地,接口的超级接口在初始化之前不会被初始化。 为了我自己的好奇心,我尝试了它,并且如预期的那样, InterfaceType没有被初始化。 public class Example { public static void main(String[] args) throws Exception { InterfaceType foo = new InterfaceTypeImpl(); foo.method(); } } class InterfaceTypeImpl implements InterfaceType { @Override public void method() { System.out.println("implemented method"); } } class ClassInitializer { static { System.out.println("static initializer"); } } interface InterfaceType { public static […]
我对Spring Data-JPA和JPA之间的区别有些困惑。 我知道关于JPA,它是使用stream行的ORM技术将Java对象持久化到关系数据库的规范。也就是说,JPA提供了接口和其他ORM技术,实现了被称为JPA提供者的接口,例如Hibernate。 现在到底什么是Spring Data JPA。 Spring Data JPA是否通过JPA添加了一些更多的function(接口),并且仍然只是指定的,或者它也是JPA提供者? 我看到Spring Data JPA在存储库(DAO层:如果我没有错的话)工作。 所以我的意思是使用“Spring Data JPA + Hibernate”或仅使用“Hibernate”指导是如何不同?
我们正计划用Spring 4.0.6版本做一个新的应用程序。 我们使用可以返回“XML”或“JSON”的控制器。 在之前的项目中,我们已经成功地使用JAX-RS API实现了Jersey与Spring的REST支持,但是在阅读了一些老年人的文章和build议之后,他们说Spring提供了相当不错的REST支持。 如果我在不使用JAX-RS和Jersey的情况下使用Spring REST支持,那么真的让我困惑的一些观点是: Spring MVC如何编组和解组? 是否需要封送或解组需要使用jax-rs。 如果封送处理和解组处理是由spring自动处理的,那么它是如何知道xmlRootElements的。 如果Springcertificate了REST的很好的支持,那么我仍然感到困惑,那么为什么人们仍然会使用Jersey来进行REST? 真的想知道更多的细节。 如果我说错了,请忽略它。 用例子解释真的很有帮助。 提前致谢!!
我的团队正在研究dependency injection框架,并试图在使用Google-Guice和PicoContainer之间做出决定。 我们正在寻找我们的框架中的几件事情: 一个小的代码足迹 – 我的意思是一个小的代码足迹是我们不希望在我们的代码库中随处存在dependency injection代码。 如果我们需要重构道路,我们希望它尽可能简单。 性能 – 创build和注入对象时每个框架有多less开销? 易用性 – 是否有很大的学习曲线? 我们必须编写一些代码来获得简单的工作吗? 我们希望有尽可能less的configuration。 社区规模 – 较大的社区通常意味着项目将继续保持。 我们不想使用一个框架,并且必须修复我们自己的错误;)我们的任何问题都可以(希望)由框架的开发者/用户社区来回答。 这两个框架与所列标准的比较将不胜感激。 任何有助于比较两者的个人经验也是非常有帮助的。 免责声明:如果我提出一个与本次讨论无关的问题,我相当注意dependency injection,所以请原谅我的小心。
Java有没有什么能代表每种数值数据types的无穷大? 它是如何实现的,我可以用它做math运算? 例如 int myInf = infinity; //However it is done myInf + 5; //returns infinity myInf*(-1); //returns negative infinity 我已经尝试使用非常大的数字,但我想要一个适当的, 简单的解决scheme。
Apache Commons IO有一个不错的方便方法IOUtils.toString()来读取一个InputStream为一个String。 由于我正试图从Apache Commons转移到Guava :在Guava中是否有相当于? 我查看了com.google.common.io包中的所有类,找不到任何简单的东西。 编辑:我理解和欣赏与charsets的问题。 只是碰巧我知道我所有的源都是ASCII(是的,ASCII,不是ANSI等),所以在这种情况下,编码对我来说不是问题。
我有一些大的(超过3个领域)对象,可以而且应该是不可变的。 每当我遇到这种情况下,我倾向于用长参数列表创build构造函数可憎。 它感觉不对,难以使用和可读性受损。 如果这些字段是某种types的收集types,比如列表,则更为糟糕。 一个简单的addSibling(S s)将会很容易地减less对象的创build,但会使对象addSibling(S s)可变的。 你们在这种情况下使用什么? 我在Scala和Java,但我认为这个问题是语言不可知的,只要语言是面向对象的。 我能想到的解决scheme: “长参数列表的构造函数可憎” build造者模式 感谢您的input!
可能重复: 如何迭代Map中的每个条目? 我想遍历一个TreeMap ,并为所有具有特定值的键,我想他们被添加到一个新的TreeMap 。 我怎样才能做到这一点?