Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。


30
无法将Project Facet动态Web模块的版本更改为3.0?
我正在使用Maven在Eclipse中创建动态Web应用程序。我添加了一些文件夹,例如src/test/java和src/test/resources。我还更改了Java Build Path中的库以获得JavaSE-1.7。到这里都可以。 当我尝试更改Projects Facet动态Web模块时,出现了问题。我在同一位置将Java更改为1.7。而且它仍然告诉我,无法将Project Facet动态Web模块的版本更改为3.0。 我已经改变了所有会影响我认为的改变的事物。
329 java  eclipse  maven 



14
Java SE / EE / ME之间的区别?
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 当我想开始学习Java时应该安装哪一个?我将从一些基础知识开始,因此我将编写一些简单的程序来创建文件,目录,编辑XML文件等,目前还没有什么太复杂的。 我猜Java SE(标准版)是我应该在Windows 7桌面上安装的版本。我已经有Komodo IDE,可以用来编写Java代码。
326 java  jakarta-ee  java-me 

12
为什么调用System.gc()是一种不好的做法?
在回答了有关如何使用强制释放Java中的对象(那个家伙正在清除1.5GB的HashMap)的问题后System.gc(),我被告知System.gc()手动调用是不好的做法,但是注释并不完全令人信服。此外,似乎没有人敢于赞成,也没有反对我的回答。 有人告诉我这是一种不好的做法,但是后来我又被告知,垃圾收集器的运行不再系统地停止世界,而且它也可以有效地被JVM用作提示,所以我有点不知所措。 我确实了解到,JVM在需要回收内存时通常比您了解更多。我也了解担心数千字节的数据是愚蠢的。我还了解到,即使是数百万字节的数据也已不是几年前的样子。但还是1.5 GB?而且您知道内存中大约有1.5 GB的数据悬空。这不像是在黑暗中拍摄。是System.gc()系统上的问题,还是在某种程度上可以解决? 因此,问题实际上是双重的: 为什么打电话是不好的做法System.gc()?它真的只是在某些实现下对JVM的提示,还是总是一个完整的收集周期?真的有垃圾收集器实现可以在不停止工作的情况下完成其工作吗?请阐明人们在对我的答复的评论中所作的各种断言。 门槛在哪里?它是从来没有一个好主意,通话System.gc(),还是有时间当它是可以接受的?如果是这样,那几点?


6
仅在序列化过程中使用@JsonIgnore,而不是反序列化
我有一个发送到服务器或从服务器发送的用户对象。发送用户对象时,我不想将哈希密码发送给客户端。因此,我添加@JsonIgnore了password属性,但是这也阻止了将其反序列化为密码,这使得在没有密码的情况下很难注册用户。 我怎样才能只@JsonIgnore适用于序列化而不适用于反序列化?我使用的是Spring JSONView,因此对的控制并不多ObjectMapper。 我尝试过的事情: 添加@JsonIgnore到属性 @JsonIgnore仅添加getter方法


14
为防止内存泄漏,已强制注销JDBC驱动程序
运行Web应用程序时,我收到此消息。它运行正常,但是我在关机期间收到此消息。 严重:Web应用程序注册了JBDC驱动程序[oracle.jdbc.driver.OracleDriver],但在Web应用程序停止时未能注销它。为了防止内存泄漏,已强制注销JDBC驱动程序。 任何帮助表示赞赏。
325 java  tomcat  jdbc 

9
为什么使用Gradle代替Ant或Maven?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 另一个针对Java的构建工具到底能给我带来什么? 如果您在其他工具上使用Gradle,为什么?


11
Java接口命名[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 大多数OO语言的接口名称都以大写的I开头,为什么Java不这样做呢?不遵守该公约的理由是什么? 为了说明我的意思,如果我想拥有一个用户界面和一个用户实现,那么在Java中我有两种选择: 类=用户,接口= UserInterface 类= UserImpl,接口=用户 在大多数语言中: 类=用户,接口= IUser 现在,您可能会争辩说,您总是可以为用户实现选择一个最具描述性的名称,问题就消失了,但是Java将POJO方法推向了事物,并且大多数IOC容器广泛使用DynamicProxies。这两件事在一起意味着您将通过单个POJO实现拥有许多接口。 因此,我想我的问题可以归结为:“是否值得遵循更广泛的接口命名约定,尤其是考虑到Java框架的发展方向?”


1
什么时候使用(匿名)内部类泄漏安全?
我一直在阅读有关Android内存泄漏的文章,并观看了来自Google I / O的有关该主题的有趣视频。 不过,我还是不完全理解这个概念,尤其是当Activity中的用户内部类是安全或危险的时候。 这是我的理解: 如果内部类的实例生存时间长于外部类(活动),则将发生内存泄漏。-> 在什么情况下会发生这种情况? 在此示例中,我假设不存在泄漏的风险,因为匿名类扩展OnClickListener不会比活动寿命更长,对吗? final Dialog dialog = new Dialog(this); dialog.setContentView(R.layout.dialog_generic); Button okButton = (Button) dialog.findViewById(R.id.dialog_button_ok); TextView titleTv = (TextView) dialog.findViewById(R.id.dialog_generic_title); // *** Handle button click okButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { dialog.dismiss(); } }); titleTv.setText("dialog title"); dialog.show(); 现在,这个例子很危险吗?为什么? // We are still …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.