java什么时候声明static方法
2022/2/9 20:24:15
本文主要是介绍java什么时候声明static方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.经常用到的方法,可以声明为static,这样省去了每次new对象的内存空间,因为非static方法,需要new对象才能调用此方法。但因此也产生多线程访问线程安全问题
比如:
import com.google.common.util.concurrent.ThreadFactoryBuilder; import lombok.extern.slf4j.Slf4j; import java.util.concurrent.*; /** * @version V1.0 * @ClassName: CompressUtil * @Description: 压缩单个文件 */ @Slf4j public class CompressUtil { public static final int CORE_POOL_SIZE = Runtime.getRuntime().availableProcessors() * 2; /** *初始化线程池 * @param threadName: thread name * @return */ public static ExecutorService initPoolExecutor(String threadName) { ThreadFactory guavaFactory = new ThreadFactoryBuilder().setNameFormat(threadName).build(); ThreadPoolExecutor pool = new ThreadPoolExecutor(CORE_POOL_SIZE, 256,30L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(Integer.MAX_VALUE), guavaFactory); pool.allowsCoreThreadTimeOut(); return pool; } }
只初始化一个线程池。
2.当一个方法或者变量需要在类加载器加载类的时候,就需要初始化时,声明为static。Static变量在项目启动时就分配内存,直到程序结束释放内存。static和const变量在项目启动时就已经分配内存了,而且方法调用之后也不会被释放。
3.声明为static方法后,内存中就只有一份数据了。所以就要注意线程安全问题,就需要加同步处理。线程就会等待访问了,就会有线程安全问题。
这篇关于java什么时候声明static方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-10百万架构师第十三课:源码分析:Spring 源码分析:Spring核心IOC容器及依赖注入原理|JavaGuide
- 2025-01-10便捷好用的电商API工具合集
- 2025-01-09必试!帮 J 人团队解决物流错发漏发的软件神器!
- 2025-01-09不容小觑!助力 J 人物流客服安抚情绪的软件!
- 2025-01-09为什么医疗团队协作离不开智能文档工具?
- 2025-01-09惊叹:J 人团队用啥软件让物流服务快又准?
- 2025-01-09如何利用数据分析工具优化项目资源分配?4种工具推荐
- 2025-01-09多学科协作难?这款文档工具可以帮你省心省力
- 2025-01-09团队中的技术项目经理TPM:工作内容与资源优化策略
- 2025-01-09JIT生产管理法:优化流程,提升竞争力的秘诀