Questions tagged «java»

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

9
ExecutorService在超时后中断任务
我正在寻找可以提供超时的ExecutorService实现。如果提交给ExecutorService的任务花费的时间超过了超时时间,则这些任务将被中断。实现这样的野兽并不是一个困难的任务,但是我想知道是否有人知道现有的实现。 这是我根据以下一些讨论得出的。任何意见? import java.util.List; import java.util.concurrent.*; public class TimeoutThreadPoolExecutor extends ThreadPoolExecutor { private final long timeout; private final TimeUnit timeoutUnit; private final ScheduledExecutorService timeoutExecutor = Executors.newSingleThreadScheduledExecutor(); private final ConcurrentMap<Runnable, ScheduledFuture> runningTasks = new ConcurrentHashMap<Runnable, ScheduledFuture>(); public TimeoutThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, long timeout, TimeUnit timeoutUnit) …

30
检查回文字符串
甲回文是单词,短语,数字或的单元的其它序列可以读取在任一方向的方式相同。 为了检查一个单词是否是回文,我得到了单词的字符数组并比较了字符。我测试了它,它似乎起作用了。但是我想知道这是正确的还是有待改进的地方。 这是我的代码: public class Aufg1 { public static void main(String[] args) { String wort = "reliefpfpfeiller"; char[] warray = wort.toCharArray(); System.out.println(istPalindrom(warray)); } public static boolean istPalindrom(char[] wort){ boolean palindrom = false; if(wort.length%2 == 0){ for(int i = 0; i < wort.length/2-1; i++){ if(wort[i] != wort[wort.length-i-1]){ return false; }else{ palindrom …

11
数组是Java中的对象吗
在Java中,我们可以声明一个数组,例如 String[] array = new String[10]; int size = array.length; 这是否意味着数组本身是一个对象?因为在C ++中,数组只是一个指针,没有任何方法。
93 java 

7
无状态和有状态的企业Java Bean
我正在阅读Java EE 6教程,试图理解无状态会话bean和有状态会话bean之间的区别。如果无状态会话bean在方法调用之间没有保持其状态,为什么我的程序按原样运行? package mybeans; import javax.ejb.LocalBean; import javax.ejb.Stateless; @LocalBean @Stateless public class MyBean { private int number = 0; public int getNumber() { return number; } public void increment() { this.number++; } } 客户端 import java.io.IOException; import javax.ejb.EJB; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.WebServlet; import mybeans.MyBean; import java.io.PrintWriter; @WebServlet(name …

7
如何在春季测试中设置环境变量或系统属性?
我想编写一些测试来检查已部署WAR的XML Spring配置。不幸的是,某些bean需要设置一些环境变量或系统属性。通过@ContextConfiguration使用便捷的测试样式时,如何在初始化Spring bean之前设置环境变量? @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:whereever/context.xml") public class TestWarSpringContext { ... } 如果我使用注释配置应用程序上下文,那么在初始化spring上下文之前,我看不到可以执行某些操作的钩子。

8
从线程返回值
我有一个方法HandlerThread。值在内部被更改Thread,我想将其返回给该test()方法。有没有办法做到这一点? public void test() { Thread uiThread = new HandlerThread("UIHandler"){ public synchronized void run(){ int value; value = 2; //To be returned to test() } }; uiThread.start(); }

29
Java无法使用'localhost:10.0'作为DISPLAY变量的值连接到X11窗口服务器
我有一个脚本使用Java连接到本地主机的端口10.0中显示X11 但我总是得到这个错误 java.lang.InternalError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable. at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:62) at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:178) at java.security.AccessController.doPrivileged(Native Method) at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:142) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82) at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:112) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at java.awt.Toolkit$2.run(Toolkit.java:849) at java.security.AccessController.doPrivileged(Native Method) at …
93 java  linux  x11  xserver 

4
Java:<init>和<clinit>有什么区别?
我无法理解以下文本...这是否意味着&lt;clinit&gt;空的构造函数?为什么拥有两个不同的版本很重要? https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html 2.9. Special Methods 在Java虚拟机级别,每个构造函数(第2.12节)都作为具有特殊名称的实例初始化方法出现&lt;init&gt;。该名称由编译器提供。因为该名称&lt;init&gt;不是有效的标识符,所以不能直接用Java编程语言编写的程序中使用它。实例初始化方法只能由invokespecial指令在Java虚拟机内调用,并且只能在未初始化的类实例上调用。实例初始化方法具有从其获得构造函数的访问权限(第2.7.4节)。 一个类或接口最多具有一个类或接口初始化方法,并通过调用该方法进行初始化(第2.17.4节)。类或接口的初始化方法是静态的,不带参数。它有特殊的名字&lt;clinit&gt;。该名称由编译器提供。因为该名称&lt;clinit&gt;不是有效的标识符,所以不能直接用Java编程语言编写的程序中使用它。类和接口初始化方法由Java虚拟机隐式调用。它们从不从任何Java虚拟机指令直接调用,而仅在类初始化过程中间接调用。
93 java  jvm 

4
相当于Python字典的Java
我是Python的长期用户,并且非常喜欢使用字典的方式。它们非常直观且易于使用。有没有一个与python字典等效的Java?我听说有人在使用哈希图和哈希表。有人可以解释使用哈希表和哈希图与python字典的异同吗?
93 java  python  hash  dictionary 

2
System.currentTimeMillis()返回UTC时间?
我想以毫秒为单位获取当前UTC时间。我搜索了google,并得到了一些System.currentTimeMillis()返回UTC时间的答案。但事实并非如此。如果我执行以下操作: long t1 = System.currentTimeMillis(); long t2 = new Date().getTime(); long t3 = Calendar.getInstance().getTimeInMillis(); 这三个时间几乎都相同(由于通话,相差以毫秒为单位)。 t1 = 1372060916 t2 = 1372060917 t3 = 1372060918 这不是UTC时间,而是我的时区时间。如何在Android中获取当前UTC时间?

3
JsonParseException:非法的未加引号的字符((CTRL-CHAR,代码10)
我正在尝试使用org.apache.httpcomponentsRest API,它将把JSON格式的数据发布到API。 我得到这个异常: 引起原因:com.fasterxml.jackson.core.JsonParseException:非法的不带引号的字符((CTRL-CHAR,代码10)):必须使用反斜杠转义以包含在字符串中。 原因是因为ctrl-char包含在JSON字符串中。 有什么方法可以替代此解决方案或其他解决方案吗?

15
Java 8 Stream与批处理
我有一个包含项目列表的大文件。 我想创建一批项目,并用这一批发出一个HTTP请求(所有项目都需要作为HTTP请求中的参数)。我可以使用for循环非常轻松地完成此操作,但是作为Java 8爱好者,我想尝试使用Java 8的Stream框架编写此代码(并获得延迟处理的好处)。 例: List&lt;String&gt; batch = new ArrayList&lt;&gt;(BATCH_SIZE); for (int i = 0; i &lt; data.size(); i++) { batch.add(data.get(i)); if (batch.size() == BATCH_SIZE) process(batch); } if (batch.size() &gt; 0) process(batch); 我想做一些事情 lazyFileStream.group(500).map(processBatch).collect(toList()) 最好的方法是什么?

8
仅标记为回滚的事务:如何找到原因
我在@Transactional方法中提交事务时遇到问题: methodA() { methodB() } @Transactional methodB() { ... em.persist(); ... em.flush(); log("OK"); } 当我从methodA()调用methodB()时,该方法成功通过,并且我可以在日志中看到“确定”。但后来我明白了 Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Transaction marked as rollbackOnly org.springframework.transaction.TransactionSystemException: Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Transaction marked as rollbackOnly at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:521) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723) at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393) …

5
我可以让H2在内存数据库中自动创建架构吗?
(我已经看过H2数据库在内存中-通过Spring / Hibernate问题的初始化架构;在这里不适用。) 我想知道H2中是否有设置,可以让我在连接到它时自动创建一个模式。如果有帮助,我只对内存中的情况感兴趣。 H2在URL的末尾支持各种用分号分隔的修饰符,但是我找不到用于自动创建模式的修饰符。有这样的功能吗?
93 java  sql  database  h2 

2
REFRESH和MERGE在数据库方面意味着什么?
我很好奇,需要快速找到答案。Google不会有太大帮助。 Java Persistence API具有这些属性,这些属性告诉框架对相关实体进行级联操作: CascadeType.PERSIST CascadeType.DELETE CascadeType.MERGE CascadeType.REFRESH 我知道前两个是什么意思:当我持久化具有B的对象A时,也持久化B,并且在删除A时也删除B。 但是我无法理解其他两个人的成就。救命?
93 java  jpa  persistence 

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.