一 scala介绍 Scala是一门以java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。 1) Scala 是一门多范式 (multi-paradigm) 的编程语言,Scala支持面向对象和函数式编程 2) Scala源代码(.scala)会被编 ...
分类:
其他好文 时间:
2019-12-01 13:25:30
阅读次数:
76
概念区别 JDK: Java Develpment Kit java 开发工具JRE: Java Runtime Environment java运行时环境JVM: java Virtual Machine java 虚拟机使用人群 jdk 是给开发人员使用的, jre和jvm是给普通用户使用3. ...
分类:
其他好文 时间:
2019-11-30 21:30:02
阅读次数:
125
Java虚拟机基本结构 角色:字节码执行引擎,垃圾回收系统,方法区,Java堆,直接内存[共享],类加载子系统,PC寄存器(计数器),本地方法栈,Java栈[私有] 垃圾回收的工作重点:方法区,Java堆,直接内存 一个Java线程对应一个java栈 参数 程序参数:应用程序使用 虚拟机参数:虚拟机 ...
分类:
其他好文 时间:
2019-11-29 11:19:15
阅读次数:
79
依托于Java虚拟机的语言 Java发展史 Java语言规范 数字的表示 数据类型 原始 数字型:(byte 8bit ,short 16bit ,int 32bit,long 64bit)有符号,char 16bit 无符号,float 32bit,double 64bit 布尔型:boolean ...
分类:
编程语言 时间:
2019-11-29 10:45:36
阅读次数:
116
引用计数法 :Java虚拟机并未采用这种算法 缺点:1.对象的循环引用 2.伴随加法和减法操作,有一定的性能开销 -可达对象 -不可达对象 : 通过根对象进行引用搜索 复制算法:通常存活对象很少,这个算法效率高,也没有空间碎片,但是内存折半 标记清除法:会产生空间碎片 标记压缩法:老年代存活对象多, ...
分类:
编程语言 时间:
2019-11-29 10:41:24
阅读次数:
94
Java类加载机制 类加载行为发生的时间 : 在Java代码中,类型的加载,连接和初始化过程都是在运行期间完成的; 一个类的生命周期分为七个阶段: 加载,连接(验证,准备,解析),初始化,使用,卸载; 类的生命周期结束 类结束生命周期的几种情况 : 执行了System.exit()方法 程序正常结束 ...
分类:
其他好文 时间:
2019-11-29 10:39:08
阅读次数:
60
一.程序计数器(寄存器):PCR 作用:记住下一条JVM指令的执行地址。 特点:①线程私有的 ②不会存在内存溢出 二.虚拟机栈 1.定义 虚拟机栈:线程运行所需要的内存空间。 栈帧:一个栈帧对应一个方法的调用。 每个线程只能有一个活动栈帧,对应着当前正在执行的哪个方法。 思考: 一、垃圾回收是否会涉 ...
分类:
编程语言 时间:
2019-11-28 23:21:56
阅读次数:
191
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680 本文是Android虚拟机系列文章的第三篇,专门介绍Andorid系统上曾经使用过的Dalvik虚拟机。 也许有人会问,既然Dalvik虚拟机都已经被废弃了,为什么我们还要了解它呢 ...
分类:
编程语言 时间:
2019-11-28 13:10:07
阅读次数:
93
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680 1、对象优先在Eden分配 大多情况,对象在新生代Eden区分配。当Eden区没有足够空间进行分配时,虚拟机将进行一次Minor GC。虚拟机提供了参数 -XX:+PrintGCD ...
分类:
编程语言 时间:
2019-11-28 13:00:33
阅读次数:
76
题目
JVM的内存区域是怎么划分的?
OOM可能发生在哪些区域上?
堆内存结构是怎么样的?
常用的性能监控与问题定位工具有哪些?
分类:
编程语言 时间:
2019-11-27 09:14:29
阅读次数:
95