在使用JDK 1.6编译时,是否可以选择构建在JRE 1.5上运行的Java代码?
PS:我是Java新手.
我正在从Java 1.1迁移.到Java 5.
我注意到一些方法已被弃用,例如java.util.Date有一个不推荐使用的getYear()方法.
我的问题是,如果将getYear()方法保留为1.1,它仍将在Java 5中运行
假设我们有一个名为AccountService的类来管理帐户状态.
AccountService定义为
interface AccountService{
public void debit(account);
public void credit(account);
public void transfer(Account account, Account account1);
}
Run Code Online (Sandbox Code Playgroud)
鉴于此定义,实现transfer()的最佳方法是什么,以便您可以保证传输是原子操作.
我对引用Java 1.4代码的答案以及可能使用Java 5中的java.util.concurrent资源的答案感兴趣
我正在开发一个必须在Java SE 5和Java SE 6上运行的项目.我最近开始使用一个@Generated向生成的代码添加注释的工具,我想保留这些注释.它看起来像是javax.annotation.Generated在Java 5 EE和Java 6 SE及更高版本中,但不在Java 5 SE API中.
javax.annotation.Generated当我将它发送给客户时,最好的方法是什么,所以它可以在Java SE 5和Java SE 6上运行而没有任何问题?我只需要包含一个额外的jarfile吗?如果是这样,哪一个确实@Generated存在?
如何实例化HashMap以放置集合和对象?
//it's wrong
Map<String,?>params=new HashMap<String,? >
List<Person> lstperson=getPerson();
params.put("person",lstperson);
params.put("doc",objectDoc);
params.put("idSol",new Long(5));
service.method(params);
//method
public void method(Map<String, ?> params);
Run Code Online (Sandbox Code Playgroud) 我有一个以前工作的JPA项目.这个月,我在我的数据库中添加了一些数据.当我运行通常的工作(我曾经在前几个月运行)时,我收到此错误:
异常[TOPLINK-4002](Oracle TopLink Essentials - 2.0.1(Build b09d-fcs(12/06/2007))):oracle.toplink.essentials.exceptions.DatabaseException内部异常:java.sql.SQLException:网络错误IOException :地址已在使用中:连接错误代码:0
我检查了我的LocalPersistenceFacade,其中包含我正在调用的大多数方法,通过打印计数器,我得到了关闭和打开的连接的确切数量:457.然后我的工作崩溃了.通常,它应该到601而不是457.
在数据库方面,没有与可能的崩溃相关的信息.一切似乎都是正确的,但我的java代码却说了别的.
有人有任何想法吗?
问候,让
我想创建一个这个XQPart接口的模拟器.问题是它扩展了一个名为XQCloneable的接口,它有一个克隆方法.
当我在Eclipse中使用此set作为接口创建一个新类时,我得到了这个类:
public class Part implements XQPart {}
Run Code Online (Sandbox Code Playgroud)
有一个红色错误潦草的Part说法
Object.clone()的throws子句中的CloneNotSupportedException与XQCloneable.clone()不兼容
我能在这做什么?有没有办法实现这个接口?
注意:我确实试图实现该方法,但没有意识到我可以跳过throws声明,因为在接受的答案中告诉,所以不断得到该错误.
我们已将 Oracle 数据库从 11g 迁移到 12c。我们有一个在 Java 1.5 中运行并使用 ojdbc14.jar 的遗留应用程序。
我们的应用程序无法创建到数据库的连接错误说:
java.sql.SQLException: ORA-28040: No matching authentication protocol
Run Code Online (Sandbox Code Playgroud)
我建议回答ORA-28040: No matching authentication protocol exception,并尝试将我的 ojdbc14.jar 升级到 ojdbc6.jar。
我现在有一条不同的错误消息说:
error: OracleCallableStatement is not public in oracle.jdbc.driver; cannot be accessed from outside package
import oracle.jdbc.driver.OracleCallableStatement;
^
error: OracleTypes is not public in oracle.jdbc.driver; cannot be accessed from outside package
cstmt.registerOutParameter(3,oracle.jdbc.driver.OracleTypes.CURSOR);
^
Run Code Online (Sandbox Code Playgroud)
蚂蚁构建文件:
<javac srcdir="${src}" destdir="${classes}" source="1.5" target="1.5">
<classpath refid="cpath" />
</javac>
Run Code Online (Sandbox Code Playgroud)
不确定我们应该做什么才能使应用程序正常工作。
我需要在 oracle 数据库中生成 QR 码,并将它们打印在通过 BI Publisher 生成的 PDF 文档中。
我尝试了很多地方,发现下面的帖子使用 Zxing 库通过 Zxing 库在 Oracle DB 中生成二维码:https ://community.oracle.com/message/13360407#13360407
但是我目前工作的数据库有 Java 1.5 但 zxing 需要 1.6/1.7
我已经问过 Zxing 组他们是否有任何支持 1.5 的旧版本:https ://groups.google.com/forum/#!forum/zxing
同时尝试寻找纯 pl/sql 的 qrcode 生成器,并在以下 GITHUB 中找到:
1. as_barcode by antonscheffer
和
2. make_qr by svetka17
但是 pl/sql 包都缺少一些东西并给出错误。
你们知道我如何在 pl/sql 或任何可以在 Oracle 数据库中使用的 Java 1.5 二维码库中生成二维码吗?
开源将很有帮助,并且对 IDAutomation 不感兴趣,因为它超出了我的预算。
谢谢和问候,
萨尔曼·法里什。
如果我理解正确的话,这里是一些在 1.5 下非法的示例 java 代码(因为@Override在 java 1.6 之前不能用于重写接口方法):
public class A {
public static interface MyInterface {
public void myInterfaceMethod();
}
public static class MyClass implements MyInterface {
@Override public void myInterfaceMethod() {}
}
}
Run Code Online (Sandbox Code Playgroud)
我想在我的源代码中找到所有此类 1.5 不兼容性,因此我在我的 ubuntu Linux 机器上安装了一个支持 java1.5 的编译器:
sudo apt install openjdk-8-jdk
JAVAROOT=/usr/lib/jvm/java-1.8.0-openjdk-amd64
${JAVAROOT}/bin/javac -version
# javac 1.8.0_232
Run Code Online (Sandbox Code Playgroud)
并编译了上面的java源代码:
${JAVAROOT}/bin/javac -source 1.5 -Xlint:all -Xlint:-options A.java
Run Code Online (Sandbox Code Playgroud)
我预计上面的java代码会被拒绝。但尽管在 1.5 下存在非法行为,但它显然编译成功了。
这是怎么回事?我是否误解了 1.5 规则@Override?或者我误解了-source 1.5应该做什么?
FWIW,我注意到这-source 1.4确实给出了预期的错误:
${JAVAROOT}/bin/javac -source …Run Code Online (Sandbox Code Playgroud)