JavaSE (一:初识)

本文详细介绍了Java编程语言的特性与优势,包括其跨平台性、简单性、面向对象性、安全性、多线程性和健壮性。同时深入探讨了Java虚拟机(JVM)的工作原理,解释了JVM如何通过字节码执行Java程序,以及JVM的结构,包括指令系统、寄存器、栈结构、垃圾回收堆和存储区。此外,还分析了Java内存分配机制,包括栈、堆和方法区的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         我在博客上发现了两位我感觉写的不错的博主,哈哈,我19年3月份的复习之路就参考着两位大神了,来回看太多容易没有思路。打牢基础,人丑就多读书,不丑就多多读书。 

参考文章:https://blog.youkuaiyun.com/u011225629/article/details/45244903

                 https://blog.youkuaiyun.com/baidu_37107022/article/details/67632291

计算机编程语言
    机器语言:基于0和1
    汇编语言:
    高级语言:分为面向过程和面向对象

BS架构:网易,搜狐,新浪等门户网站,可以直接打开

CS架构:QQ、WPS等,需要下载安装的

Java特性:简单、面向对象、安全、多线程、健壮、分布式

核心优势:跨平台性

Java语言是一种特殊的高级语言,既有解释性语言的特征,也有编译语言的特征,Java程序经过先编译后翻译两个步骤。

编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等

解释性语言:解释性语言编写的程序不进行预先编译,以文本方式存储程序代码。在发布程序时,看起来省了道编译工序。但是,在运行程序的时候,解释性语言必须先解释再运行。比如解释性Basic语言,其专用的解释器在执行Basic程序时,会逐条读取解释每个语句,这个其实就是一个编译过程,然后再执行。一般来说,现有的解释性语言都是采用的逐行解释一句,执行一句这样的方式来构建的。这样解释性语言每执行一次就要翻译一次,效率比较低。

而相对的,解释性语言编写的程序不进行预先编译,以文本方式存储程序代码。在发布程序时,看起来省了道编译工序。但是,在运行程序的时候,解释性语言必须先解释再运行

运行编译型语言是相对于解释型语言存在的,编译型语言的首先将源代码编译生成机器语言,再由机器运行机器码(二进制)。像C/C++等都是编译型语言

Java语言里负责解释执行字节码文件的是Java虚拟机,即JVM(Java virtual Machine)。

Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。(Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。)

JVM的设计目标是提供一个基于抽象规格描述的计算机模型,为解释程序开发人员提范的任何系统上运行。

JVM对其实现的某些方面给出了具体的定义,特别是对Java可执行代码,即字节码(Bytecode)的格式给出了明确的规格。

这一规格包括操作码和操作数的语法和数值、标识符的数值表示方式、以及Java类文件中的Java对象、常量缓冲池在JVM的存储映象。 
这些定义为JVM解释器开发人员提供了所需的信息和开发环境。Java的设计者希望给开发人员以随心所欲使用Java的自由。
JVM定义了控制Java代码解释执行和具体实现的五种规格,它们是: 
*JVM指令系统
*JVM寄存器
*JVM栈结构
*JVM碎片回收堆
*JVM存储区

Java内存分配

    栈:存放局部变量和对象的引用,(在方法中定义或方法上声明)使用完毕就消失,

    堆:存放new出来的,存放对象,数据使用完毕在垃圾回收器空闲时回收,-----------每一个new出来的东西都有地址每一个变量都有默认值,byte  short  int long  默认值为0, float,double的引用值是0.0, char的引用值是'\u0000', boolean的引用值是false,   引用类型的默认值是null

    方法区:方法区是线程共享的区域,用于存储已经被虚拟机加载的类信息,常量,静态变量和即时编译器(JIT)编译后的代码等数据

    常量池是方法区的一部分 字符串常量及常量对象

    本地方法区: (系统相关)

    寄存器: (CPU使用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值