JAVA的引用类型】的更多相关文章

引言: 即使对于Java的很多老鸟来说,如果忽然问他引用的类型,大概率是一脸茫然,不知所措的-.Java中的引用还分类型,神马情况??? 本文将针对这些类型进行分析,帮助您一文知所有类型. Java的类型 在Java中存在的类型有两大阵营: 基本数据类型和Java Class. 所谓的基本数据类型包括: byte, char, int, float, double, long, boolean. 数组是一个特殊的数据结构,其中可以使用基础数据类型,也可以是各种类. 除了基本数据类型之外,就是以J…
Java/Android中有四种引用类型,分别是: Strong reference     - 强引用Soft Reference        - 软引用Weak Reference      - 弱引用Phantom Reference - 虚引用 不同的引用类型有着不同的特性,同时也对应着不同的使用场景. 1.Strong reference - 强引用 实际编码中最常见的一种引用类型.常见形式如:A a = new A();等.强引用本身存储在栈内存中,其存储指向对内存中对象的地址.一…
使用引用类型的一般步骤: 1.导包:指定需要使用的目标在什么位置,在publicclass之前一行写代码 import 包名路径 2.创建:通常需要创建之才能使用,格式: 数据类型 变量名称 = new 数据类型() 3.使用: 变量名称.方法名(); 使用scanner: 1.导包:import java.util.scanner 2.创建:Scanner sc = new Scanner(system.in) 3.使用: int num = sc.nextInt(); String str…
前言 上一篇已经讲了,如何自己实现一个LRU算法.但是那种只是最基本的实现了LRU的剔除策略,并不能在生产中去使用.因为Guava Cache中使用的是SoftReference去做的value实现,所以有必要将Java的四种引用类型在复习一下. 备注:以下代码使用的JVM配置为: -Xmx128M -Xms64M -XX:+PrintGCDetails Java的四种引用 强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会回收它.如下…
一.强引用 JAVA默认的引用类型,强引用,是在我们的开发工作当中普遍存在的.如果一个对象具有强引用,当内存空间不足的时候,java虚拟机宁可抛出OOM异常,也不会回收它来释放内存.但是我们可以将对象显示的赋值为null,则gc认为该对象不存在引用,这时就可以回收这个对象.具体什么时候收集这要取决于gc的算法.如果方法的内部有一个强引用,这个引用保存在栈中,而真正的引用内容(Object)保存在堆中.当这个方法运行完成后就会退出方法栈,则引用内容的引用不存在,这个Object会被回收. priv…
一. jdk的内存:jdk的bin目录常见命令 1. javac.exe:编译java源代码的,生成java字节码文件(*.class) 2. java.exe:启动一个jvm,来运行指定class字节码文件 3. javap.exe:(javap -c  java type.class)反汇编Java字节码成Java源代码. 二. Jvm的内存 1. 栈内存:函数的{ }之间定义的变量均在JVM的stack栈内存中存储(在定义其变量的时候,开辟空间,当执行到函数右大括号时,栈内存回收) 注:简…
引用类型 在java中,除了基本数据类型之外的,就是引用数据类型了,引用指的是对象的一个引用,通过引用可以操作对象,控制对象,向对象发送消息. 简单来说,引用可以访问对象的属性,并调用对象的方法 创建对象 引用是有具体类型的,引用的类型决定了它可以指向什么类型的对象. 通常使用 new 关键字来创建对象 创建的对象存储到了什么地方呢? 寄存器:这是最快的存储区,因为它位于不同于其他存储区的地方---处理器内部.但是寄存器的数量极其有限,所以寄存器根据需求进行分配.你不能直接控制,也不能在程序中感…
栈与堆都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. Java的堆是一个运行时数据区,类的(对象从中分配空间.这些对象通过new.newarray.anewarray和 multianewarray等指令建立,它们不需要程序代码来显式的释放.堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据.但缺点是,由于要在运行时动态…
一.具体类名作为形参与返回值 1.方法的形参是类名,其实需要的是该类的对象 比如有一个具体的猫类,我使用另一个类使用猫类的方法 public class CatOperator {   public void useCat(Cat c){       c.eat();   }} 那么在调用的时候 public class CatDemo {   public static void main(String[] args) {       CatOperator c=new CatOperator…
WeakHashMap是种弱引用的HashMap,这是说,WeakHashMap里的key值如果没有外部强引用,在垃圾回收之后,WeakHashMap的对应内容也会被移除掉. 1.1 Java的引用类型 在讲解WeakHashMap之前,我们需要了解Java中引用的相关类: ReferenceQueue,引用队列,与某个引用类绑定,当引用死亡后,会进入这个队列. HardReference,强引用,任何以类似String str=new String()建立起来的引用,都是强引用.在str指向另…