感觉反射调用对整个Web过程来说可以忽略不计哦,虽然和直接调用相差还是蛮大的
我机器(945主板、Celeron D 3.06、1G内存、XP系统)的测试结果:
不添加干扰方法
:797
:109
添加了干扰方法后
:812
:120
大家可以做下测试,代码如下
package example;
import java.lang.reflect.Method;
public class Methoder {
public static void main(String[] args) throws Exception {
long start = System.currentTimeMillis();
for (int i = 0; i < 100000; ++i) {
p1();
}
System.out.println(":" + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
for (int i = 0; i < 100000; ++i) {
p2();
}
System.out.println(":" + (System.currentTimeMillis() - start));
}
public static void p1() throws Exception {
Test t = new Test();
Class c = t.getClass();
Method m = c.getMethod("sayHello", new Class[0]);
m.invoke(t, new Object[0]);
}
public static void p2() throws Exception {
Test t = new Test();
t.sayHello();
}
}
class Test {
public void sayHello() {
// System.out.println("Test:");
int l = 0;
for (int i = 0; i < 1000; ++i) {
l += i;
}
}
// 以下方法为干扰用,但是两种调用方法都时间延长了点
public void sayHello1() {
}
public void sayHello2() {
}
public void sayHello3() {
}
public void sayHello4() {
}
public void sayHello5() {
}
public void sayHello6() {
}
public void sayHello7() {
}
public void sayHello8() {
}
public void sayHello9() {
}
public void sayHello10() {
}
public void sayHello11() {
}
public void sayHello12() {
}
public void sayHello13() {
}
public void sayHello14() {
}
public void sayHello15() {
}
public void sayHello16() {
}
public void sayHello17() {
}
public void sayHello18() {
}
public void sayHello19() {
}
public void sayHello20() {
}
public void sayHello21() {
}
public void sayHello22() {
}
public void sayHello23() {
}
public void sayHello24() {
}
public void sayHello25() {
}
public void sayHello26() {
}
public void sayHello27() {
}
public void sayHello28() {
}
public void sayHello29() {
}
public void sayHello30() {
}
}
分享到:
- 2008-06-19 10:40
- 浏览 1211
- 评论(4)
- 论坛回复 / 浏览 (4 / 2286)
- 查看更多
相关推荐
### 在web.xml中配置action或.do的理解与实践 #### 一、引言 在Web开发领域,特别是基于Java的Web应用程序开发中,`web.xml`文件扮演着至关重要的角色。它不仅定义了Web应用的基本配置,还管理着诸如Servlet、过滤...
Web Performance in Action: Building Faster Web Pages by Jeremy Wagner English | 2017 | ISBN: 1617293776 | 376 pages | PDF The content of the web is maturing and increasing in complexity, but internet...
In Web Components in Action you'll learn to design, build, and deploy reusable Web Components from scratch. Foreword by Gray Norton. Purchase of the print book includes a free eBook in PDF, Kindle,...
以下是对`web.xml`中`ActionServlet`属性的详细解释: 1. **config**: 此属性定义了Struts配置文件的位置。默认值是`config/${prefix}/WEB-INF/strutsconfig.xml`,其中`${prefix}`是应用模块的前缀。这个文件包含...
### MVC通过反射获取...通过对MVC应用中的控制器和Action方法进行反射获取,我们可以轻松实现基于角色的权限管理,提高系统的安全性。此外,这种方法还具有很高的扩展性和灵活性,可以根据不同的业务需求进行调整。
通用web层action,完美解决shiro注解权限控制,读取子类泛型
Web Performance in Action Building Faster Web Pages 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Web Performance in Action Building Faster Web Pages 英文无水印pdf pdf使用FoxitReader和PDF-XChangeViewer测试可以打开
对Web应用请求进行深度分析,发现不管是页面请求还是ajax请求,只要在后端Controller的Action上设置权限检查关口即可进行精准权限管控。相应的设计思路应运而生。结合反射自动生成权限列表。借助授权过程检查,自动...
`Spring in action`会详述如何使用Spring IoC容器管理bean,以及如何利用Spring MVC开发Web应用,同时还会涉及Spring的安全、数据访问和集成其他技术如Hibernate的策略。 4. **Struts**:Struts是基于MVC设计模式的...
`Via.js`,正如标题所言,是一个创新性的库,它致力于实现在Web Worker中使用DOM。 `Via.js`的核心思想是将DOM操作的任务分解为可序列化的数据结构,然后在Web Worker中进行处理,最后将结果传递回主线程进行DOM...
总的来说,"action登陆实现,获取web元素"这一主题涵盖了Web开发中Action类的角色、依赖注入的使用以及如何处理用户输入和session状态,这些都是构建动态、交互性强的Web应用程序不可或缺的部分。
Amazon Web Services in Action introduces you to computing, storing, and networking in the AWS cloud. You'll start with a broad overview of AWS and learn how to spin-up servers manually and from the ...
根据提供的文件信息,“Amazon.Web.Services.in.Action.2015.9.pdf”主要涉及的是亚马逊网络服务(Amazon Web Services, AWS)的相关知识和技术。本书由Andreas Wittig和Michael Wittig编写,并获得了Ben Whaley的...
commonweb.action
Web Performance in Action is your companion guide to making websites faster. Throughout the course of this book, you'll learn techniques that speed the delivery of your site's assets to the user, ...
《WebWork in Action》是一本深入探讨WebWork框架在J2EE和Java Web开发中的实践应用的书籍。WebWork是一个轻量级、基于MVC(Model-View-Controller)架构的开源Java Web框架,它提供了丰富的特性来简化开发流程,...
1. 使用反射加载和实例化Action类。 2. 创建并实现Interceptor接口,利用反射实例化和执行拦截器链。 3. 设计并实现Dispatcher,用反射处理请求转发。 4. 解析配置文件,构建Action和拦截器的映射关系。 这样的实践...
使用反射后,我们可以创建一个字典,键是操作名,值是对应方法的委托: ```csharp Dictionary, Action> actions = new Dictionary, Action> { { "Add", AddAction }, { "Delete", DeleteAction }, // ... }; ...
这意味着你可以在一个流程中使用Struts、Spring MVC、Tapestry、JSP或其他技术。 SWF的工作原理基于状态机的概念,一个Web流程由一组状态(states)组成,每个状态代表流程中的一个节点,如显示一个视图或执行一个...