- 浏览: 110589 次
- 性别:
- 来自: 上海
文章分类
最新评论
1 Vector与ArrayList(HashTable/HashMap)
Vector防止多线程运行,是线程安全的,效率低,安全性高。
ArrayList在多线程环境下运行,是非线程安全的,效率高,安全性低。
以下方法可以将ArrayList类标识为线程安全的对象:
List list=Collections.synchronizedList(new ArrayList());
2 ArrayList
对于很大的数组,并且你预料到这个数组将会变得异常庞大,这里给出一个方法优化性能:
底层实现方法不同:ArrayList通过内部数组结构Object[]实现。
LinkedList类似数据结构中的链表对象,通过一系列的内部记录连接在一起来实现的。
将一个元素插入到集合中的某个位置时,使用LinkedList比ArrayList快很多,原因是ArrayList插入后其后面所有元素后移一位,而LinkedList只需要添加一个指向头部的引用即可。
在集合中按下标查找元素时,使用ArrayList比LinkedList快很多。
4 String与StringBuffer
使用append()方法代替"+"运算
5 字符串的length()方法
6 charAt()与toCharArray()
通过charAt()定位字符串时每次都要引起新的检索过程,更好的办法是转化为字符数给,通过数组索引定位。
7 简单字符串格式化时,"+"运算优于String.formart()很多。
Vector防止多线程运行,是线程安全的,效率低,安全性高。
ArrayList在多线程环境下运行,是非线程安全的,效率高,安全性低。
以下方法可以将ArrayList类标识为线程安全的对象:
List list=Collections.synchronizedList(new ArrayList());
2 ArrayList
对于很大的数组,并且你预料到这个数组将会变得异常庞大,这里给出一个方法优化性能:
final int N=1000000;
ArrayList list=new ArrayList();
//调用ensureCapacity()方法初始化大小
list.ensureCapacity(N);
for(int i=0;i<N;i++){
list.add(obj);
}
3 ArrayList与LinkedList(同属List接口)ArrayList list=new ArrayList();
//调用ensureCapacity()方法初始化大小
list.ensureCapacity(N);
for(int i=0;i<N;i++){
list.add(obj);
}
底层实现方法不同:ArrayList通过内部数组结构Object[]实现。
LinkedList类似数据结构中的链表对象,通过一系列的内部记录连接在一起来实现的。
将一个元素插入到集合中的某个位置时,使用LinkedList比ArrayList快很多,原因是ArrayList插入后其后面所有元素后移一位,而LinkedList只需要添加一个指向头部的引用即可。
在集合中按下标查找元素时,使用ArrayList比LinkedList快很多。
4 String与StringBuffer
使用append()方法代替"+"运算
5 字符串的length()方法
6 charAt()与toCharArray()
通过charAt()定位字符串时每次都要引起新的检索过程,更好的办法是转化为字符数给,通过数组索引定位。
7 简单字符串格式化时,"+"运算优于String.formart()很多。
发表评论
-
正则基础
2009-11-03 10:15 563public class ReEX { /** * ... -
cookie
2009-11-03 10:25 599//servlet//生成cookie对名象java.uti ... -
junit
2009-11-03 17:44 634junit简介: * 创建test目录与src同级,同时建立 ... -
JAVA语言读取MAC地址(转)
2009-11-06 17:21 713import java.io.*; public cla ... -
网站首页静态化方案
2009-11-06 17:52 6541 Freemarker网站静态化的实现(转) 首页: ... -
Apache BeanUtils
2009-11-29 21:17 548BeanUtils.copyProperties 与 Pr ... -
IO流
2009-11-29 21:18 5701 输入/输出流 字节流 字符 ... -
Map-iterator
2009-11-29 21:20 695Set temp=new HashSet();Set e ... -
日期Format
2009-11-29 21:26 682日期格式化 Date currentTime = new Da ... -
判断是否属于此类型
2009-11-29 21:27 479event.getValue() instanceof Act ... -
日期处理
2009-11-29 21:28 531Calendar g=Calendar.getInsta ... -
生成jar包
2009-11-29 21:29 450生成jar包 jar -cvf test.jar *.* *. ... -
同步锁
2009-11-29 21:30 494public void synchronized getall ... -
序列化与反序列化
2009-11-29 21:31 583序列化是把一个对象的状态写入一个字节流的过程,它执行RMI,R ... -
java mail
2009-11-29 21:33 591JavaMail下载与安装 http://java.sun.c ... -
文件上传组件
2009-11-29 21:34 469文件上传组件 1 Apache的Commons FileUpl ... -
pager-taglib的安装和使用
2009-11-29 21:34 4471、拷贝pager-taglib.jar包 2、在JSP页面中 ... -
文件下载
2009-11-29 21:35 420文件下载代码(2008-02-26 2 ... -
字符串日期转换
2009-12-03 17:09 670java开发时往往需要做字符串和日期的转换 主要用到:java ... -
java反编译工具jad
2009-12-13 22:40 573http://www.kpdus.com/jad.html ...
相关推荐
Java优化编程(第2版)通过丰富、完整、富有代表性的实例,展示了如何提升Java应用性能,并且给出了优化前与优化后的Java应用程序的性能差别,以实际的实例与数字告诉你,为什么不可以这么做,应该怎么做,深入分析...
(2) 深度解析ThreadPoolExecutor类源码 (3) 从源码角度分析创建线程池究竟有哪些方式 2、基础案例篇 (1) 导致并发编程频繁出问题的“幕后黑手” (2)工作了3年的程序员小菜面试高并发岗位被吊打虐哭 (3)如何解决可见...
通过面试题的逐一解答,读者可以了解到Java语言的一些核心概念,如面向对象的特性、线程安全、性能优化、泛型、自动装箱与拆箱等。此外,文件还详细解释了类型擦除的概念及其优势,以及深浅克隆的区别和实现方式。...
总结优化Java编程的各种宝贵经验,深入阐述Java虚拟机执行Java程序的原理,从而使你更深入地理解Java语言的各种特性和语法规则。 本书贯穿了Sun公司的SCJP(Sun Certified Java Programmer)认证的考试要点,可作为...
Java和ODMG 3.0规范 基础 ODMG的核心概念 对象定义语言 小结 第11章 目录服务与JNDI 命名与目录服务 使用JNDI JAVA与LDAP 从理论到实践 标准的LDAP操作 LDAP服务器改进 在LDAP...
javax.management 提供 Java Management Extensions 的核心类。 javax.management.loading 提供实现高级动态加载的类。 javax.management.modelmbean 提供了 ModelMBean 类的定义。 javax.management.monitor ...
� Google 提供了一套 Java 核心包 (J2SE 5,J2SE 6) 的有限子集,尚不承诺遵守 Java 任何 Java 规范 , 可能会造 成J ava 阵营的进一步分裂。 � 现有应用完善度不太够,需要的开发工作量较大。--------------------...
Java并发编程 背景介绍 并发历史 必要性 进程 资源分配的最小单位 线程 CPU调度的最小单位 线程的优势 (1)如果设计正确,多线程程序可以通过提高处理器资源的利用率来提升系统吞吐率 ...
javax.management 提供 Java Management Extensions 的核心类。 javax.management.loading 提供实现高级动态加载的类。 javax.management.modelmbean 提供了 ModelMBean 类的定义。 javax.management.monitor 提供 ...
该资源涵盖了Java后端开发的核心知识和技术,包括但不限于以下内容: Java基础知识:介绍Java语言的基本语法、数据类型、流程控制等基础知识,为后续的高级内容打下坚实的基础。 Java面向对象编程:详细讲解面向...
因为实时编程需要时间可预测的标准库。 “简化的能力意味着消除不必要的,以便必要的可以说话。” - Hans Hofmann,Bootstrap 简介,1993 Javolution - Java 革命? Javolution 的实时目标很简单:使您的应用程序更...
并发编程解决的核心问题 分工(如何高效地拆解任务并分配给线程)Fork/Join 框架 同步(指的是线程之间如何协作)CountDownLatch 互斥(保证同一时刻只允许一个线程访问共享资源)可重入锁 如何学习 跳出来,看全景...
javax.management 提供 Java Management Extensions 的核心类。 javax.management.loading 提供实现高级动态加载的类。 javax.management.modelmbean 提供了 ModelMBean 类的定义。 javax.management.monitor ...
Java核心技术:I/O、多线程、网络编程、反射、泛型等 Java虚拟机:内存模型、垃圾收集器、类加载机制等 Java企业级开发:Spring、Hibernate、MyBatis等框架原理 数据库和缓存:SQL优化、索引、Redis、Memcached等 分布式...
│ │ 9.JAVA并发编程之多线程并发同步业务场景与解决方案.wmv │ │ │ ├─10.微服务架构之Spring Cloud Eureka 场景分析与实战 │ │ 10.微服务架构之Spring Cloud Eureka 场景分析与实战.wmv │ │ │ ├─11....
企业架构师必备技能(JAVA核心技术反射) JavaWeb之基础(手写实现Tomcat服务器) java多线程编程 纯手写实现SpringIOC实现过程 JEE企业级开发(企业级项目开发权威指南) 网络爬虫之JAVA正则表达式 手写springMVC框架 老...
Java集合框架(JCF): Java集合框架提供了一套性能优化的接口和类,用于存储和处理数据集合,如List、Set、Map等。 多线程和并发: Java支持多线程编程,允许同时执行多个任务。Java中的并发编程机制包括线程、同步、...
javax.management 提供 Java Management Extensions 的核心类。 javax.management.loading 提供实现高级动态加载的类。 javax.management.modelmbean 提供了 ModelMBean 类的定义。 javax.management.monitor ...
高级特性篇:涵盖Java中的高级特性,如集合框架、泛型、异常处理、多线程、网络编程等,帮助读者提升Java编程能力。 框架篇:介绍Java中常用的框架,如Spring、Hibernate、MyBatis等,使读者能够快速掌握框架的使用...