Java开发中啥是垃圾回收?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java开发中啥是垃圾回收?相关的知识,希望对你有一定的参考价值。

  垃圾收集GC(Garbage Collection)是Java语言的核心技术之一,垃圾收集意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。
  垃圾收集的目的在于清除不再使用的对象。GC通过确定对象是否被活动对象引用来确定是否收集该对象。GC首先要判断该对象是否是时候可以收集。垃圾收集能自动释放内存空间,减轻编程的负担。这使Java 虚拟机具有一些优点。首先,它能使编程效率提高。在没有垃圾收集机制的时候,可能要花许多时间来解决一个难懂的存储器问题。在用Java语言编程的时候,靠垃圾收集机制可大大缩短时间。其次是它保护程序的完整性, 垃圾收集是Java语言安全性策略的一个重要部份。
  垃圾收集的一个潜在的缺点是它的开销影响程序性能。Java虚拟机必须追踪运行程序中有用的对象,而且最终释放没用的对象。这一个过程需要花费处理器的时间。其次垃圾收集算法的不完备性,早先采用的某些垃圾收集算法就不能保证100%收集到所有的废弃内存。当然随着垃圾收集算法的不断改进以及软硬件运行效率的不断提升,这些问题都可以迎刃而解。
参考技术A 垃圾回收是Java中自动内存管理的另一种叫法。垃圾回收的目的是为程序保持尽可能多的可用堆(heap)。JVM会删除堆上不再需要从堆引用的对象。

java中啥是转义字符,为啥要使用转义

以"\"符号为例,JAVA中有很多操作,例如文件操作等,需要用到路径这个东西,比如:com\mypackage\xxx.xml,这个路径一般是以字符串形式表示的,但问题来了,JAVA不知道你的\号到底是路径中的下一层的意思,还是字符串"\"的意思。
所以正确的写法应该是com\\mypackage\\xxx.xml。
又例如我们熟悉的\n,换行符,如果在字符串中间直接按回车,java是不会对字符串做换行操作的,因为他不知道你想将代码分两行写还是字符串分两行显示,这时候就需要在字符串中间加上\n转义字符来将字符串换行。
总之,转义字符的意义就是避免出现二义性,二义性是所有编程语言都不允许的。
参考技术A 就是在java中有特殊含义的字符(如:换行符,回车符,单引号,双引号),如果你要用它,必须在前面加一个前缀“\”如换行("\n")、回车("\r")、双引号("\"")、反斜杠("\\")等。 参考技术B 以输出一段话为例:
需要输出的话:the java say:"hello world!"
双引号在java中是表示字符串的,如果不转义,则无法输出显示,所以需要用到转义符
System.out.print(“the java say:\"hello world\"”);这样就能输出双引号了。

以上是关于Java开发中啥是垃圾回收?的主要内容,如果未能解决你的问题,请参考以下文章

java垃圾回收机制学习总结

java中垃圾回收机制的原理

Java 垃圾回收

java中啥是堆和栈,如何应用,最好举个例子,并详细地说明一下,谢谢了

JVM-11. 垃圾回收概述及算法

14Java垃圾回收机制