`

我做了个简单的性能测试,发现从bean工厂里单例执行方法效率比new对象执行慢很多

 
阅读更多

同时还发现调用static方法的性能并没比new Object的性能好——不解ing

测试场景:

Punit 100个线程,测试调用的方法无方法体。

 

环境是

Jdk1.6

spring2.X

 

代码都在附件里——大家发表下意见啊

分享到:
评论
1 楼 zhanghongliang_cyj 2013-01-08  
闲的无事,看了楼主很多文章,感觉不错。对于静态方法与new Object也测试了,例子果真如楼主说的样子。
静态方法对于jvm来说不用再次加载的,new Object需要jvm重新加载class文件,楼主的例子TestMethodInvoke2过于简单,class文件很小,而且构造中没有初始化信息,执行100次对于jvm来说太少了,你可以尝试1000,10000,100000,就有区别了。再尝试吧类文件搞大、加构造方法,执行初始化参数就更有区别了。

相关推荐

    单例模式的七种写法

    这种模式在很多场景下都非常有用,比如控制数据库连接、管理缓存或者全局配置等。下面我们将详细探讨单例模式的七种常见实现方式。 1. **懒汉式(线程不安全)**: 这是最直观的实现方式,它延迟初始化单例,只有当...

    单例模式

    单例模式是软件设计模式中的一种,它的主要目的是确保一个类只有一个实例,并提供一个全局访问点。这种模式在很多场景下都非常有用,比如控制共享资源的访问,或者创建昂贵的对象时减少内存开销。在Java、C#、Python...

    讲解JAVA设计模式中的单例模式

    单例模式是软件设计模式中的一种经典模式,它在Java编程中被广泛使用,尤其是在需要控制实例化过程,确保一个类只有一个实例时。这个模式的主要目的是限制类的实例化次数,提供全局唯一的访问点,同时可能对性能和...

    超级有影响力霸气的Java面试题大全文档

    当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 20、abstract class和interface有什么区别? ...

    自己实现IOC容器

    这可以通过在Bean工厂中增加一个方法,遍历所有Bean,查找并注入它们的依赖。 ```java public void injectDependencies() { for (String beanId : beanRegistry.keySet()) { Object bean = getBean(beanId); // ...

    java 面试题 总结

    当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 17、abstract class和interface有什么区别? 声明方法...

    Spring ioc源码解读

    简单来说,IoC容器就是一个工厂,它可以创建、配置并管理Bean对象。 - **BeanFactory**:这是Spring提供的最基础的IoC容器接口,定义了一些用于获取Bean实例的基础方法。如`getBean`用于获取指定名称的Bean实例;`...

    Java框架面试题总结

    Spring通过AOP自动为Bean生成代理对象,代理对象在调用目标方法时会触发通知的执行。 **10. Spring事务特点** - 支持声明式事务管理。 - 支持编程式事务管理。 - 提供了多种隔离级别和传播行为。 **11. 谈谈...

    java面试准备要点记录

    - 通常情况下,读操作不修改数据,因此允许多个读线程同时进行可以提高效率。 - **悲观锁与乐观锁**: - `synchronized`属于悲观锁的一种,即假设会发生并发冲突,因此采取先锁定再操作的策略。 - 乐观锁通常...

    spring学习笔记(有代码有注解解释)

    也可以使用注解的方式进行配置,这种方式更为简洁,但XML配置仍然在很多项目中广泛使用。 - **IoC底层原理**: - **构造器注入**:可以通过构造器参数的方式完成依赖注入。 - **setter方法注入**:利用setter方法...

    Spring的经典面试题

    - **区分方法**:通过`@Primary`注解或者`@Qualifier`注解来区分同类型的多个Bean,确保正确的Bean被注入。 ### Spring注解详解 #### 15. `@Required`注解 - **用途**:标记一个或多个setter方法,表明这些方法...

    SpringFramework常见知识点.md

    1. **工厂模式**:`BeanFactory` 就是简单工厂模式的实现,用来创建和获取 Bean。 2. **单例模式**:Spring 容器中的 Bean 默认是单例的。 3. **代理模式**:AOP 使用的是代理模式。 4. **模板方法模式**:`...

    java面试题

    当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步。在很多情况下采用异步往往更有效率。 数据库三大范式? 答:1:确保每列都是不可分割的原子值 2...

    【设计模式】(四)–创建型模式–单例模式

    单例模式是一种设计模式,它的主要目标是确保一个类在整个应用程序中只有一个实例,并提供一个全局访问点。这种模式常用于管理共享资源,如数据库连接、配置信息或日志对象等。 单例模式有两种常见的实现方式:饿汉...

    JDK中的设计模式应用实例

    JDK中利用抽象工厂模式的例子很多,这有助于构建一致的API,并允许开发者在不修改代码的情况下更改底层实现。 - **`java.util.Calendar#getInstance()`**:此方法返回一个默认的`Calendar`实例,可以根据特定的时区...

    普天笔试题1.doc

    【普天笔试题1.doc】是中国普天信息技术研究院的一份笔试题目,主要涵盖了Java基础知识、软件测试、操作系统、数据库和设计模式等多个IT领域的知识点。以下是这些知识点的详细说明: **一、填空题** 1. 5G的标准...

    java高级工程师面试题

    1. **技术点**:根据个人经验和技术背景,可能的答案有很多,如微服务架构、分布式系统设计、高性能系统优化等。 ### 最具挑战的项目 1. **挑战点**:具体取决于个人经历,如处理高并发请求、大数据处理、安全性...

    史上最全阿里巴巴 JAVA 面试题总览(书签完整版)

    Java中的Map接口的实现类有很多,包括HashMap、TreeMap、LinkedHashMap、ConcurrentHashMap等。HashMap是基于哈希表的Map接口实现,非线程安全。ConcurrentHashMap在Java 8中放弃了分段锁,改为采用CAS + ...

Global site tag (gtag.js) - Google Analytics