原 java高级

一.如何确定某个对象是“垃圾”?

        在java中是通过引用来和对象进行关联的,也就是说如果要操作对象,必须通过引用来进行。那么很显然一个简单的办法就是通过引用计数来判断一个对象是否可以被回收。不失一般性,如果一个对象没有任何引用与之关联,则说明该对象基本不太可能在其他地方被使用到,那么这个对象就成为可被回收的对象了。这种方式成为引用计数法。

常用垃圾收集器     1) 标记-清除收集器 Mark-Sweep     2) 复制收集器        Copying       3) 标记-压缩收集器 Mark-Compact     4) 分代收集器   Generational (现在常用的年轻代,老年代....)

二、集合

ArrayList、Vector是线性表             ArrayList是非同步的,Vector是同步的。不用考虑多线程时应使用ArrayList来提升效率。

 LinkedList是链表,略懂数据结构就知道其实现原理了。链表随机位置插入、删除数据时比线性表快,遍历比线性表慢。     

Map(存储键值对,key唯一)HashMap结构的实现原理是将put进来的key-value封装成一个Entry对象存储到一个Entry数组中,位置(数组下标)由key的哈希值与数组长度计算而来。 Set 具有与 Collection 完全一样的接口,只是行为上不同,Set 不保存重复的元素。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏每日一篇技术文章

Swift3.0 - 字典

462
来自专栏Java帮帮-微信公众号-技术文章全总结

深入理解java虚拟机笔记(二)-垃圾回收

1. 前言 作为一种高级语言,比起c和c++来,很进步的一点就是垃圾回收机制。这省去来了我们很多的工作,不过,我们仍然需要了解垃圾回收,这对我们的成长很有帮助。...

3447
来自专栏Java爬坑系列

【Java入门提高篇】Day33 Java容器类详解(十五)PriorityQueue详解

 今天要介绍的是基础容器类(为了与并发容器类区分开来而命名的名字)中的另一个成员——PriorityQueue,它的大名叫做优先级队列,想必即使没有用过也该有所...

881
来自专栏一个会写诗的程序员的博客

《Kotlin极简教程》第五章 Kotlin面向对象编程(OOP)一个OOP版本的HelloWorld构造函数传参Data Class定义接口&实现之写pojo bean定一个Rectangle对象封

We frequently create a class to do nothing but hold data. In such a class some s...

1154
来自专栏黑白安全

C++里大写TRUE和小写true区别

DWORD类型表示“双字”,也就是四字节大小的整型值,在windef.h中,DWORD的定义如下:

642
来自专栏鸿的学习笔记

python源码阅读笔记之GC

511
来自专栏java达人

数字的陷阱

Java中对数字的处理,如四舍五入,如加减乘除,貌似是一个很基础很简单的知识点,但是如果你没有对他进行充分了解,很容易掉进它的陷阱里。 1、浮点数运算 先来看一...

1808
来自专栏calmound

Is It A Tree?(并查集)

判断树是否唯一 1.只有一个根节点,(1)在一棵树上一个根节点。1 2 3 2就是两个根节点(1)只有一棵树 2.不成环,入度不大于1 由于数组运行超界导致wa...

3206
来自专栏java工会

Java HashMap 简介与工作原理

20410
来自专栏菩提树下的杨过

java:POI导出excel

POI是一个开源项目,专用于java平台上操作MS OFFICE,企业应用开发中可用它方便导出Excel. 下面是使用示例: 1、maven中先添加依赖项 1 ...

2255

扫码关注云+社区