Java基础教程:Java内存区域】的更多相关文章

Java是SUN公司1995年推出的一门高级编程语言,是一种面向Internet的编程语言,随着Java技术在Web方面的不断成熟,已经成为Web应用程序的首选开发语言. (2009年SUN公司被Oracle公司收购) Java本是印度尼西亚爪哇岛的英文名,因盛产咖啡而闻名. SUN和JAVA的标识也正是一杯正冒着热气的咖啡. Java的特点: 面向对象--Java号称是第一个纯面向对象编程语言 简单--类似C++,容易上手:但摒弃了C++里难以理解的多继承.指针等概念 跨平台--一次编译,到处…
Java基础教程:Java内存区域 运行时数据区域 Java虚拟机在执行Java程序的过程种会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁. 根据<Java虚拟机规范>,Java虚拟机管理的内存将会包括以下几个运行时数据区域 程序计数器 程序技术器是一块较小的内存空间,可视为当前线程所执行的字节码的行号计时器. 在多线程开发中,为了线程切换后能恢复到正确的执行位置,每…
Java基础教程:垃圾回收 垃圾回收 垃圾回收(Garbage Collection,GC),顾名思义是释放垃圾占用的空间,防止内存泄漏.有效的使用可以使用的内存,对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收. 认定垃圾时有两种主要算法:引用计数法.可达性分析算法. 引用计数法 引用计数法(Reachability Counting)是通过在对象头中分配一个空间来记录该对象被引用的次数(Reference Count).如果该对象被其他对象引用,则它的引用计数就加一,如果一个删除对…
一.方法的返回值   当我们在程序中调用方法时,虚拟机将会跳转到对应的方法中去执行.当以下几种情况发生时,虚拟机将会回到调用方法的语句并继续向下执行: 执行完方法中所有的语句: 遇到return语句: 方法抛出一个异常(有关异常的内容将会在后面的文章中讨论).   这里我们重点介绍return语句.return语句用来返回一个值,当虚拟机遇到return语句时将会立刻结束当前方法并带着返回值回到调用此方法的地方.在声明方法时,返回值的类型要和return语句里返回的值的类型一致.如果方法没有需要…
Java:多线程基础(1) 实现多线程的两种方式 1.继承Thread类 public class myThread extends Thread { /** * 继承Thread类,重写RUN方法. */ @Override public void run() { super.run(); } } [说明] 由于Java继承机制,此处不再支持多继承. 2.实现Runnable接口 class myRunable implements Runnable { /** * 实现Runnable接口,…
Java基础教程:面向对象编程 内容大纲 Java语言概述 Java语言特点 1.Java为纯面向对象的语言,它能够直接反映现实生活中的对象.总之,Everything is object! 2.平台无关性.Java为解释型语言,编译器会把Java代码变成“”“中间代码”,然后在JVM上解释执行. 3.Java提供了很多内置的类库,这些类库简化了开发人员的程序设计工作,同时缩短了项目开发时间. 4.Java语言提供了对Web应用的支持. 5.Java语言提供了较好的安全性和健壮性. 为了增强程序…
Java基础教程:多线程杂谈——双重检查锁与Volatile 双重检查锁 有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化.此时程序员可能会采用延迟初始化.但要正确实现线程安全的延迟初始化需要一些技巧,否则很容易出现问题.比如,下面是非线程安全的延迟初始化对象的示例代码: public class A{ private Instance instance; public Instance getInstance(){ if(instance==null){ in…
Java基础教程:IDEA单元测试 环境配置 使用idea IDE 进行单元测试,首先需要安装JUnit 插件. 安装JUnit插件步骤 File-->settings-->Plguins-->Browse repositories-->输入JUnit-->选择JUnit Generator V2.0安装. 安装完成后需要重新启动IDEA. 使用JUnit插件 在需要进行单元测试的类中,使用快捷键alt+insert,选择JUnit test,选择JUnit4. 单元测试 测…
一.继承的概念   继承是面向对象中一个非常重要的概念,使用继承可以从逻辑和层次上更好地组织代码,大大提高代码的复用性.在Java中,继承可以使得子类具有父类的属性和方法或者重新定义.追加属性和方法.在Java中,使用extends关键字来表示继承.   从另一个类派生而来的类称为子类(也称为派生类),派生子类的类称为父类(也称为超类或基类).当创建一个类时,总是在继承(Object类除外),如果没有明确指出要继承的类,这个类就会隐式地继承Object类.在Java中,Object类是所有类的祖…
Java基础教程:注解 本篇文章参考的相关资料链接: 维基百科:https://zh.wikipedia.org/wiki/Java%E6%B3%A8%E8%A7%A3 注解基础与高级应用:http://linbinghe.com/2017/ac8515d0.html 秒懂注解:https://blog.csdn.net/briblue/article/details/73824058 概述 这篇文章参考了很多其他文章的写作思路和篇章内容,主要用来帮助我们更好的理解Java中注解的使用,解开注解…