finalize关键字小结】的更多相关文章

1.先看一下Object类中的finalize方法:可见里面什么也没有,说明让我们自己重写 * @throws Throwable the {@code Exception} raised by this method * @see java.lang.ref.WeakReference * @see java.lang.ref.PhantomReference * @jls 12.6 Finalization of Class Instances */ protected void final…
14.3 What is the difference between final, finally, and finalize? 这道题考察我们Java中的三个看起来很相似的关键字final,finally和finalize. 别看它们三长的很像,但是完全不是一回事.final用在一个变量,方法或是类之前表示是否可变化.而finally是用在try/catch模块中来却表一段代码总是被执行了.finalize方法是被垃圾管理器调用当没有引用存在了.下面来更进一步区分它们: final 作用于主…
public class Test { public static void main(String[] args){ } } /* 12.3 Java内存模型 Java内存模型定义了线程与主内存之间的抽象关系: 1.共享变量存储于主内存之中,每个线程都可以访问 2.每个线程都有私有的工作内存 3.工作内存只存储该线程对共享变量的副本 4.线程不能直接操作主内存,只有先操作了工作内存之后才能写入主内存 5.工作内存是一种抽象的概念,涵盖了缓存.寄存器.编译优化以及硬件 */ /* 13.1 并发…
1. synchronized同步方法 1) synchronized修饰方法,表示方法是同步的,当某线程进入并拿到当前整个对象的锁时 a. 其他synchronized方法排队等锁 b. 非synchronized方法可异步执行 示例代码(折叠) package com.khlin.thread; public class SynchronizedTest { public static void main(String[] args) { Service service = new Serv…
java中实现序列化有两种实现方式,一种是自动的,只要实现Serilizable接口,另一种是需要手动指定需要序列化的成员变量,实现Externalizable接口. transient的特点: 1.transient只能修饰成员变量,不能修饰局部变量.方法和类. 2.用户自定义的类变量,需要实现Serilizable接口才能被transient修饰. 3.被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化. 4.一旦变量被trans…
基础部分总是看起来简单,若要明白原理和使用场景,需要慢慢的体会. 本文对常用的关键字如final,transient,volatile,static以及foreach循环的原理重新梳理了一遍. 一.final的作用?1.final class当一个类被定义成final class,表示该类的不能被其他类继承,即不能用在extends之后.否则在编译期间就会得到错误.final方法可以保证其执行的确定性,从而确保了方法调用的稳定性.在一些框架设计中就会经常见到抽象类的一些已实现方法的方法被限制成f…
Java 提供了一种稍弱的同步机制,即 volatile 变量,用来确保将变量的更新操作通知到其他线程.可以将 volatile 看做一个轻量级的锁,但是又与锁有些不同: 1. 对于多线程,不是一种互斥关系 2. 不能保证变量状态的"原子性操作" 在没有用volatile关键字修饰的demo /** * Volatile 关键字:当多线程操作共享数据时,可以保证内存数据的可见性, * 相较于synchronized来说是一种比较轻量级的同步策略. * 注意: * 1. Volatile…
1.父类 public class Person { private String name = "李四"; private int age; public Person() { System.out.println("Person的构造方法执行了!"); System.out.println(this.getClass().hashCode()); } public Person(String name, int age) { this.name = name;…
C++const简单整理,本文的首次是在博客园发布的,如有错误,欢迎大家指正 博客园链接:http://www.cnblogs.com/Forever-Kenlen-Ja/p/3776991.html C++const 关键字小结 const 是constant的缩写,本意是不变的,不易改变的意思. const 在C++中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数. 一.const修饰普通类型的变量. 如下: 1 const int a = 7; 2 3 int b = a;…
C++const 关键字小结 const 是constant的缩写,本意是不变的,不易改变的意思. const 在C++中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数. 一.const修饰普通类型的变量. 如下: ; int b = a; //it's right a = ; // it's wrong, a被定义为一个常量,并且可以将a赋值给b,但是不能给a再次赋值.对一个常量赋值是违法的事情,因为a被编译器认为是一个常量,其值不允许修改. 接着看如下的操作: #includ…