Java基础知识

运算中的类型强转

按照类型大的与类型小的运算,强制转换类型小的进行运算的规则
char < short < int < float < double  不同类型运算结果类型向右边靠齐

Interger比较大小

Interger的范围时[-128,127],在这个范围内比较大小,相等为true,超过范围为false

ASCII码

常用ASCII码值:空格为32;数字0为48;“A”为65;“a”值为97。

Java中的包装类

包装类默认为null

Java中的基本数据类型(8种):byte、short、int、long、float、double、char、boolean
| | byte | short | int | long | float | double | char | boolean |
|:--------:|:----:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|
| 位数 | 8 | 16 | 32 | 64 | 32 | 64 | 16 | 1 |
| 字节数 | 1 | 2 | 4 | 8 | 4 | 8 | 2 | 1(1/8) |
| 默认值 | 0 | 0 | 0 | 0L | 0.0f | 0.0d | | false |
| 包装类型 | Byte | Short | Integer | Long | Float | Double | Character | Boolean |
| 数据类型 | 整型| 整型| 整型| 整型| 浮点型| 浮点型| 字符型| 布尔型|

Java中常见的输入流和输出流

字节输入流:

常用的字节输入流主要有:

  • InputStream  
  • FileInputStream
  • BufferedInputStream 【BufferedInputStream不是InputStream的直接实现子类,是FilterInputStream的子类】

字节输出流:

常用的字节输出流主要有:

  • OutputStream
  • FileOutputStream
  • BufferedOutputStream 【BufferedOutputStream不是OutputStream的直接实现子类,是FilterOutputStream的子类】

字符输入流:

常见的字符输入流有:

  • Reader
  • InputStreamReader
  • FileReader
  • BufferedReader

字符输出流:

常见的字符输出流有:

  • Writer
  • OutputStreamWriter
  • FileWriter
  • BufferedWriter

Java中的运算符

运算符中的优先级如表格所示从上到下进行排序

名称例子
单目运算符+,-,++,--
算数运算符=+,-,*,/,%
移位运算符<<,>>
关系运算符>,<,>=,<=,==,!=
位运算符&,\,~,^
逻辑运算符&&,""
三目运算符表达式1?表达式2:表达式3;
赋值运算符=等

JAVA的Constructor(构造器)

  1. 构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名)
  2. 每个类可以有一个以上的构造器
  3. 构造器可以有0个、1个或1个以上的参数
  4. 构造器没有返回值
  5. 构造器总是伴随着new操作一起调用
  6. 不添加任何构造器会默认有空的构造器

Java中的继承和多重继承

Java类不像c++可以多继承,如A extends B,A extends C,java中的类只可以单继承,那如何在java中实现多继承的效果呢,有以下两种方式
1.实现两个或者多个接口,java对接口并没有“单”实现的要求
2.使用内部类(或者扩展一个类),再用扩展后的类去实现一个或者多个接口

JVM相关知识

  1. jps:查看本机java进程信息。
  2. jstack:打印线程的信息,制作线程dump文件。
  3. jmap:打印内存映射,制作dump文件
  4. jstat:性能监控工具
  5. jhat:内存分析工具
  6. jconsole:简易的可视化控制台
  7. jvisualvm:功能强大的控制台

Linux相关的操作

Linux中tar的用法