标签: java-6

使用Java 6执行Java 5代码

有没有什么办法可以在JDK 6上运行用Java 5编译的类文件(即使用main作为入口点)?

java compilation java-5 java-6

1
推荐指数
1
解决办法
1540
查看次数

如何防止Object自动转换为String

我有一个类似于以下的类:

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?

java compiler-errors type-conversion java-6

1
推荐指数
2
解决办法
1301
查看次数

如果VM被Control-C关闭,我可以确保我的定时器启动线程运行完成吗?

假设我对以下函数进行了几次调用:

 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时运行):

在Java中捕获Ctrl + C.

关闭挂钩将取消所有计时器.(假设我将计时器存储在类级别的集合中)

我可以保证在VM退出之前所有活动线程都将运行完成吗?

与此相关,只有在线程全部退出时才会调用shutdown钩子吗?

java command-line control-c java-6

1
推荐指数
1
解决办法
955
查看次数

java.nio的Maven存储库

我正在用Java 6编写一个应用程序(我必须坚持这一点).我需要为文件观察器编写一个模块.

谷歌搜索后,我发现Java 7 java.nio包很好.我想将此子包单独导入maven [my repository]并创建模块.

任何人都可以指导我如何实现这一目标?这些子模块有没有maven repo?

nio file maven java-6 java-7

1
推荐指数
1
解决办法
1万
查看次数

Java中的非阻塞ODBC调用

我使用非常标准的Java ODBC功能 - Connection从池中获取a ,创建Statement并执行它.

我们的用例是游戏,记录游戏进度 - ODBC调用主要是对存储过程的调用,并且在大多数情况下没有返回值.因此,ODBC调用阻塞的事实很烦人 - 游戏已基于回合,但如果数据库速度慢,用户可以看到更长的暂停时间.

如果我不需要检查ODBC调用的结果,是否有任何内置功能来异步执行语句?如果没有,在没有编写大量代码的情况下,这样做的好方法是什么?如果发生ODBC异常,我仍然需要捕获它们.

这个问题虽然不相同但看起来有意义... 异步jdbc调用是否可行?

java jdbc java-6

1
推荐指数
1
解决办法
1093
查看次数

java 6,编译器1.6上的eclipse覆盖方法错误

每当我尝试覆盖超类方法时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 eclipse methods overriding java-6

1
推荐指数
1
解决办法
260
查看次数

Java 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中做类似的事情?

java multithreading java-6

1
推荐指数
1
解决办法
2326
查看次数

Java 6:构造函数参数,null和三元运算符

只是为了好奇......

假设我有一个带有两个构造函数的类:

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 null ternary-operator java-6

1
推荐指数
1
解决办法
1037
查看次数

使代码与Java 1.6兼容(-source 1.6中不支持try-with-resources)

我有以下与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兼容,我需要更改什么?

java java-6

1
推荐指数
1
解决办法
379
查看次数

如何使用Java 6解决CSVReader的尝试资源错误

我被迫用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)

java java-6 opencsv try-with-resources

1
推荐指数
1
解决办法
986
查看次数