有没有什么办法可以在JDK 6上运行用Java 5编译的类文件(即使用main作为入口点)?
我有一个类似于以下的类:
public class FileEntry {
private String name;
public FileEntry (String name) {
this.name = name;
}
}
void foo(String arg){};
foo("string" + new FileEntry("")); // How to get a compile error here
Run Code Online (Sandbox Code Playgroud)
如何让java给我一个编译错误而不是自动将Object转换为String?
假设我对以下函数进行了几次调用:
public void StartTimedRuns(){
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask(){
public void run(){
//do something that takes less than a minute
}
}, 0, 60*1000);
}
Run Code Online (Sandbox Code Playgroud)
我的理解是,此时会有一堆线程同时运行.也就是说,每个计时器实例将以1分钟的间隔生成短期线程.
假设我按照以下说明安装了一个关闭钩子(按下Control-C时运行):
关闭挂钩将取消所有计时器.(假设我将计时器存储在类级别的集合中)
我可以保证在VM退出之前所有活动线程都将运行完成吗?
与此相关,只有在线程全部退出时才会调用shutdown钩子吗?
我正在用Java 6编写一个应用程序(我必须坚持这一点).我需要为文件观察器编写一个模块.
谷歌搜索后,我发现Java 7 java.nio包很好.我想将此子包单独导入maven [my repository]并创建模块.
任何人都可以指导我如何实现这一目标?这些子模块有没有maven repo?
我使用非常标准的Java ODBC功能 - Connection从池中获取a ,创建Statement并执行它.
我们的用例是游戏,记录游戏进度 - ODBC调用主要是对存储过程的调用,并且在大多数情况下没有返回值.因此,ODBC调用阻塞的事实很烦人 - 游戏已基于回合,但如果数据库速度慢,用户可以看到更长的暂停时间.
如果我不需要检查ODBC调用的结果,是否有任何内置功能来异步执行语句?如果没有,在没有编写大量代码的情况下,这样做的好方法是什么?如果发生ODBC异常,我仍然需要捕获它们.
这个问题虽然不相同但看起来有意义... 异步jdbc调用是否可行?
每当我尝试覆盖超类方法时Eclipse都会出错.即使是简单的代码也会出错.这是第一课
public class First{
private void Meth(){
}
}
Run Code Online (Sandbox Code Playgroud)
这是另一个首先延伸的类
public class Second extends First{
@Override
public void meth(){
}
}
Run Code Online (Sandbox Code Playgroud)
并且eclipse给出错误"类型Second的方法meth()必须覆盖或实现超类型方法""1快速修复可用 - 删除'@Override'注释".我已将编译器合规性级别设置为1.6.救命!!
在Java 1.7中,我们可以拥有未来的任务,其余的进程obj将在新线程中继续,而不必等待另一个进程的结果.
private static ExecutorService executorService
= Executors.newFixedThreadPool(1);
public void update(MyObject obj) {
executorService.execute(new FutureTask<>(new MyFutureTask(obj)));
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在java 1.6中做类似的事情?
只是为了好奇......
假设我有一个带有两个构造函数的类:
public Class(){}
public Class(int x){}
Run Code Online (Sandbox Code Playgroud)
我想通过以下语句创建一个新类:
new Class( ( true ) ? 100 : null);
Run Code Online (Sandbox Code Playgroud)
这可以接受吗?null会使用empty/default构造函数实例化Class吗?如果没有,有没有办法用三元运算符完成这个?
请注意,我使用的是Java版本6.
我有以下与Java 1.7兼容的代码,但是,我需要它与Java 1.6兼容。目前,我收到此代码以下错误:try-with-resources is not supported in -source 1.6
代码如下:
try (QueryExecution qexec = QueryExecutionFactory.create(query, input.getModel())) {
// Some other code
while (results.hasNext()) {
// do something
}
return something;
}
Run Code Online (Sandbox Code Playgroud)
为了使其与Java 1.6兼容,我需要更改什么?
我被迫用JDK 6构建JAR文件,因为它将用在公司的便携式计算机上,并且便携式计算机的所有者如果不经过IT人员的便携式计算机就无法更新其Java版本。
因此,如何解决此方法的try-with-resources错误:
public static String importFile(String filepath){
String insertQuery = "INSERT INTO SALESMAN VALUES (?,?)";
String status;
try (CSVReader reader = new CSVReader(new FileReader(filepath), ','); //error here
Connection connection = DBConnection.getConnection();){
Statement stmt = connection.createStatement();
PreparedStatement pstmt = connection.prepareStatement(insertQuery);
String[] rowData = null;
int i = 0;
while((rowData = reader.readNext()) != null){
for (String data : rowData){
pstmt.setString((i % 2) + 1, data);
if (++i % 2 == 0)
pstmt.addBatch();
if (i % 20 == 0)
pstmt.executeBatch();
}
} …Run Code Online (Sandbox Code Playgroud)