Java:了解静态方法的执行
发布时间:2020-12-15 04:15:37 所属栏目:Java 来源:网络整理
导读:在类A中有printA,在类B中有printB,有两种方法.printA是静态方法,printB是非静态方法.两种方法都是同步的.在printA和printB上分别发射了1亿个线程. 哪种方法执行需要的时间更少? 我对staticmethods的理解围绕着与对象创建相关的东西.你知道,如果不需要类obj
在类A中有printA,在类B中有printB,有两种方法.printA是静态方法,printB是非静态方法.两种方法都是同步的.在printA和printB上分别发射了1亿个线程.
哪种方法执行需要的时间更少? 我对staticmethods的理解围绕着与对象创建相关的东西.你知道,如果不需要类obj来调用静态方法.或者util方法可以是静态方法.或者静态方法是全局的,难以进行单元测试.在这种情况下,我猜静态方法的执行会更快,因为它将被创建一次,然后被其他所有线程重用. 解决方法
如果你有很多对象和多个处理器核心,你可能会发现printB更快. printA在类对象上同步,因此对它的所有调用都是一次一个地完成. printB在其对象上同步,因此多个printB调用可以并行运行.
您真的需要在程序的上下文中根据程序运行的典型硬件配置对方法进行基准测试. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |