Questions tagged «java»

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

9
Java抽象接口
考虑一个示例(在Java中编译) public abstract interface Interface { public void interfacing(); public abstract boolean interfacing(boolean really); } 为什么必须将接口“声明”为抽象的?还有其他适用于抽象接口的规则吗? 最后:如果abstract过时,为什么将它包含在Java中?有抽象接口的历史吗?
197 java  interface  abstract 

14
从Java中的类路径加载资源的URL
在Java中,您可以使用相同的API,但使用不同的URL协议来加载各种资源: file:///tmp.txt http://127.0.0.1:8080/a.properties jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class 这很好地将资源的实际加载与需要资源的应用程序分离开来,并且由于URL只是一个字符串,因此资源加载也很容易配置。 是否有使用当前类加载器加载资源的协议?这类似于Jar协议,除了我不需要知道资源来自哪个jar文件或类文件夹。 我Class.getResourceAsStream("a.xml")当然可以使用来做到这一点,但这需要我使用不同的API,因此需要对现有代码进行更改。我希望能够在仅通过更新属性文件就可以为资源指定URL的所有地方使用它。
197 java  url  classloader 

4
Java 8流和对数组的操作
我刚刚发现了新的Java 8流功能。来自Python,我想知道现在是否有一种巧妙的方法可以对数组进行操作,例如求和,以“单行pythonic”的方式将两个数组相乘? 谢谢


11
Windows OS的OpenJDK可用性[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 10个月前关闭。 改善这个问题 Windows OS是否有可用的OpenJDK版本?从OpenJDK主页(http://openjdk.java.net/),它将重定向到Windows计算机的Oracle Sun JRE。 Windows是否有可用的OpenJDK?如果是,从哪里获得?如果没有,我们必须自我构建它(见http://blogs.oracle.com/poonam/entry/building_openjdk_on_windows)
197 java  windows  openjdk 

16
如何在Mac OS X上安装特定的JDK?
我想安装一个特定的JDK(例如最新的)。为此,我转到了JDK下载主页:http : //java.sun.com/javase/downloads/index.jsp。我寻找的是Mac版本,但只看到Linux,Windows和Solaris的可下载版本,我感到有些惊讶... 这是Mac的讯息: “ Apple Computer提供了自己的Java版本。使用Software Update功能(在Apple菜单上可用)来检查您的Mac是否具有最新的Java版本。” 好的但是 ...当我用Mac更新Java时,我有一个JRE而不是一个JDK ... 我不明白为什么不存在Mac易于下载/安装的JDK版本(例如要解压缩的jar?)。
197 java  macos  install 

11
无论监视器分辨率如何,如何设置JFrame居中显示?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 7个月前关闭。 改善这个问题 使用Java时,我发现启动应用程序时很难将主窗口放置在屏幕中央。 有什么办法可以做到吗?它不必垂直居中,水平对齐对我来说是更重要的目标。但是也欢迎垂直对齐。
197 java  swing  jframe  position 

11
泛型类中的静态方法?
在Java中,我希望具有以下内容: class Clazz<T> { static void doIt(T object) { // ... } } 但是我明白了 无法静态引用非静态类型T 我不了解泛型的基本用途,因此没有太多意义。我无法在互联网上找到有关该主题的很多信息,这无济于事。 有人可以通过类似的方式澄清这种使用是否可能吗?另外,为什么我最初的尝试失败了?

8
大小受限制的队列,其中包含Java中的最后N个元素
关于Java库的一个非常简单和快速的问题:是否有一个现成的类,该类Queue以固定的最大大小实现-即,它始终允许添加元素,但是它将静默删除head元素以容纳新添加元素的空间。 当然,手动实现它很简单: import java.util.LinkedList; public class LimitedQueue<E> extends LinkedList<E> { private int limit; public LimitedQueue(int limit) { this.limit = limit; } @Override public boolean add(E o) { super.add(o); while (size() > limit) { super.remove(); } return true; } } 据我所知,Java stdlibs中没有标准实现,但是Apache Commons中可能有这种实现?
197 collections  queue  java 

8
在Spring Boot的application.properties中使用env变量
我们正在开发一个Spring Boot Web应用程序,并且正在使用的数据库是MySql; 我们拥有的设置是我们首先在本地对其进行测试(意味着我们需要在PC上安装MySql); 然后我们推向Bitbucket ; Jenkins自动检测对Bitbucket的新推送并在其上进行构建(要使Jenkins mvn构建通过,我们还需要在运行Jenkins的虚拟机上安装MySql)。 如果Jenkins构建通过,我们会将代码推送到OpenShift上的应用程序(使用Jenkins上的Openshift部署插件)。 我们的问题,因为你可能已经想通了就是: 在application.properties我们不能对MySql信息进行硬编码。由于我们的项目将在3个不同的地方(local,Jenkins和OpenShift)运行,因此我们需要使数据源字段动态化application.properties(我们知道这样做的方式不同,但目前正在研究此解决方案)。 spring.datasource.url = spring.datasource.username = spring.datasource.password = 我们想到的解决方案是在本地和Jenkins vm中创建系统环境变量(以OpenShift命名它们的方式命名),并分别为其分配正确的值: export OPENSHIFT_MYSQL_DB_HOST="jdbc:mysql://localhost" export OPENSHIFT_MYSQL_DB_PORT="3306" export OPENSHIFT_MYSQL_DB_USERNAME="root" export OPENSHIFT_MYSQL_DB_PASSWORD="123asd" 我们已经做到了,并且有效。我们还检查了Map<String, String> env = System.getenv();是否可以将环境变量设置为java变量,如下所示: String password = env.get("OPENSHIFT_MYSQL_DB_PASSWORD"); String userName = env.get("OPENSHIFT_MYSQL_DB_USERNAME"); String sqlURL = env.get("OPENSHIFT_MYSQL_DB_HOST"); String sqlPort = env.get("OPENSHIFT_MYSQL_DB_PORT"); 现在剩下的唯一事情就是我们需要在我们的程序中使用这些java变量application.properties,这就是我们遇到的麻烦。 在哪个文件夹,以及如何做,我们需要分配password,userName,sqlURL,和sqlPort变量application.properties能够看到他们,我们如何将它们包含在application.properties? …

5
我应该如何在Java中复制字符串?
String s = "hello"; String backup_of_s = s; s = "bye"; 此时,备份变量仍包含原始值“ hello”(这是因为String的不可变性对吗?)。 但是用这种方法复制字符串真的安全吗(复制常规可变对象当然不安全),还是写这个更好?: String s = "hello"; String backup_of_s = new String(s); s = "bye"; 换句话说,这两个摘要之间有什么区别(如果有)? 编辑-第一个代码段安全的原因: 让我基于已经提供的良好答案(主要集中在两个代码片段之间的性能差异问题)来更详细地说明事情: 字符串在Java中是不可变的,这意味着String对象在构造后不能修改。因此, String s = "hello";创建一个新的String实例并将其地址分配给s(s作为对该实例/对象的引用) String backup_of_s = s;创建一个新变量backup_of_s并将其初始化,以便它引用当前由引用的对象s。 注意:字符串不可变性保证该对象不会被修改:我们的备份是安全的 注意2:Java垃圾回收机制保证只要该对象被至少一个变量引用(backup_of_s在这种情况下),它就不会被破坏。 最后,s = "bye";创建另一个String实例(由于不可变性,这是唯一的方法),并修改s变量,使其现在引用新对象。
197 java 


5
Mockito-doReturn()和when()之间的区别
我目前正在使用Mockito在Spring MVC应用程序中模拟我的服务层对象,在该应用程序中我想测试我的Controller方法。但是,当我阅读Mockito的细节时,我发现这些方法doReturn(...).when(...)等效于when(...).thenReturn(...)。所以,我的问题是,拥有两种做同一件事的方法有什么意义?doReturn(...).when(...)和之间的细微差别是when(...).thenReturn(...)什么? 任何帮助,将不胜感激。

14
ExecutorService,如何等待所有任务完成
等待所有任务ExecutorService完成的最简单方法是什么?我的任务主要是计算,因此我只想运行大量的作业-每个内核上一个。现在,我的设置如下所示: ExecutorService es = Executors.newFixedThreadPool(2); for (DataTable singleTable : uniquePhrases) { es.execute(new ComputeDTask(singleTable)); } try{ es.wait(); } catch (InterruptedException e){ e.printStackTrace(); } ComputeDTask实现可运行。这似乎是正确执行的任务,但代码崩溃上wait()用IllegalMonitorStateException。这很奇怪,因为我玩了一些玩具示例,而且看起来很奏效。 uniquePhrases包含数以万计的元素。我应该使用其他方法吗?我正在寻找尽可能简单的东西

8
Spring @Transactional属性可以在私有方法上工作吗?
如果我在Spring bean的私有方法上有一个@Transactional -annotation,那么注释是否有效果? 如果@Transactional注释在公共方法上,则它可以工作并打开一个事务。 public class Bean { public void doStuff() { doPrivateStuff(); } @Transactional private void doPrivateStuff() { } } ... Bean bean = (Bean)appContext.getBean("bean"); bean.doStuff();

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.