Java基础

1.1 基础概念

1.1.1 特点

简单易学;面向对象(封装,继承,多态);平台无关性( Java 虚拟机实现平台无关性);可靠性;
安全性;支持多线程;支持网络编程并且很方便;编译与解释并存;

1.1.2 Java 和 C++的区别

都是面向对象的语言,都支持封装、继承和多态
Java 不提供指针来直接访问内存,程序内存更加安全
Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多继承,但是接口可以多继承。
Java 有自动内存管理机制,不需要程序员手动释放无用内存
在 C 语言中,字符串或字符数组最后都会有一个额外的字符‘\0’来表示结束。但是,Java 语言中没有结束符这
一概念

1.1.3 四类八种

基本都实现了常量池,实现常量池意味着不创建对象时,取值区间在常量池区间内的,都是从常量池取值处理

Integer i1 = 33; Integer i2 = 33; 
System.out.println(i1 == i2);// 输出 true 在常量池区间内,不创建对象 
Integer i11 = 333; 
Integer i22 = 333; 
System.out.println(i11 == i22);// 输出 false 不在常量池区间内,创建对象
类型 基本类型 包装类 位数 字节 默认值 常量池
整形 int Integer 32 4 0 [-128,127]
整形 short Short 16 2 0 [-128,127]
整形 long Long 64 8 0L [-128,127]
整形 byte Byte 8 1 0 [-128,127]
字符型 char Character 16 2 'u0000' [0,127]
浮点型 float Float 32 4 0f
浮点型 double Double 64 8 0d
布尔型 boolean Boolean 1 false true and false
1.1.4 关键字
类型 内容 - - - - - -
访问控制 private protected public default
类,方法和变量修饰符 abstract class extends final implements interface native
new static strictfp synchronized transient volatile
程序控制 break continue return do while if else
for instanceof switch case default
错误处理 try catch throw throws finally
包相关 import package
基本类型 boolean byte char double float int long
short null true false
变量引用 super this void
保留字 goto const

native: Java平台有个用户和本地C代码进行互操作的API,称为Java Native Interface (Java本地接口),native的意思
就是通知操作系统
transient: 取消序列化
volatile: 保证可见性 + 禁止指令重排 , 内存模型 及并发编程中的三个概念 原子性,可见性,有序性 ( https://www.cnblogs.com/dolphin0520/p/3920373.html )
strictfp: strictfp 关键字可应用于类、接口或方法。使用 strictfp 关键字声明一个方法时,该方法中所有的float 和 double表达式都严格遵守FP-strict的限制,符合IEEE-754规范。

上一篇:Java面试题分享


下一篇:mybatis初步配置容易出现的问题