- 浏览: 646432 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (213)
- JAVA (53)
- Tomcat (14)
- EXTJS专栏 (2)
- 数据库 (23)
- JavaScript (13)
- jQuery (11)
- 需求分析 (2)
- css (1)
- 手机 (1)
- php (7)
- 生活 (1)
- ssh (11)
- JFReeChart (2)
- Delphi (1)
- junit (0)
- liunx (10)
- 项目管理 (11)
- 文件下载 (1)
- Eclipse (2)
- jsp (2)
- 外挂、游戏 (1)
- 面试题 (8)
- 性能测试 (2)
- apache (1)
- MyBatis (1)
- Webservice (2)
- ant (1)
- IDEA (2)
- log4j (1)
- 小程序 (1)
最新评论
-
hll127:
请问service这个方法里为什么要while(true)啊? ...
jsp页面静态化例子 -
tarena1:
Spring 源码解读 推荐流程 -
konglx:
springaop_springmvc 写道可以参考最新的文档 ...
Web项目添加Maven支持步骤 -
springaop_springmvc:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
Web项目添加Maven支持步骤 -
9976:
很好,谢谢
Spring 源码解读 推荐流程
/*******************************************************************************
*
* 比较赋值与System.arraycopy谁快
*
* 复制的内容越多,System.arraycopy优势更明显
*
* Author: NeedJava
*
* Modified: 2007.09.16
*
******************************************************************************/
public final class WhoFaster
{
public static void main( String[] args )
{
/*/
int begin=100;
int length=12;
String temp="12345678901234567890"
+"12345678901234567890"
+"12345678901234567890"
+"12345678901234567890"
+"12345678901234567890"
+"黑客帝国忍者神龟变形金刚"
+"12345678901234567890"
+"12345678901234567890"
+"12345678901234567890"
+"12345678901234567890"
+"12345678901234567890";
int times=10000000; //千万
/*/
int begin=100;
int length=120;
String temp="12345678901234567890"
+"12345678901234567890"
+"12345678901234567890"
+"12345678901234567890"
+"12345678901234567890"
+"黑客帝国忍者神龟变形金刚"
+"黑客帝国忍者神龟变形金刚"
+"黑客帝国忍者神龟变形金刚"
+"黑客帝国忍者神龟变形金刚"
+"黑客帝国忍者神龟变形金刚"
+"黑客帝国忍者神龟变形金刚"
+"黑客帝国忍者神龟变形金刚"
+"黑客帝国忍者神龟变形金刚"
+"黑客帝国忍者神龟变形金刚"
+"黑客帝国忍者神龟变形金刚"
+"12345678901234567890"
+"12345678901234567890"
+"12345678901234567890"
+"12345678901234567890"
+"12345678901234567890";
int times=1000000; //百万
//*/
char[] oldArray=temp.toCharArray();
char[] newArray=null;
long start=0L;
////////////////////////////////////////////////////////////////////////////
//
// 单纯赋值
//
////////////////////////////////////////////////////////////////////////////
newArray=new char[length];
start=System.currentTimeMillis();
for( int i=0; i<times; i++ )
{
for( int j=0; j<length; j++ )
{
newArray[j]=oldArray[begin+j];
}
}
System.out.println( new String( newArray )+" "+( System.currentTimeMillis()-start ) );
////////////////////////////////////////////////////////////////////////////
//
// System.arraycopy
//
////////////////////////////////////////////////////////////////////////////
newArray=new char[length];
start=System.currentTimeMillis();
for( int i=0; i<times; i++ )
{
System.arraycopy( oldArray, begin, newArray, 0, length );
}
System.out.println( new String( newArray )+" "+( System.currentTimeMillis()-start ) );
}
}
评论
发表评论
-
tomcat7下对HTTPS的部署配置
2018-11-09 15:33 7491、申请CA证书,可以在腾讯云或者阿里云申请到免费的CA ... -
IDEA切换 svn 问题
2017-11-27 09:21 4910今天项目,本来以为就几分钟的事没想到,还出现报错了,错误日记 ... -
log4j cfx 接口请求、返回信息 日志文件分离
2017-06-28 15:04 2101log4j.rootLogger=info,stdout, ... -
junit 启动报错:java.lang.NoClassDefFoundError
2013-04-17 19:31 1603junit 启动报错:java.lang.NoClassDe ... -
Java中抽象类和接口的区别
2013-04-16 12:12 990小结 1.abstract class 在 Java ... -
web.xml中servlet, bean, filter, listenr 加载顺序汇总
2013-03-28 16:17 1512web.xml中servlet, bean, filter, ... -
深入Java虚拟机JVM类加载初始化学习笔记
2013-03-26 20:39 12071. Classloader的作用,概括来说就是将编译后的c ... -
http代理出错Proxy Error
2013-03-22 09:15 1609最近项目突然访问几下次报: Proxy Error ... -
通过javamelody监控web应用的性能指标
2013-03-04 12:00 17381、问题背景 为了提升应用的性能我们可能需要做很多分析和 ... -
javamelody监控
2013-03-04 11:50 1481. 将 javamelody-1.42.0.war 文件部署 ... -
myeclipse安装svn插件的肯定可行的方法
2012-12-18 21:26 9201、下载最新的SVN包:http://subclipse.ti ... -
WordTemplate 使用
2012-03-27 11:28 1195http://wiki.softartisans.com/di ... -
asyn4j 异步方法调用框架
2012-03-14 14:19 1923例子: 1.调用普通方法 主方法 ... -
asyn4j -- 异步方法调用框架
2012-03-14 14:15 01.3更新 优化代码 新增任务持久与恢复功能 ... -
JasperReport
2011-09-01 13:45 1242“在JRE 5以上的java环境中,java会自动加载$JAV ... -
解决Linux操作系统下AES解密失败的问题
2011-03-11 16:00 6995现象描述: windows上加解密正常,linu ... -
使用set+list进行过滤重复并排序
2011-02-28 11:30 1796有时要把有重复的数据用set去掉重复元素,但用set后又把元素 ... -
ssh 事务
2011-01-12 23:03 1149ssh在做事务提交时,不能直接用Sql语句进行insert i ... -
struts2与 json
2011-01-10 09:17 1199需要注意的是,如果用JSON插件把返回结果定为JSON。而JS ... -
struts2返回json数据问题
2011-01-06 20:58 1269最近同事反映struts2返回数据不了json数据,特意测试了 ...
相关推荐
例如,如果你需要复制一个整型数组,避免使用for循环,而是直接调用`System.arraycopy(array1, 0, array2, 0, array1.length)`,这样可以减少不必要的CPU和内存开销。 以上四个优化技巧都是Java开发中常见的性能...
在学习过程中,观看"第03章 方法与数组 03 数组的定义与四种赋值方式.mp4"视频将有助于你更直观地理解这些概念,通过实例演示和详细解释,你将能更好地掌握数组的操作技巧。同时,实践是检验理解的最好方式,尝试...
Java编程语言中,数组是一种非常基础且重要的...对于大数组或需要复制部分数组的情况,`System.arraycopy()` 和 `Arrays` 类的方法可能更为高效。理解这些复制方法的原理和差异是编写健壮、无副作用的Java代码的关键。
在Java中,可以使用`System.arraycopy()`方法来复制数组。 **1. 方法签名** ```java public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) ``` - **参数解释**: - `src...
以上介绍了几种常见的Java程序性能优化技巧,包括避免在循环条件中使用复杂表达式、合理设置集合类的初始大小、在`finally`块中关闭资源、使用`System.arraycopy()`代替循环复制数组以及将简单的getter/setter方法...
例如,在试卷B的第二题中,使用System.arraycopy()方法将字符数组copyFrom的元素复制到字符数组copyTo中,从索引2开始,复制7个元素。 三、对象oriented编程(OOP) * 对象oriented编程是一种编程范式,将程序划分...
在 openJDK8u60 的源码中,我们可以看到 System.arraycopy 方法的实现实际上是一个复杂的过程,包括检查数组的边界、偏移量和长度,然后使用 native 方法来复制数组元素。 在 System.arraycopy 方法的实现中,我们...
虽然它也是复制操作,但由于额外的数组创建和数据移动,其效率低于System.arraycopy()。 4. **使用clone()方法**: 如果数组是基本类型数组,clone()方法会直接返回一个副本。对于引用类型数组,如果数组的元素...
3. `System.arraycopy()`方法:第三题中,`System.arraycopy()`是Java的内置方法,用于将源数组的一部分复制到目标数组中。在这个例子中,从源数组`copyFrom`的第三个元素开始,复制7个元素到目标数组`copyTo`的起始...
System.arraycopy方法4. Arrays.copyOfRange方法 1. 直接赋值 在java中,我们可以将一个数组变量直接拷贝给另一个数组变量。但拷贝后,两个数组变量引用的是同一个数组。若改变其中一个数组中的内容,另一个数组也...
在上面的代码中,我们使用System.arraycopy方法将原数组中的元素复制到临时数组中,然后将临时数组赋值给原数组,从而实现了数组的扩容。 在MyArrayList中,我们还定义了一个get(int index)方法,用于根据索引获取...
Java提供了多种方法来复制数组,例如使用System.arraycopy()函数或者使用循环手动复制。`System.arraycopy()`示例: ```java int[] original = {1, 2, 3, 4, 5}; int[] copy = new int[original.length]; System....
对于大量数据的数组复制,`System.arraycopy()` 方法提供了显著的性能优势,因为它是由Java虚拟机底层实现的,效率远高于使用for循环逐个元素复制。在处理大数组时,优先考虑使用`System.arraycopy()`。 除了以上...
本文将深入探讨.NET 6中数组拷贝的性能对比,并将其与Java语言的相应操作进行比较。了解这些知识对于优化代码效率和提升应用程序性能至关重要。 首先,我们要知道在C#中,有几种不同的方法可以实现数组拷贝: 1. *...
System.arraycopy(myArray, 0, copyArray, 0, myArray.length); ``` 结合给定的文件名,我们可以推测这些Java源代码文件可能包含数组的基本操作示例,如数组的初始化、遍历、求和等。`Array_px_kr_cjb.java`可能是...
在onClick事件中,我们可以使用System.arraycopy()方法来实现数组之间的复制。我们将数组向前移动一位,并将时间赋值给最后一位。然后,我们可以比较时间,如果在规定的时间内,那么就生效,执行我们所要的操作。 ...
赋值操作(如`bb = aa`)只会让两个数组引用指向同一块内存,而`System.arraycopy()`方法则会真正复制数组的内容到另一块内存。 在处理大量数据时,Java集合框架中的`ArrayList`和`LinkedList`等集合类通常比数组更...
要复制一个数组,可以使用`System.arraycopy()`方法或`Arrays.copyOf()`方法。例如: ```java int[] original = {1, 2, 3}; int[] copy = new int[original.length]; System.arraycopy(original, 0, copy, 0, ...
例如,Java提供`System.arraycopy()`方法来复制数组的一部分到另一个数组,`Arrays.sort()`方法对数组进行排序,`Arrays.binarySearch()`进行二分查找等。这些功能都在`java.util.Arrays`类中。 此外,Java还支持...