如何使用id检索枚举名称?

我的enum为: public enum EnumStatus { PASSED(40L, “Has Passed”), AVERAGE(60L, “Has Average Marks”), GOOD(80L, “Has Good Marks”); private java.lang.String name; private java.lang.Long id; EnumStatus(Long id, java.lang.String name) { this.name = name; this.id = id; } public java.lang.String getName() { return name; } public java.lang.Long getId() { return id; } } 我必须使用id(40,60,80)获得Enum名称( PASSED , AVERAGE , GOOD […]

终于回来“发生了吗?”

我试图说服自己, finally子句中的操作发生在函数返回之前 (在内存一致性意义上)。 从JVM规范中可以清楚地看出,在一个线程中,程序顺序应该在关系之前驱动发生 – 如果在程序顺序中发生b则在 b 之前发生 。 但是,我还没有看到任何明确说明在返回之前最终发生的事情 ,那么它呢? 或者,编译器是否可以通过某种方式重新排序finally子句,因为它只是记录日志。 激励示例:我有一个线程从数据库中取出对象并将它们放入ArrayBlockingQueue,另一个线程将它们取出。 我有一些try – finally用于事件计时的块,我看到在log语句之前返回的影响 线程1: public Batch fetch() { try { log(“fetch()+”); return queryDatabase(); } finally { log(“fetch()-“); } … workQueue.put(fetch()); 线程2: log(“take()+”); Batch b = workQueue.take(); log(“take()-“); 令我惊讶的是,这是以意想不到的顺序打印出来的。 虽然,是的,不同线程中的日志记录语句可能无序出现,但存在至少20毫秒的时间差。 124 ms : take()+ 224 ms : fetch()+ 244 ms : take()- 254 […]

在Cassandra中进行和导出Keyspace模式

我在我的系统上安装了Cassandra 1.1.2作为单节点集群,并有三个键空间: hotel , student和employee 。 我希望尽可能转储hotel的键空间架构及其列族数据,并在其他Cassandra集群上恢复转储。 任何人都可以详细建议我该怎么做?

MyBatis一次执行多个sql语句,这可能吗?

我想知道是否有可能在1 go中执行多个sql语句。 例如,我想从多个表中删除行的场景,有没有办法可以做的事情,比如… DELETE FROM DUMMYTABLE_A where X=${value} DELETE FROM DUMMYTABLE_B where X=${value}

FtpClient storeFile总是返回False

请弄清楚这一点。 代码正常运行,没有任何exception。 FTPClient ftp = new FTPClient(); ftp.connect(server); if(!ftp.login(username, password)) { ftp.logout(); return false; } int reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); return false; } InputStream in = new FileInputStream(localfile); ftp.setFileType(ftp.BINARY_FILE_TYPE, ftp.BINARY_FILE_TYPE); ftp.setFileTransferMode(ftp.BINARY_FILE_TYPE); Store = ftp.storeFile(destinationfile, in); in.close(); ftp.logout(); ftp.disconnect(); } catch (Exception ex) { ex.printStackTrace(); return false; } return Store; Buttttttttt return语句始终返回false,并且文件未上载到服务器上。 有人请帮忙。 […]

.class vs .java

.class文件和.java文件之间有什么区别? 我试图让我的applet工作,但目前我只能在Eclipse中运行它,我还不能嵌入HTML。 谢谢 **编辑:如何用JVM编译呢?

智能卡终端删除:SCARD_E_NO_SERVICE CardException

我正在开发一个使用smartcardio来处理智能卡的Java应用程序。 必须有一个可以移除其USB读卡器,然后再次插入它而无需再次启动小程序。 我正在使用terminals()和waitForChange()方法来检测终端更改,它在Linux,MacOS和Win7上运行正常。 但是在Windows 8(仅限Windows 8)上,删除最后一个终端后,这些方法抛出SCARD_E_NO_SERVICE CardException ,并且不再检测到任何更改。 我不确定它所说的“服务”是什么。 但是当我调用TerminalFactory.getDefault()来创建一个TerminalFactory单例时,我认为这是在我的线程中启动的。 而且我认为这个单例可能有办法管理底层服务,这就是被打破的。 有没有人知道如何在Windows 8上使用smartcardio管理终端断开连接?

如何从JFrame中删除最大化和最小化按钮?

我需要从JFrame删除最大化和最小化按钮。 请建议如何做到这一点。

用于java.util.concurrent.Future的scala.concurrent.Future包装器

我正在使用Play Framework 2.1.1和一个生成java.util.concurrent.Future结果的外部Java库。 我正在使用scala future而不是Akka,我认为这是Play 2.1的正确选择。 如何在保持代码无阻塞的同时将java.util.concurrent.Future包装到scala.concurrent.Future中? def geConnection() : Connection = { // blocking with get connectionPool.getConnectionAsync().get(30000, TimeUnit.MILLISECONDS) } 上面的代码返回一个连接,但使用了get,所以它变成了阻塞 def getConnectionFuture() : Future[Connection] = { future { // how to remove blocking get and return a scala future? connectionPool.getConnectionAsync().get(30000, TimeUnit.MILLISECONDS) } } 理想情况下,我想要一个scala函数,它返回连接作为未来,如上面的代码,但没有通过get阻止代码。 我还需要在函数中添加什么才能使其无阻塞。 任何指针都会很棒。

如何使用Java在网络打印机上打印?

使用Java,我需要在没有本地安装的网络打印机上打印。 我只知道打印机名称。 我见过的所有教程都是从以下内容开始的: PrintService []services = PrinterJob.lookupPrintServices(); 问题是没有安装打印机,因此在这种情况下服务将是空的。 我需要直接设置打印机名称,而不仅仅是通过可见打印机进行枚举。