java虚拟机中的程序计数器区、虚拟机栈区、本地方法栈区3个区域是随着线程的创建而创建,随着线程的结束而结束时,内存自然得到回收,所以这三个区域不需要过多考虑内存的回收问题。 java虚拟机中的方法区和虚拟机堆区2个区是所有线程共享的区域,不同的接口或类需要的内存不同,且方法区和堆区往往是在程序运行 ...
分类:
编程语言 时间:
2019-12-26 19:30:21
阅读次数:
72
什么是java?学Java能做什么?Java有什么特性?Java技术既是一种高级的面向对象的编程语言,也是一个平台。Java技术基于Java虚拟机(Javavirtualmachine,JVM)的概念——这是语言与底层软件和硬件之间的一种转换器。Java语言的所有实现都必须实现JVM,从而使Java程序可以在有JVM的任何系统上运行。Java编程语言(Javaprogramminglanguage
分类:
编程语言 时间:
2019-12-25 22:05:44
阅读次数:
79
JRE和JDK的区别?1.JRE是Java运行时环境。它是运行已编译的Java程序所需的所有程序的包,包括Java虚拟机(JVM),Java类库,java命令和其他基础结构。但是,它不能用于创建新程序。JDK是JavaDevelopmentKit,这是Java的全功能SDK。它具有JRE拥有的所有内容,还具有编译器(javac)和工具(如javadoc和jdb)。它能够创建和编译程序。通常,如果只
分类:
编程语言 时间:
2019-12-24 12:00:13
阅读次数:
98
常见的垃圾收集器 参考这篇文章:https://crowhawk.github.io/2017/08/15/jvm_3/ 如何判断某个对象为垃圾 引用计数法 目前主流的java虚拟机都摒弃掉了这种算法,最主要的原因是它很难解决对象 之间相互循环引用的问题。尽管该算法执行效率很高。 例如:在testG ...
分类:
编程语言 时间:
2019-12-23 22:19:18
阅读次数:
73
程序在运行过程中,会产生大量的内存垃圾(一些没有引用指向的内存对象都属于内存垃圾,因为这些对象已经无法访问,程序用不了它们了,对程序而言它们已经死亡),为了确保程序运行时的性能,java虚拟机在程序运行的过程中不断地进行自动的垃圾回收(GC)。关于 JVM 的 GC 算法主要有下面四种: 1、引用计 ...
分类:
编程语言 时间:
2019-12-23 20:56:56
阅读次数:
85
出处: 深入理解 Java 虚拟机-如何利用 VisualVM 对高并发项目进行性能分析 ...
分类:
其他好文 时间:
2019-12-23 16:33:25
阅读次数:
63
语言特性 显著特点 1. 一次编译,到处运行,通过 java 虚拟机获取跨平台性 2. 垃圾回收,通过垃圾收集器回收内存 解释和编译 1. 一般情况下,java 源文件经过编译后,得到 .class 字节码文件,再被 jvm 解释器解释执行 2. JIT,just in time compile,即 ...
分类:
编程语言 时间:
2019-12-23 13:26:47
阅读次数:
87
jdk JAVA Development Kit java开发工具集JRE Java Runtime Environment Java运行环境Jvm Java Virtual Machine Java虚拟机jdk = java语言+Tools +Tool APIsJre = Jvm + Java S ...
分类:
其他好文 时间:
2019-12-23 11:46:34
阅读次数:
75
概述 Java虚拟机规范中制定了虚拟机字节码执行引擎的概念模型,成为各种虚拟机执行引擎的统一外观(Facade)。不同的虚拟机引擎会包含两种执行模式,解释执行和编译执行。 运行时帧栈结构 栈帧(Stack Frame)支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈(V ...
分类:
编程语言 时间:
2019-12-22 17:59:47
阅读次数:
91
Java基础总结大全(实用) 一、基础知识: 1、JVM、JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。 java语言是跨平台,jvm不是跨平台的。 JRE(Java Runtime Environment):java的运 ...
分类:
编程语言 时间:
2019-12-22 16:32:09
阅读次数:
96