随笔分类 -  Java基础

摘要:Java虚拟机所管理的内存包括以下几个运行时的数据区域:方法区,堆,虚拟机栈,本地方法栈,程序计数器。下面对其进行介绍: 程序计数器 它是一块较小的内存空间,可以看做当前线程做执行的字节码的信号指示器,在虚拟机概念模型,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。 阅读全文
posted @ 2019-03-09 16:44 家铭 阅读(108) 评论(0) 推荐(0)
摘要:Java虚拟机规范中规定不要求虚拟机在方法区实现垃圾收集,而且在方法区实现垃圾收集性价比确实很低。在堆中,尤其是新生代,一次垃圾收集可以回收75%-95%的空间,而永久代的垃圾回收效率远低于此。 永久代的垃圾收集主要回收两部分:废弃常量和无用的类。回收废弃常量与回收Java堆的对象非常相似。 以常量 阅读全文
posted @ 2019-03-09 12:08 家铭 阅读(231) 评论(0) 推荐(0)
摘要:即便是可达性分析中不可达的对象,也不代表该对象一定被回收,一个对象被“宣判死刑”需要经过两次标记,第一次是被可达性算法标记为不可用,然后进入第二次筛选,筛选条件是对象是否有必要执行finalize()方法,如果对象没有覆盖finalize()方法,或者finalize()已经被虚拟机调用过,则该对象 阅读全文
posted @ 2019-02-14 16:13 家铭 阅读(129) 评论(0) 推荐(0)
摘要:Java堆中存放着所有的对象实例,垃圾收集器在堆进行回收之前,需要判断对象是“存活”还是“死亡”(即不可能再被任何途径引用的对象)。 最常见的一种判断对象是否存活算法是引用计数算法, 给对象加一个引用计数器,每当一个地方引用它时,计数器就加1;引用失效时就减1;任何时刻计数器为0的对象就是不可再被使 阅读全文
posted @ 2019-02-14 15:05 家铭 阅读(237) 评论(0) 推荐(0)
摘要:第三章 垃圾收集器与内存分配策略 3.1 概述 通过第2章的介绍,我们知道Java内存运行时的各个区域,其中程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭。每一个栈帧中分配多少内存都是在类结构确定下来时就已知的,因此这几个区域的内存分配和垃圾回收都具有确定性。 而Java堆和方法区则 阅读全文
posted @ 2019-02-13 11:37 家铭 阅读(98) 评论(0) 推荐(0)
摘要:实习过程中对于时间的处理有很多,有的还涉及到从数据库取出时间,所以做一些总结,想到那先写到哪,慢慢补充。 首先最常见的是java.util中的Date类,这个类封装了当前的日期和时间,它实际是计算从1970年1月1号以后的时间毫秒数。Date类有两个构造方法,一个是无参构造函数,初始化当前的日期和时 阅读全文
posted @ 2019-02-12 10:26 家铭 阅读(144) 评论(0) 推荐(0)
摘要:log4j介绍及使用 阅读全文
posted @ 2019-01-11 15:59 家铭 阅读(149) 评论(0) 推荐(0)
摘要:eclipse快捷键 阅读全文
posted @ 2019-01-09 22:27 家铭 阅读(177) 评论(0) 推荐(0)
摘要:1、接口的含义 接口可以理解成统一的协议, 而接口中的属性也属于协议中的内容。但是接口的属性都是公共的,静态的,最终的。 接口的成员特点: 1、成员变量只能是常量,默认修饰符 public static final 2、成员方法只能是抽象方法。默认修饰符 public abstract 所以,Jav 阅读全文
posted @ 2018-12-24 11:37 家铭 阅读(394) 评论(0) 推荐(0)
摘要:今天写一个接口的时候发现,接口的方法不需要写修饰符,直接写数据类型加上方法名(参数)即可通过编译。 但是发现在给方法加上public abstract 同样可以通过编译。 后经过查找资料,,接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰 阅读全文
posted @ 2018-12-18 15:44 家铭 阅读(368) 评论(0) 推荐(0)