繁体   English   中英

静态方法如何在Java中的多线程中并行或并行运行

[英]How static methods runs concurrently or parallely in multithread in java

我读过,静态方法存储在JVM的类区域中。 因此我们只有一个静态方法的副本。 谁能解释Java中静态方法如何针对多个请求(使用多线程)并行运行。

真的没有什么可以解释的。 静态方法(或者实际上是实例方法)是code 线程用于执行代码。 代码存储在哪里与线程无关。 您可以使用多个线程来执行相同的代码。

可以把它想像成一张纸上的食谱。 如果您将食谱放在可以看到两个人的软木板上,则两个人可以同时遵循食谱。 代码就是配方; 软木板是计算机内存中加载代码的部分; 人是线。

发表您的评论

为每个创建的对象复制非静态方法

不,不是。 没有任何理由,其中没有实例特定的信息。 每个对象分别存储实例数据 ,但不存储实例方法。

从本质上讲,涵盖了很多细节,实例方法只是一个静态方法,但是在调用实例方法之前,JVM this实例设置为引用要调用该方法的对象,因此您可以使用this (显式或隐式)与对象的实例数据进行交互。 this实际上只是该方法的不可见参数。 同样,这掩盖了许多细节,但这足以构成基本的理解。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM