原 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 条评论
登录 后参与评论

相关文章

来自专栏小勇DW3

服务器端使用jstat定位GC问题的有关命令

 jstat    [-命令选项]    [vmid]     [间隔时间/毫秒]      [查询次数]

1333
来自专栏阿杜的世界

Java面试题—基础题目

在并发编程领域,有进程和线程两个概念,在Java语言中说起并发编程,常常是指多线程,但是了解进程的概念也非常重要:

542
来自专栏desperate633

资源竞速(Race Conditions)和临界区(Critical Sections)临界区临界区的资源竞速避免资源竞速临界区的吞吐量

critical section是每个线程中访问临界资源的那段代码,不论是硬件临界资源,还是软件临界资源,多个线程必须互斥地对它进行访问。 资源竞速就是可能在...

650
来自专栏JAVA高级架构

重读 JVM

1. Java 内存区域与内存溢出异常 1.1 运行时数据区域 根据《Java 虚拟机规范(Java SE 7 版)》规定,Java 虚拟机所管理的内存如下图...

4565
来自专栏微信公众号:Java团长

Java集合类型详解

这篇文章总结了所有的Java集合(Collection)。主要介绍各个集合的特性和用途,以及在不同的集合类型之间转换的方式。

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

Java基础-day04-代码题

Java基础-day04-代码题 1.键盘录入班级人数,并用随机数产生成绩 案例描述 第一题:分析以下需求,并用代码实现 1.键盘录入班级人数 2.根据录入的...

2845
来自专栏Linyb极客之路

JVM系列二:GC策略&内存申请、对象衰老

JVM里的GC(Garbage Collection)的算法有很多种,如标记清除收集器,压缩收集器,分代收集器等等 现在比较常用的是分代收集(g...

3385
来自专栏java闲聊

Jstat命令详解-1.8

https://blog.csdn.net/u011202334/article/details/51498108

1372
来自专栏java达人

Java垃圾回收机制

垃圾收集GC(Garbage Collection)是Java语言的核心技术之一,之前我们曾专门探讨过Java 7新增的垃圾回收器G1的新特性,但在JVM的内部...

1895
来自专栏技术博客

C#基础知识系列十(集合)

  本节主要是来了解学习集合,以方便在程序编写时,什么地方该选用什么集合,让程序更健壮的运行起来。在学习了解集合之前,首先需要了解一些数据结构方面的知识。下面我...

893

扫码关注云+社区