Java
文章平均质量分 78
leunging
这个作者很懒,什么都没留下…
展开
-
Java内部类持有外部类的引用详细分析与解决方案
在Java中内部类的定义与使用一般为成员内部类与匿名内部类,他们的对象都会隐式持有外部类对象的引用,影响外部类对象的回收。解决方案为1.将内部类定义为static2.用static的变量引用匿名内部类的实例或将匿名内部类的实例化操作放到外部类的静态方法中原创 2016-11-08 11:55:45 · 19606 阅读 · 4 评论 -
java.nio.channels.FileChannel中lock()与tryLock()方法的区别(Android Studio代码环境)
FileChannel中的lock()与tryLock()方法都是尝试去获取在某一文件上的独有锁(以下简称独有锁),可以实现进程间操作的互斥。区别在于lock()会阻塞(blocking)方法的执行,tryLock()则不会。原创 2017-06-29 15:18:10 · 10449 阅读 · 0 评论 -
ScheduledExecutorService与Timer的方法比较
ScheduledExecutorService与Timer都有scheduleAtFixedRate方法,scheduleWithFixedDelay只有ScheduledExecutorService有。ScheduledExecutorService 的 scheduleAtFixedRate(Runnable command,long initialDelay,long period1,TimeUnit unit) 与Timer 的 scheduleAtFixedRate(TimerTask tas原创 2017-07-11 18:34:30 · 714 阅读 · 0 评论 -
Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序
实例化子类时,父类与子类中的静态代码块、实例代码块、静态变量、实例变量、构造函数的执行顺序是怎样的?代码执行的优先级为:firest:静态部分second:实例化过程详细顺序为:1.父类静态代码块与父类静态变量赋值(取决于代码书写顺序)2.子类静态代码块与子类静态变量赋值(取决于代码书写顺序)3.父类实例变量赋值与父类代码块(取决于代码书写顺序)4.原创 2016-11-03 20:16:06 · 1511 阅读 · 0 评论 -
Java中的变量与数据类型
一个变量是“在Java程序执行时持有值”的一个容器,一个变量会被分配一个数据类型,变量是一个内存位置的名字。 Java中有三种类型的变量:局部,实例和静态。在java中有两种类型的数据类型:原始类型和非原始类型。Java中的变量变量是在内存中分配的保留区域的名称。换句话说,它是一个内存位置的名称。它是一个“变化+能够”的组合,意味着它的值可以改变。int data=50;//这里 data 是变量...翻译 2018-06-06 18:20:32 · 3210 阅读 · 4 评论 -
Java中局部变量、实例变量和静态变量在方法区、栈内存、堆内存中的分配
Java中的变量类型根据不同的标准可以分为两类,如果以其引用的数据类型的不同来区分可分为“原始数据类型变量和引用数据类型变量”,如果以其作用范围的不同来区分可分为“局部变量,实例变量和静态变量”。根据“Java中的变量与数据类型”中的介绍,“变量是在内存中分配的保留区域的名称。换句话说,它是一个内存位置的名称”,也就是说我们通过这个变量名字就可以找到一个指向这个变量所引用的数据的内存指针,根据变量...原创 2018-06-06 19:57:13 · 17528 阅读 · 21 评论 -
从finalize的执行来看什么是GC Root
从finalize的执行来理解Java中GC Root是什么原创 2018-06-22 17:06:15 · 507 阅读 · 0 评论 -
从finalize的执行来看强引用、弱引用、软引用
在finalize的执行来看什么是GC Root我们测试了不同GC Root可达时,对对象finalize方法的执行的影响。下面我们测试一下不同引用对对象finalize方法的执行的影响。public class RootTest { static int gcTime = 0; public static void main(String[] args) throws Inte...原创 2018-06-27 20:40:46 · 519 阅读 · 0 评论