Java系列之小问题集锦
java语言的特点是什么?
- 面向对象性:两个基本概念:类、对象;三大特性:封装、继承、多态
- 健壮性:吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
- 跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”
问题:System.out.println()和System.out.print()什么区别呢?
System.out.println();打印完后,会换行。
System.out.print();打印完后,不会换行。
一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
答:可以。但最多只有一个类名声明为public,与文件名相同。
为什么要设置path(或者说,设置path的目的是什么)?
目的是为了在控制台的任何文件路径下,都可以调用jdk指定目录下的所有指令。
JDK,JRE和JVM的关系是什么?
JDK包含JRE,JRE包含JVM.
GC是什么? 为什么要有GC
答:GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,
忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,
Java语言没有提供释放已分配内存的显示操作方法。
垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收
答:对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。
当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。
使用java代码输出:心形
- 方式一:
class PrintHeart {
public static void main(String[] args) {
System.out.print("t");
System.out.print("*");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.println("*");
System.out.print("*");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("I love java");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.println("*");
System.out.print("t");
System.out.print("*");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.println("*");
System.out.print("t");
System.out.print("t");
System.out.print("*");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.println("*");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("*");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.println("*");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("*");
System.out.print("t");
System.out.println("*");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print("t");
System.out.print(" ");
System.out.print("*");
}
}
- 方式二:
class PrintHeart1 {
public static void main(String[] args) {
System.out.print("t" + "*" + "tttttttttttt" + "*" + "t" + "n");
System.out.print("*" + "tt" + "*" + "tttt" + "I love Java" + "ttttt" + "*" + "tt" + "*" + "n");
System.out.print("t" + "*" + "tttttttttttt" + "*" + "t" + "n");
System.out.print("tt" + "*" + "tttttttttt" + "*" + "tt" + "n");
System.out.print("ttt" + "*" + "tttttttt" + "*" + "t" + "n");
System.out.print("tttt" + "*" + "tttttt" + "*" + "" + "t" + "n");
System.out.print("ttttt" + "*" + "tttt" + "*" + "" + "tt" + "n");
System.out.print("tttttt" + "*" + "tt" + "*" + "" + "tt" + "n");
System.out.print("ttttttt" + "*" + "n");
}
}
热点文章推荐
免费撸一个图床
你还在用Eclipse吗?这是我见过最有效的切换IDEA的教程
((A)null).fun()能编译通过吗
结尾
好记性不如烂笔头,本文为个人学习总结。
- 笔者:shaofeer
- 个人网站(首发):https://quxuecx.com
- 邮箱: shaofeer@163.com
- QQ:337081267
- 公众号:“趣学程序”
我这里整理了很多的学习资料、编程源码、学习笔记、面试心得,如果有需要,可以通过关注“趣学程序”公众号来获取哟~
http://weixin.qq.com/r/SSpxaX-E2iKlrTsK939b (二维码自动识别)