导航:首页 > 安装方法 > java方法存储在哪里

java方法存储在哪里

发布时间:2022-01-09 06:50:39

‘壹’ java中的内存图,方法在哪一个位置

构造方法没有返回值,也不能有void,而普通方法是有返回值的可以是void,即返回值为空
方法名与类名相同,可以传参数。

‘贰’ Java构造函数(方法)存储在jvm哪个内存里

存放到方法区当中;
new出来的是实例对象,实例对象才是存放在堆当中;
构造函数对应的是<init>方法,方法信息随着类加载器加载到方法区当中。
栈:
以栈帧为单位,存放的不是方法具体的结构,只是通常一个方法对应一个栈帧,对应的入栈出栈就是栈帧的入栈出栈。栈帧中有局部变量表,操作数栈,方法返回地址,动态链接。其中局部变量表存放局部变量,包括形参,非静态方法默认在第一个索引存放一个this变量;操作数栈用于操作局部变量表和一些值的运算,比如读取表中变量的值进行运算,或存放相应的值到局部变量表中;方法返回地址则是用于记录对应方法的下一条指令的地址;动态链接是符号引用变成的直接引用。
堆:
存放实例对象,在jdk7开始,还存放静态变量和字符串常量池
方法区:
存放类元信息,比如完整类名全称,public,abstract等修饰符,实现的接口有序列表等;方法信息,比如修饰符,返回类型等;JIT代码缓存,也就是被即时编译器编译后的热点代码,用于提高性能;域信息,也就是属性信息,比如修饰符,类型等;运行时常量池,字节码文件中常量池的运行时表现,类似符号引用的记录,不过蕴含的信息更为丰富,而且具有动态性。jdk6及以前,还存放静态变量,运行时常量池中还存放字符串常量池,到了jdk7则移到了堆中。

‘叁’ java中一个类的方法是怎么存储的

java内存分析:
都是将内存分为三块
第一块内存区域是:栈
第二块内存区域是:堆
第三块内存区域是:方法区
栈空间里装的都是局部变量
堆空间里装的都是new出来的东西,特殊的对象 (非static修饰的全局变量是特殊的对象,在堆内存区域内)
方法区里装的都是基本类型常量和字符串常量、static修饰的全局变量、代码

‘肆’ java中,静态方法被调用是,存储在内存的哪个区域是栈还是放大区还是两者都有

在JDK8之前,静态成员(静态变量和静态方法)都是存储在方法区(永久代)中的静态区中(这里指类被加载后,静态成员的存储位置)。但在JDK8之后,永久代被移除了,取而代之的是元空间(metaspace)。但元空间中存储的主要是.class文件的元数据信息,静态成员的存储位置由方法区转到了堆内存(heap)中。
不过,不管是JDK8,还是更早的版本中,静态方法的执行(不仅仅是静态方法,还有普通的成员方法)都是在栈内存(stack)中进行的。每个线程都会在栈内存中开辟一个栈,在调用方法时,对应的方法都会在执行这个方法的线程的栈中创建一个“栈帧”,栈帧中保存了局部变量表(基本数据类型和对象引用)、操作数栈、动态连接和返回地址等信息。等到方法执行完毕,栈帧被销毁,对应的内存也将被释放。

‘伍’ JAVA中的各种东西存储在什么地方

2、堆栈(栈)位于通用RAM(随机访问存储器)中,但是通过堆栈指针可以直接从堆栈指针那里获得直接支持。堆栈指针向下移动,则分配新的内存;向上移动,则释放那些内存。其快速有效性仅次于寄存器。创建程序时,JAVA必须知道存储在堆栈区的所有项的确切生命周期,以便上下移动堆栈指针。比如,JAVA对象引用存储于堆栈区,但对象并不存储于其中。3、堆一种通用的内存池(也位于RAM区),用于存放所有的JAVA对象。堆不同于堆栈的好处是:编译器不需要知道存储的数据在堆里存活多长时间,因此堆里分配存储有很大的灵活性。当需要一个对象时,只需要new一个即可,当执行这行代码时,会自动在堆里进行存储分配。不过,用堆进行存储分配和清理可能比用堆栈进行存储分配需要更多的时间。4、常量存储常量值通常在直接放在程序代码内部,这样做是安全的,因为它永远不会被改变。5、非RAM存储如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在。流对象:在流对象中,对象转成字节流,通常被发送给另外一台机器。持久化对象:对象被存放于磁盘上。

