JAVA程序如何从内存中获取数据

JAVA程序如何从内存中获取数据,第1张

这个问题太不好回答了。

但是又很好回答。

比如:

String str1=new String("我爱我家");

这个时候已经在内存中分配一个内存块用来存储这个字符串数据了。

所以呢你取的时候也是很简单的。

直接读取str1就ok了。

你所说的取内存数据是想问什么呢?

import javaioBufferedReader;

import javaioFileNotFoundException;

import javaioFileReader;

import javaioIOException;

import javaioRandomAccessFile;

import javautilScanner;

public class TestPrint {

public static void main(String[] args) throws IOException {

String path = "你要读的文件的路径";

RandomAccessFile br=new RandomAccessFile(path,"rw");//这里rw看你了。要是之都就只写r

String str = null, app = null;

int i=0;

while ((str = brreadLine()) != null) {

i++;

app=app+str;

if(i>=100){//假设读取100行

i=0;

// 这里你先对这100行 *** 作,然后继续读

app=null;

}

}

brclose();

}

}

要实时查看某个Thread所使用的内存大小并没有具体的语句。

但是可以通过前后对比法进行阶段性监控与分析。

首先加入一个静态方法:

public static long getMemory() {

return RuntimegetRuntime()freeMemory();

}

这个是查看运行时空闲内存的语句。

所以应该在需要检测的线程执行点前后进行插桩。

long point1 = getMemory();

线程调用

long point2 = getMemory();

注意:另外,在这个过程中不应该有其他的干扰(调用其他线程或者其他 *** 作)

甚至可以在线程中进行插桩,然后分析所有点的数值变化,根据数值差,就可以得出答案。

public class 对象地址 

{

public static void main(String[] args) 

{

Systemoutprintln("\n\t\t==========如何获取对象地址==========\n");

init();

}//初始化!

private static void init()

{

//演示:创建对象!

Dog d1=new Dog();

Dog d2=new Dog("白色");

d1show();

d2show();

Systemoutprintln("\n对象内存地址-->>对象所属类型:"+d1+"<<--这就是对象内存中哈希值16进制的地址");

Systemoutprintln("对象内存地址-->>对象所属类型:"+d2+"<<--这就是对象内存中哈希值16进制的地址\n");

Systemoutprintln("d1对象所属类:"+d1getClass());

Systemoutprintln("d1对象所属地址十进制:"+d1hashCode()+"转成16进制就和上面一样了\n");

Systemoutprintln("d2对象所属类:"+d2getClass());

Systemoutprintln("d2对象所属地址十进制:"+d2hashCode()+"转成16进制就和上面一样了\n");

}

}

//测试类,小狗!

class Dog

{

String color="黑色";

Dog(){}

Dog(String color){thiscolor=color;}

void show()

{

Systemoutprintln("这是一个"+color+"的小狗");

}

}

String str1 = "abc";String str2 = "abc";Systemoutprintln(str1==str2); //true

这样就是true了

String str="abc";Systemoutprintln(strgetBytes());

这个就是地址[B@7150bd4d B可能是类名 因为我的类是B @后面的大概是地址了 没研究过 但是过去地址确实是这个

以上就是关于JAVA程序如何从内存中获取数据全部的内容,包括:JAVA程序如何从内存中获取数据、java 读取大容量文件,内存溢出怎么分段读取(按一定容量读取)、Java如何获取某个线程所使用的内存的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9356822.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存