Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。 ...
分类:
编程语言 时间:
2017-11-20 20:24:11
阅读次数:
171
已经入行快有两年了,然而没有认真看过java虚拟机内存的介绍,下面把自己看的关于java虚拟机内存的介绍写下来,分享给大家。 java 虚拟机在运行时将内存分为几个区域,分别为程序记数区,java虚拟机栈,本地方法栈,java堆,方法区,运行常量池。此外还有一个叫做直接内存的区域,虽然不是java虚 ...
分类:
编程语言 时间:
2017-11-16 23:57:07
阅读次数:
188
运行时数据区域: 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 程序计数器(线程私有): 是当前线程所执行的字节码的行号指示器,每条线程都要有一个独立的程序计数器,这类内存也称为“线程私有”的内存。 正在执行java方法的话,计数器记录的是虚拟机字节码 ...
分类:
其他好文 时间:
2017-11-11 17:45:48
阅读次数:
132
在集合中没有使用泛型时: 1.任何Object及其子类的对象都可以添加进来 2.从类中取出,强转为某一类型时,可能会有ClassCastException异常 1.在集合中使用泛型: 格式:List<Integer> list = new ArratList<Integer>(); 注:<>中只能填 ...
分类:
编程语言 时间:
2017-11-09 14:22:30
阅读次数:
156
第一:java方法基本数据类型是传值,对象类型传引用,这是千真万确的。 第二:当参数是对象时,无论方法体内进行了何种操作,都不会改变实参对象的引用。 第三:当参数是对象时,只有在方法内部改变了对象的内容时,才会改变实参对象内容。 java程序的函数调用到底是传值呢还是传参呢?这可是个难缠的问题,如果 ...
分类:
其他好文 时间:
2017-11-08 13:23:31
阅读次数:
149
class Car extends Vehicle { public static void main(String[] args){new Car().run(); } private final void run(){ System.out.println("car");}}class Vehi ...
分类:
编程语言 时间:
2017-11-04 16:27:19
阅读次数:
186
如下代码是生成范围在min到max之间的随机整数(包括min和max): 现在讲解 int num =r.nextInt(max+1-min)+min 是怎么生成我们想要范围的随机整数的: 1、Random类的 nextInt()方法生成随机的int值,该值介于int的区间,也就是-2的31次方到2 ...
分类:
其他好文 时间:
2017-11-04 13:30:08
阅读次数:
214
什么是Canvas? HTML5 <canvas> 元素用于图形的绘制,<canvas> 标签只是图形容器,canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成。 一个画布在网页中是一个默认大小300像素×150像素矩形框。<canvas>标签内的内容只有在浏 ...
分类:
其他好文 时间:
2017-11-01 18:14:38
阅读次数:
215
概述 Garbage Collection, GC:1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集器技术的语言。 程序计数器,虚拟机栈,本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在 ...
分类:
其他好文 时间:
2017-10-24 21:04:35
阅读次数:
190
ava虚拟机在执行Java的过程中会把管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,而有的区域则依赖线程的启动和结束而创建和销毁。 Java虚拟机包括下面几个运行时数据区域: 程序计数器 程序计数器是一块较小的区域,它的作用可以 ...
分类:
编程语言 时间:
2017-10-24 19:39:52
阅读次数:
212