关于Java一些小知识

由于自己没有系统的学习过Java,可能在以后的面试中会用到,现在学习一下好好补救一下TAT

一、Java虚拟机(JVM)

Java虚拟机(Java Virtual Machine 简称JVM)是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一。Java可以进行跨平台的使用,这也是由于JVM的存在,有了Java虚拟机就可以运行java代码编译后的字节码文件。

二、Java的GC机制

Java的GC机制为Garbage Collection,中文名称为垃圾回收机制。GC机制是属于Java的内存管理机制,一般来说常见的内存问题有内存的溢出和内存的泄漏

内存的溢出

我相信大部分人都接触到过内存的溢出,比如说申请了一个长度为10的数组,却访问了20这个位置,这样数组的访问就会越界,会产生内存的溢出这种现象。简单的来说内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。

内存的泄漏

内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。

总的来说,从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存导致内存的溢出,程序变卡顿,运行时间变长严重影响程序性能。

Java的GC机制能够明显的解决上述问题,在Java中,内存分配是管理员决定的,但是内存的释放是由GC完成。GC一般是通过周期性地扫描内存中的对象进行分析,观察该对象是否还被引用,来判断要不要对该对象进行回收。虽然说Java的GC机制能够较好的管理内存,但是也需要注意避免一些常见的内存泄漏问题,如长时间持有对象、不适当的缓存和大量创建临时对象。

三、Java的编译过程

Java程序编译流程主要包括三个步骤:编写源代码、编译代码、运行程序

  1. 编译源代码:Java程序员使用文本编辑器编写Java源代码,源代码的文件扩展名为.java。Java源代码有Java语言规范和定义的语法和语义组成。

  1. 编译代码:Java源代码需要通过Java编译器进行编译,将源代码转换成Java字节码,字节码的文件扩展名为.class。编译器对源代码进行词法、语法和语义分析,生成对应的字节码文件。在编译过程中,编译器还会对程序的错误进行检查和报告。

  1. 运行程序:编译生成字节码之后,可以使用Java虚拟机(JVM)来运行程序。JVM会将字节码解释成机器语言并执行程序。Java虚拟机提供了一种独立于操作系统和硬件的运行环境,因此Java程序可以在任何支持Java虚拟机的平台上运行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java是一种广泛使用的面向对象的编程语言,以下是一些Java的重要知识: 1. 面向对象编程:Java是一种面向对象的语言,它支持封装、继承和多态等面向对象的特性。 2. Java虚拟机(JVM):Java程序在JVM上运行,JVM是Java应用程序的执行环境,负责将Java字节码转换成机器码。 3. 数据类型:Java提供了基本数据类型(如整数、浮点数、字符、布尔值)和引用数据类型(如类、接口、数组)。 4. 控制流语句:Java提供了多种控制流语句,如条件语句(if-else、switch),循环语句(for、while、do-while)等。 5. 异常处理:Java使用异常处理机制来处理程序中的错误和异常情况,使用try-catch-finally块来捕获和处理异常。 6. 集合框架:Java提供了一套集合框架,包括List、Set、Map等接口和实现类,用于存储和操作对象集合。 7. 输入输出:Java提供了输入输出流(InputStream、OutputStream)和读写器(Reader、Writer)等类,用于处理文件和网络数据的输入输出操作。 8. 多线程:Java支持多线程编程,可以通过创建线程(Thread类或实现Runnable接口)来实现并发执行。 9. 异步编程:Java 8引入了CompletableFuture和Stream等异步编程的特性,使得处理并发任务更加简单和高效。 10. 设计模式:Java常用的设计模式包括单例模式、工厂模式、观察者模式等,它们可以提供通用的解决方案,提高代码的可复用性和可维护性。 这些是Java的一些重要知识点,希望对你有所帮助!如果还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值