Java概述

Java概述

常见的DOS命令

dir:列出当前目录下的文件与文件夹

md:创建目录

rd:删除目录

cd:进入指定目录

cd..:退回到上一级目录

cd\:退回到根目录

del:删除文件

exit:退出dos命令行

Java语言的特点

应用程序 = 算法 + 数据结构

  1. 面向对象

两个基本概念:类、对象

三大特征:封装、继承、多态

  1. 健壮性

    吸取了C/C++语言的优点,但去掉了其影响程序健壮性的部分,如指针、内存的申请与释放

  2. 跨平台性

  3. 执行性好,运行效率高

  4. 提供大量的API扩展,语言强大

  5. 有多线程支持,增强了响应和实时交互的能力

  6. 安全性好,自带验证机制,确保程序的可靠性和安全性

    1576378473531

Java两种核心机制

  1. Java虚拟机:只有平台提供了对应的java虚拟机java才能运行

  2. 垃圾回收机制:Java程序还会出现内存泄露和内存溢出问题

Java执行流程

Java执行流程:Java 源代码(.java)-> 编译 -> Java 字节码(.class) ->通过 JVM(Java 虚拟机)运行
Java 程序。每种类型的服务器都会运行一个 JVM,Java 程序只需要生成 JVM 可以执行的代码即可,JVM
底层屏蔽了不同服务器类型之间的差异,从而可以在不同类型的服务器上运行一套 Java 程序。

image-20200127151031278

JDK、JRE、JVM 有哪些区别

JDK(Java Development kit Java开发工具包)

JRE(Java Runtime Environment java运行环境)

其中的开发工具:编译工具(javac.exe)、打包工具(jar.exe)

包含java虚拟机(JVM)和java程序所需的核心类库


使用JDK开发工具完成的java程序,只需安装JRE即可

JDK=JRE+Java开发工具集

JRE=JVM+Java标准类库

1576378686261

Java面试题

Java 跨平台实现的原理是什么?

image-20200127155543183

Java 执行流程:Java 源代码(.java)-> 编译 -> Java 字节码(.class) ->通过 JVM(Java 虚拟机)运行 Java 程序。每种类型的服务器都会运行一个 JVM,Java 程序只需要生成 JVM 可以执行的代码即可,JVM 底层屏蔽了不同服务器类型之间的差异,从而可以在不同类型的服务器上运行一套 Java 程序

Java 中如何获取明天此刻的时间?

答:JDK 8 之前使用 Calendar.add() 方法获取,代码如下:

1
2
3
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, 1);
System.out.println(calendar.getTime());

JDK 8 有两种获取明天时间的方法。

方法一,使用 LocalDateTime.plusDays() 方法获取,代码如下:

1
2
3
LocalDateTime today = LocalDateTime.now();
LocalDateTime tomorrow = today.plusDays(1);
System.out.println(tomorrow);

方法二,使用 LocalDateTime.minusDays() 方法获取,代码如下:

1
2
3
LocalDateTime today = LocalDateTime.now();
LocalDateTime tomorrow = today.minusDays(-1);
System.out.println(tomorrow);

minusDays() 方法为当前时间减去 n 天,传负值就相当于当前时间加 n 天

Java 中如何跳出多重嵌套循环?

答:Java 中跳出多重嵌套循环的两种方式。

  • 方法一:定义一个标号,使用 break 加标号的方式
  • 方法二:使用全局变量终止循环

方法一,示例代码:

1
2
3
4
5
6
7
8
9
myfor:for (int i = 0; i < 100; i++) {
for (int j = 0; j < 100; j++) {
System.out.println("J:" + j);
if (j == 10) {
// 跳出多重循环
break myfor;
}
}
}

方法二,示例代码:

1
2
3
4
5
6
7
8
9
10
11
boolean flag = true;
for (int i = 0; i < 100 && flag; i++) {
for (int j = 0; j < 100; j++) {
System.out.println("J:" + j);
if (j == 10) {
// 跳出多重循环
flag = false;
break;
}
}
}

char 变量能不能存贮一个中文汉字?为什么?

答:char 变量可以存贮一个汉字,因为 Java 中使用的默认编码是 Unicode ,一个 char 类型占 2 个字节(16 bit),所以放一个中文是没问题的

这一标准的 2 字节形式通常称作 UCS-2。然而,受制于 2 字节数量的限制,UCS-2 只能表示最多 65536 个字符。Unicode 的 4 字节形式被称为 UCS-4 或 UTF-32,能够定义 Unicode 的全部扩展,最多可定义 100 万个以上唯一字符。

2016-06-21 颁发的 Unicode 9.0 共收录 128,237 个字。

Unicode 是一种字符集,Unicode 的学名是 “Universal Multiple-Octet Coded Character Set”,简称为UCS。UCS 可以看作是 “Unicode Character Set” 的缩写。

UCS-4 是一个更大的尚未填充完全的 31 位字符集,加上恒为 0 的首位,共需占据 32 位,即 4 字节。理论上最多能表示 2^31 个字符,完全可以涵盖一切语言所用的符号

注:字符编码相关知识

一、有关编码的基础知识

  1. 位 bit 最小的单元

字节 byte 机器语言的单位 1byte=8bits

1KB=1024byte

1MB=1024KB

1GB=1024MB

  1. 二进制 binary

八进制 octal

十进制 decimal

十六进制 hex

字符:是各种文字和符号的总称,包括各个国家的文字,标点符号,图形符号,数字等。

字符集:字符集是多个符号的集合,每个字符集包含的字符个数不同。

字符编码:字符集只是规定了有哪些字符,而最终决定采用哪些字符,每一个字符用多少字节

表示等问题,则是由编码来决定的。计算机要准确的处理各种字符集文字,需要进行字符编码,

以便计算机能够识别和存储各种文字。

文章目录
  1. 1. Java概述
    1. 1.1. 常见的DOS命令
    2. 1.2. Java语言的特点
    3. 1.3. Java两种核心机制
    4. 1.4. Java执行流程
    5. 1.5. JDK、JRE、JVM 有哪些区别
    6. 1.6. Java面试题
      1. 1.6.1. Java 跨平台实现的原理是什么?
      2. 1.6.2. Java 中如何获取明天此刻的时间?
      3. 1.6.3. Java 中如何跳出多重嵌套循环?
      4. 1.6.4. char 变量能不能存贮一个中文汉字?为什么?
        1. 1.6.4.1. 注:字符编码相关知识
|