java1.7和java8的jvm存在差异,本文先按照<深入理解java虚拟机>的讲解内容总结,并将java8的改变作为附录放在文末 一丶运行时数据区域 ​ 图:java虚拟机运行时数据区 1.程序计数器 概念与作用: 一块较小的内存空间,可以看作时当前线程执行字节码的行号指示器,字节码解释器通过控制改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖程序计数器完成. 线程私有的 为什么要设计成线程私有的: jav…
4.5包 前面我们已经听过包(package)这个概念了,比如String类在java.lang包下,Arrays类在java.util包下.那么为什么要引入包的概念呢?我们思考一个问题:java类库提供了上千个类,我们很难完全记住他们,如果我们编写了一个类,类名和类库中的某个类名字重复了怎么办? 其实一个操作系统的文件系统也会遇到类似的问题,那么windows系统如何解决的?这个你肯定知道,就是采用目录层次结构.我们把硬盘分成很多分区,例如c盘.d盘等,这个叫做根目录.然后再一级一级的建立文件…
第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do double else extends assert final finally float for goto if implements import instanceof int interface long native new strictfp package private protect…
第二章 Java内存区域与内存溢出异常 2.2 运行时数据区域  …
第二章 Java内存区域与内存溢出异常 一.概述 对与Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每个new操作去写delete/free代码,不容易出现内存泄露和内存溢出问 题,由虚拟机管理这一切看起来很美好.但是一旦出现内存泄露和内存溢出问题,如果不了解虚拟机是怎么使用内存的,那么排查错误将会成为 一项异常艰难的工作. 二.运行时数据区域 JVM所管理的内存将会包括以下几个运行时数据区域 程序计数器 定义: 程序计数器是一块较小的内存空间,它可以看作是当前线程执行的字节码…
这是本人阅读周志明老师的<深入理解Java虚拟机>第二版抄写的,有很多省略,不适合直接阅读,需要阅读请出门左转淘宝,右转京东,支持周老师(侵权请联系删除) 第二章java内存区域与内存溢出异常 java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的"高墙",墙外面的人想进去,墙里面的人却像出来. 2.1概述 对于从事C\C++程序开发人员来说,内存管理领域,他们既是拥有最高权力的"皇帝"又是从事基础工作的"劳动人民"--即拥有…
原文:ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区 1 Desktop简介 1.1 ArcGIS for Desktop ArcGIS for Desktop是ArcGIS产品线上的桌面端软件产品,为GIS专业人士提供的信息制作和使用的工具.利用ArcGIS for Desktop,你可以实现任何从简单到复杂的GIS任务,包括制图,地理分析,数据编辑,数据管理,可视化和空间处理等.它可以作为三个独立的软件产品购买,每个…
2.4IDE集成环境 在掌握了编写.编译和运行Java程序的基本步骤以后,你肯定就在想,这太麻烦了,有没有更好的工具?当然有了,那就是IDE.IDE就是专业的集成开发环境(Integrated Development Environment).IDE带有内嵌的文本编辑器.带有编译和运行的菜单以及配有集成调试器的开发环境等.目前比较流行的主要有3个:Eclipse.IntelliJ IDEA.NetBeans. 2.4.1IDE简介 Eclispe是一款开源的IDE,跨平台.支持多语言.超多插件.…
1.3程序语言简介 我们经常会听到一些名词:低级语言.高级语言.编译型.解释型.面向过程.面向对象等.这些到底是啥意思呢?在正式进入Java世界前,笔者也尝试简单的聊一聊这块东西. 1.3.1低级语言和高级语言 我们中国人之间,想要沟通,一般就是通过汉语.那么想要和计算机沟通用啥呢?我们都知道,计算机内部存储的是0和1组成的二进制数字串,计算机指令也是0和1组成的二进制数字串,因此想让计算机干活,只能编写由0和1组成的程序.我们把由二进制代码组成的程序叫做机器语言程序,把由0和1表示的语言叫做机…
这是我学习慕课网Java课程的笔记.原视频链接为:http://www.imooc.com/learn/85 2-1 Java中的keyword PS:Javakeyword区分大写和小写 2-2 认识Java标识符 标识符就是用于给 Java 程序中变量.类.方法等命名的符号. 使用标识符时,须要遵守几条规则: ①标识符能够由字母.数字.下划线( _ ).美元符( $ )组成,但不能包括@.%.空格等其它特殊字符.不能以数字开头. ②标识符不能是Javakeyword和保留字(Java预留的k…