‘陆’ java 静态方法很多,静态方法是存储在哪个代里

我问题是这样的: 问题补充:我的问题是既然,manager是单例的,那写成静态方法的调用又有何不可,从内存的角度分析看?java的gc角度看?能不能详细说一下 问题补充:suziwen 写道DAO,MANAGER写成静态的是实现 单例,那样才更省内存。。。我的问题是既然,manager是单例的,那写成静态方法的调用又有何不可,从内存的角度分析看?java的gc角度看?能不能详细说一下 问题补充:yqin 写道从JVM内存管理的角度谈谈静态方法和静态属性 我直接用静态方法得了。

‘柒’ JAVA程序保存在哪儿

如果是蓝牙传的话,手机与电脑蓝牙适配器配对成功,那你可以直接将jar 格式的文件传到手机的"其他"文件夹里面,然后用w700得文件浏览功能选中该jar文件就会直接出现安装选项。

如果是用读卡器将文件存起来的话,那可以存在其他文件夹,然后用w700得文件浏览功能选中该jar文件就会直接出现安装选项。

‘捌’ java的方法中new的对象存储在内存中那个区域

这个对象存在堆中,还是栈中?
答:堆,new一个对象,一定是在堆中
方法内部new出来的对象,在哪里存着?
答:堆,new出来对象的实例变量都存在堆上面。

栈,这个东西,需要理解为:线程运行时,才会创建,执行完,就没了。
Person p = new Person();
上面这段代码,在执行时,p压入栈,通过局部变量表,找到对应的【实例数据】,执行完毕后释放。

‘玖’ java中的方法代码存在了哪里

类的实例方法在内存中是只有一份,不过肯定不会是第一个对象中,如果是第一个对象的话,那么当第一个对象被销毁的时候,那么后面的对象就永远无法调用了...
类的实例方法存在一个专门的区叫方法区,事实上类刚装载的时候就被装载好了,不过它们在"睡眠",只是这些方法必须当有对象产生的时候才会"苏醒".(比如,一个输出类的成员变量的方法,如果连对象都没有,何来的输出成员变量).所以,方法在装载的时候就有了,但是不可用,因为它没有指象任何一个对象。

而静态的又不一样了,静态的东西存在静态区,他们和类是一个等级的,就是说只要类被装载,它们就可以直接用.(用类名来调用).他们不依赖与任何对象,所以也不能输出任何对象的成员属性.(除非成员属性也是静态的).

而你最后的一句话也是错的,"类的所有数据在内存中只有静态的才又空间".
当然不是,每个对象在new的时候都会在堆区中开辟内存,用来保存对象的属性和方法.(实际上方法保存的只是方法区的引用,如果保存的是方法本身,那么试想一下,有多少个对象就得有多少个方法,那么又和第一点中"实例方法在内存中只有一份拷贝"相矛盾了)

好了,事实上内存图很复杂和麻烦,算比较深的东西了,很多用JAVA多年的人也不太了解其原理,因为开发也不要用..

更多的问题可以去远标培训去问技术老师。

‘拾’ java在运行的时候,形参保存在什么地方

当类被加载之后,类的相关信息保存在内存的方法区,同时类内的方法定义也被加载到方法区。
当调用某个方法的时候,虚拟机会为方法在栈内存中分配一个对应的空间,就是栈帧,栈帧中
存放了该方法的参数。当这个方法调用完毕后,对应的栈帧将被收回。

阅读全文

与java方法存储在哪里相关的资料

热点内容
大便血红蛋白定量检测方法 浏览:701
太极门的制作方法大全视频 浏览:349
罗瓦施工方法和步骤 浏览:532
重复测量是什么方法 浏览:939
白醋燃气灶的正确使用方法 浏览:586
调理脾胃最佳的方法图 浏览:298
华为手机卡顿解决方法老款 浏览:13
家里有异味简单方法怎么处理 浏览:537
电脑板接地测量方法 浏览:6
测量三相电机好坏的方法 浏览:346
网上买的树脂假山安装方法 浏览:405
检测DMF方法 浏览:621
简单的音标发音方法 浏览:249
政府解决外部性时采取哪些方法 浏览:785
男士皮带打结方法图解步骤 浏览:253
鉴别植物最好方法 浏览:223
开办零售药店的难题及解决方法 浏览:203
研究问卷的方法有哪些 浏览:444
如何将数学概念具体化的方式方法 浏览:926
图像修饰都有哪些方法 浏览:148