小编Pet*_*rey的帖子

在CUDA上运行JVM

但是,我已经看到使用Java来访问CUDAapi

  • 是否有任何实现在GPU中运行整个JVM(可能使用CUDA API)?
  • 或者,有任何计划吗?
  • 如果是这样,性能是否足以运行客户端或服务器应用程序?
  • 最重要的是,哪些问题会导致JVM无法在GPU中运行?

我在这里看到的优点是,我可以购买一个体面的NVidia GPU,并且能够在没有太多CPU处理的情况下运行Java应用程序,从而节省CPU用于其他一些用途.

但是,如果这是不可能的,有没有办法强制JVM使用CUDA将处理卸载到GPU而无需重新编译Java应用程序来支持CUDA?我的意思是喜欢添加VM arguments

java jvm cuda

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

在java中缓存内存中大文件的数据

您好我正在研究自然语言处理的Spelling Corrector项目,我应该从一个大小为6.2 MB 1 GB 的文件中读取数据.虽然它工作正常,但我面临的问题是,每次运行java程序时,我都必须将数据加载到内存中,并且每次运行时都需要相同的时间.

有没有办法将这些数据缓存到java中的内存中?有人可以建议我解决一些问题吗?

基本上我想知道的是什么是在内存中存储大文件内容的过程,以便我不必再读它?让我们说文件是GB.

java algorithm garbage-collection nlp memory-management

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

为什么用某些编译器编译的程序可以反编译而其他程序(实际上)不能反编译?

我曾经认为Java可以被反编译,因为它编译成字节代码而不是目标代码.这是错误的,因为隐含的假设字节代码是一些比对象代码更"人类可读"的东西.为什么用Java编写的程序可以如此容易地反编译,甚至具有相同的标识符(变量名)?我听说在C/C++中它只能反汇编到汇编但没有反编译成源代码,为什么呢?

c c++ java decompiling bytecode

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

JVM是否在系统中存储内存?如果是这样,如何清除它?

我正在使用NetBeans运行应用程序,在项目属性中,我已将Max JVM堆空间设置为1 GiB.

但仍然,应用程序崩溃与内存不足.

JVM是否在系统中存储了内存?如果是这样,如何清除记忆?

java garbage-collection jvm out-of-memory

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

如何防止用户删除JVM正在使用的文件

我有一段JAVA代码,它读取一些文件,并将它们保存到内存中一段时间​​.读取后保留文件句柄.我的问题是我想限制用户使用"DEL"键或rm命令删除这些文件.

我可以通过保留文件句柄在Windows上实现相同的功能,而在Unix上,rm不支持​​对文件的锁定.我甚至试过Filechannel.lock()但它也没有帮助.

任何建议表示赞赏.

java unix jvm rm

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

本地字符串文字的内存分配?

我知道当我们创建字符串文字时,它会进入permgenspace.我的问题是它是否会存在于jvm的生命周期中,即使该字符串文字是方法本地的.例如,我有以下代码片段: -

private static void testString1(){
        String str1="tetingLiteral";
    }


private static void testString2(){
        String str2="tetingLiteral";
    }
Run Code Online (Sandbox Code Playgroud)

现在从主要方法我打电话

testString1();
testString12();
Run Code Online (Sandbox Code Playgroud)

将str1和str2引用到相同的内存位置.

我的理解是他们将引用相同的内存位置(即使在方法内创建字符串文字,它将在jvm的生命周期内保留).但仍然想确认它,因为我无法以编程方式检查它becoz无法打印字符串内存位置

java memory string garbage-collection

4
推荐指数
2
解决办法
1920
查看次数

java中的资源是什么?为什么我们必须在使用后关闭它?

在java中"resource"这个词是什么意思?为什么我们必须在使用后关闭它,即使垃圾收集器在jvm中运行?为什么我们必须在finally块中编写资源清理代码?

java garbage-collection

4
推荐指数
4
解决办法
188
查看次数

用Golang编写的UDP-Client无法从服务器接收消息

我编写了一个Java客户端,它向广播地址发送消息.

我还编写了一个Java Server,它接受所有发送的消息并将消息发送回客户端.

现在我想尝试在Go中做同样的事情,只是为了获得一些经验.服务器工作正常,正在接收消息并响应Java客户端.

但我的Go Client只向Go/Java服务器发送消息,但没有收到任何消息.根据wireshark,消息被发送回正确的IP和端口,但显然端口无法访问.

我的代码如下:Go Server:

package main

import (
    "fmt"
    "log"
    "net"
)

func main() {
    //Resolving address
    udpAddr, err := net.ResolveUDPAddr("udp4", "0.0.0.0:8888")

    if err != nil {
        log.Println("Error: ", err)
    }

    // Build listining connections
    conn, err := net.ListenUDP("udp", udpAddr)

    defer conn.Close()

    if err != nil {
        log.Println("Error: ", err)
    }

    // Interacting with one client at a time
    for {
        fmt.Println(">>>Ready to receive broadcast packets!")

        // Receiving a message
        recvBuff := make([]byte, 15000)
        _, rmAddr, …
Run Code Online (Sandbox Code Playgroud)

udp broadcast go

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

Java读取文件,如果不存在则创建它

这是我的代码

public String path;
public String fileName;
public static void readData() throws IOException{
    try {
        path="myPath"
        fileName="myFileName";
        fstream = new FileInputStream(path+fileName);
        br = new BufferedReader(new InputStreamReader(fstream));
        //do something...//
        }
        br.close();
    } catch (FileNotFoundException ex) {
        JOptionPane.showMessageDialog(null, "Reading file error");
        Logger.getLogger(LeggiDaFile.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何检查fstream是否存在.如果它不存在,则必须创建新文件.我怎样才能做到这一点?谢谢

java text file

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

滑动窗口:实现和性能(Java)

我想实现一个非常简单的滑动窗口.换句话说,我会有一些列表,其中的对象从该列表的右端插入并从左端删除.在每次插入中,先前的对象被左移一个索引.当列表被对象填充时,在每次从右端插入时,对象将从左端删除(并且前一个对象当然会像往常一样左移一个索引).

我记得有一个LinkedList或一个ArrayDeque - 可能后者是一个更好的选择,因为据我所知,插入和从任一端移除是对ArrayDeque的持续努力O(1),但事实并非如此对于LinkedList.是对的吗?

此外,我想问以下内容:当我插入一个新对象时,左移所有存储在滑动窗口中的所有对象对于具有100,000甚至1,000,000个对象的大型滑动窗口来说是处理密集型的,就像我的情况一样.是否有其他数据结构可能在我的应用程序中表现更好?

注意:我使用术语"滑动窗口"来表示我想要实现的内容,也许还有一些其他术语可以更好地描述它,但我认为从上面的描述可以清楚地知道我想做什么.

java garbage-collection linked-list sliding-window arraydeque

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