Java组件介绍
2019-08-26 06:12:13来源:博客园 阅读 ()
Java组件介绍
1.String
string对象的不变性、被final关键字修饰。
使用charat方法替代startwith/endwith方法(提高性能)
使用buffer(方法同步,性能较差)和builder(同步,性能较好)来替换string
equals(不可以比较基本数据类型,重写方法是为了比较对象的值是否相同,否则则比较对象的引用地址)
==(基本类型比较值,引用类型比较地址)
equals方法为true的两个对象一定相等,hashcode方法相同的两个对象不一定相同
2.list
* 1.ArrayList(数组实现、线程不同步.初始大小为10,每次扩容为1.5倍)
* 2.Linkedlist(循环双向链表:header+link1+link2+header)
* 3.vector(数组实现、线程同步)
3.map
* 1.hashtable (线程同步、不允许key或value使用null值)
* 2.hashmap (线程不同步、数组实现、初始大小16、负载因子0.75、数据存放无序)
* 3.linkedhashmap(数据存放有序)
* 4.treemap(实现sortedMap接口对元素进行排序、基于红黑树实现)
4.set(元素不重复、基于对map的封装)
* 1.hashset
* 2.linkedHashSet
* 3.TreeSet
集合优化
* 1.for循环中重复的代码可以提取到外部。例如list.size()
* 2.省略相同操作
* 3.调用元素避免调用方法
RandomAccess接口:实现该接口的对象即支持快速随机访问的对象
* (基于数组的list实现该接口,可直接使用get方法获取元素、性能较好
* 基于链表的未实现,需通过迭代器进行元素迭代、性能较差)
5. Java NIO:(写操作类似于向水瓶中蓄水,读操作类似于从水瓶中取水。渠道等同于吸管的作用)
*1.打开渠道,获取buffer
* 2.读取文件,获取channel
* 3.给buffer分配大小
* 4.channel数据读取到buffer
* 5.关闭channel
*scatter(分散)/gather(聚集)— 一个channel对应多个gather:传输数据分散处理。以数组形式存储
* selecter:一个线程管理多个channel
tips:
* 1.try/catch移到循环体之外
* 2.位运算替代乘除法
* 3.提取重复表达式
* 4.对于重量级对象,使用clone()替代new
* 5.使用静态方法替代实例方法
Java 引用
*引入引用的目的:人为控制对象生命周期、方便JVM进行回收
*强(所指对象不会被系统回收)》软(基于内存进行存活、网页、图片缓存)》弱(只要发现就回收)》虚(跟踪垃圾回收过程)
原文链接:https://www.cnblogs.com/bkyf/p/11387084.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Shiro权限注解原理
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash