- 浏览: 48449 次
- 性别:
- 来自: 北京
文章分类
最新评论
1.填充容器
List<String> list = new ArrayList<String>(Collections.nCopies(4,new String("Hello")));
填充了四个的指向同一对象的引用。
Collections.fill(list,new String("Hello"));
fill的功能更为有限,只能替换List中存在的元素,不能添加新的元素。
2.HashSet 以某种神秘的顺序保存元素,TreeSet则保持有序降序,LinkedHashSet既保持速度,维护了插入的次序。
SortedSet保证处于排序状态,且具有返回第一个,最后一个,及其子集的功能。
3.Map
目前TreeMap是sortedMap的唯一实现,基于红黑树。
LinkedHashMap遍历时取得的是插入顺序,或者是最近最少使用次序。比HashMap慢一点,因为要维护链表内部次序。
4.为了速度而散列
线性查询是最慢的查询。
散列的价值在于速度,瓶颈在于键的查询速度,唯一的解决方案是保持键的排序状态,然后用二分查找键。
将键存在哪才能很快的找到,数组最快,但是数组不能调整容量,所以数组不保存键本身,保存键对象生成的数字-散列码
作为数组的下标。由于数组固定,任何键总能在数组找到自己的位置,所以有可能产生冲突。冲突由外部链接处理,数组并
不直接保存值,而是保存值的list,对list中值使用equal()线性查询,这部分较慢,如果散列函数好的话,数组每个位置
只有少量的值,可以迅速的找出来。这是HashMap快的原因。
5.hashCode()
String [] hellos = "Hello Hello".split(" ");
hellos[0].hashCode()和hellos[1].hashCode()相等;
散列码不必是独一无二,好的散列码应该分布均匀。
6. 持有引用
如果一个大的对象放在内存中,普通引用的话,只要引用在,这块内存一直不被释放,而这种引用,当内存紧张时可以释放内存
,需要时如果大对象被清除,返回null,这个时候加入其它逻辑,在读入大对象。
软应用(SoftReference)
如果一个对象被软引用,那么它占得内存可有可无。如果内存不足时才回收。可用来实现内存敏感的高速缓存。
弱引用(WeakReference)
和软引用区别是:一旦被发现,无论内存是否足够,够将被回收。不过,垃圾回收器是一个优先级很低的线程,不一定会很快发现
弱引用。
软应用和弱引用都可以和一个引用队列(ReferenceQueue)联合使用,如果被gc,jvm就会把这两引用加到与之关联的引用队列中。
虚引用(PhantomReference)
形同虚设,任何时候都可以被gc,必须和引用队列(ReferenceQueue)联合使用,区别是在gc前加入引用队列。
发表评论
-
对代理模式与Java动态代理类的理解(二转)
2010-09-13 15:18 28431. 代理模式 代理模式的作用是:为其他对象提供一种代理以控制 ... -
20.注解
2010-05-04 22:02 9121.注解 三种内置标准 @Override 确保覆盖超类方 ... -
19.枚举类型
2010-05-04 22:00 7771.静态导入enum public enum Spicine ... -
18.java IO 系统
2010-05-04 21:56 6221.File类 File既可以代表一个文件,又可以是一组 ... -
16.数组
2010-05-04 21:51 6051.数组和其他容器的区别效率,类型和保存基本类型的能力。效率是 ... -
15.泛型
2010-05-04 21:50 6881.类型参数 public class Ho ... -
14.类型信息
2010-05-04 21:48 6391.rtti Runtime Type Information ... -
13.字符串
2010-05-04 21:43 6951.String对象不可变string一旦创建则不可改变,任何 ... -
12.通过异常处理错误
2010-05-04 21:38 7481.异常参数所有标准异常类都有两个构造器:一个是默认的,另一个 ... -
10.内部类
2010-05-04 21:08 6731.内部类定义将一个类的定义放在另一个类的定义内部,内部类了解 ... -
16.数组
2010-01-03 23:15 6681.数组和其他容器的区 ... -
5.初始化和清理
2010-01-03 23:14 694这章重点讲了构造器 1. ... -
4.控制执行流程
2010-01-03 23:10 5601.foreach 2.goto 不提倡 3.switch ... -
3.操作符
2010-01-03 23:09 825这章很基础,算术,逻辑,关系操作符,我们都很熟悉。其中需要注意 ... -
2.一切都是对象
2010-01-03 23:07 6381.对象存在什么地方。a.寄存器c和c++允许操作,java不 ... -
9.接口-java笔记
2009-12-21 00:26 6601.抽象类 抽象是普通类 ... -
8.多态--java笔记
2009-12-16 18:01 6421.绑定 定义:将一个方法调用同一个方法主体关联起来称作绑定。 ... -
11.持有对象--java笔记
2009-11-16 00:35 1150又看了java思想的第四版得第11章,记一下关键点留个纪念,呵 ... -
7.复用类
2009-11-04 00:07 620复用包括组合和继承,及中庸之道代理。 1.继承 初 ... -
6.访问权限控制
2009-10-14 01:06 664这一章的有以下这么几点: 1.package:包,名字空间, ...
相关推荐
NULL 博文链接:https://jackyin5918.iteye.com/blog/2021121
本文深入地研究了std::deque 容器。本文将讨论在一些情况下使用deque> 比vector更好。读完这篇文章后读者应该能够理解在容量增长的过程中deque 与vector在内存分配和性能的不同表现。由于deque> 和vector的用法很...
Introduction to STL.doc STL vector 容器介绍.doc Visual+C调试功能.doc 三十分钟掌握STL.doc 深入研究 STL Deque 容器.doc 深入研究 STL Deque 容器.pdf
9.3.1 深入分析WPF中的URI 214 9.3.2 导航历史 215 9.3.3 维护自定义的属性 216 9.4 导航服务 217 9.4.1 通过编程进行导航 217 9.4.2 导航事件 218 9.4.3 管理日志 219 9.4.4 向日志添加自定义项 221 9.4.5 页函数 ...
标准c++模板库实现源代码,对模板的极致使用,绝对值得深入研究!从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是...
031504_【第15章:Java反射机制】_Java反射机制的深入研究笔记.pdf 031505_【第15章:Java反射机制】_动态代理笔记.pdf 031506_【第15章:Java反射机制】_工厂设计模式笔记.pdf 031601_【第16章:Annotation】_系统...
本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、JavaI/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了...
深入研究 挖掘一个 深入研究 命名空间和cgroup的 安装 只需下载Linux二进制文件: curl -s -L https://github.com/mhausenblas/cinf/releases/latest/download/cinf_linux_amd64.tar.gz \ -o cinf.tar.gz && \ ...
这些知识让我对大数据存储的技术有了更深入的理解,并且能够灵活应用于实际项目中。 课程还介绍了容器技术在构建高可用解决方案中的应用。我学习了Docker和Kubernetes等容器化技术,并了解了它们如何帮助我们快速...
本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、Java I/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了...
当前版本:V2.2.0介绍该存储库从React Automation Studio存储库提取src,并充当React Automation Studio的独立样板示例项目,而无需深入研究的源代码主存储库。 该系统已使用Docker进行了容器化,并使用Git作为...
C#IoC扩展库,在Agoda上用于基于属性将类注册到IoC容器中。 Agoda IoC Extensions C#IoC扩展库,在Agoda上用于基于属性将类注册...另外,要查看普通的类并知道它是作为单例运行还是瞬态运行,您需要深入研究这些配置
17#容器深入研究 18#Java I/O系统 20#注解 21#并发 学习计划 《Think In Java》共计22章,达800多页,重点难点章节集中在后半部分,计划学习时间为2016/7/7-2016/7/14,部分章节有过学习经历,结合情况采取前半部分...
或者(或用于开发工作)克隆存储库并使用make build , make docker将构建仅包含二进制文件的本地scratch容器。 另外,您可以使用go build手动编译diver 。 文献资料 所有文档都已从存储库自述文件迁移到/docs...
随着云计算步入第二个发展 10 年, ...容器、微服务、DevOps 等 技术在不断推动着云计算的变革。云计算的应用已经深入到政府、 金融、工业、交通、物流、医疗健康等传统行业。云计算安全问题 和风险管理形势日益严峻。
本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、JavaI/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了...
我们将深入研究Spring的核心组件,如IoC容器、AOP模块、数据访问层、Web模块等,揭示其在应用开发中的关键作用。 二、个人心得体会 2.1 初识Spring的感受 分享我初次接触Spring的经历,包括遇到的挑战和对框架的第...
第Ⅱ部分 进一步研究WPF 第6章 控件 129 6.1 控件类 129 6.1.1 背景画刷和前景画刷 130 6.1.2 字体 132 6.1.3 鼠标光标 136 6.2 内容控件 137 6.2.1 Content属性 138 6.2.2 对齐内容 140 6.2.3 WPF内容原则 141 ...
第Ⅱ部分 进一步研究WPF 第6章 控件 129 6.1 控件类 129 6.1.1 背景画刷和前景画刷 130 6.1.2 字体 132 6.1.3 鼠标光标 136 6.2 内容控件 137 6.2.1 Content属性 138 6.2.2 对齐内容 140 6.2.3 WPF内容原则 141 ...
9.3.1 深入分析WPF中的URI 214 9.3.2 导航历史 215 9.3.3 维护自定义的属性 216 9.4 导航服务 217 9.4.1 通过编程进行导航 217 9.4.2 导航事件 218 9.4.3 管理日志 219 9.4.4 向日志添加自定义项 221 9.4.5 ...