java常见问题目录
java基础问题
Java概念
1.JRE、JVM、JDK的关系
JDK=JRE+JAVA的开发工具(javac.exe,java.exe,javadoc.exe等)
JRE=JVM+JAVA核心类库
2.Java编写步骤
- 编写java的源代码
- javac 编译 ,得到对应的 .class 字节码文件
- java 运行, 本质就是把 .class 加载到jvm 运行
3.Java编写7个规范
- 类,方法的注释,使用javadoc的方式,即文档注释
- 非javadoc注释,往往是对代码的说明(给程序的维护者),说明如何修改,注意事项
- 使用tab ,整体将代码右移, 使用 shift+tab 整体左移
- 运算符和 = 的两边,给空格,代码看上去清楚 int n = 1 + 4;
- 源码文件使用 utf-8编码1
- 行宽字符不要超过 80
- 代码编程风格有两种行尾风格(推荐),次行风格
4.数据类型
基本数据类型
数值型:
整数(byte 1,short 2,int 4,long 8 )
浮点(小数)float 4 double 8
字符型(char 2)存放单个字符 ‘c’
布尔型(boolean 1)存放true false
引用数据类型:
类 class
接口 interface
数组([ ])
5. /r 转义字符
回车符
System.out.println("教育\r北京");
// 北京
6.++、- -
// int i = 1;//i->1
// i = i++; //t为使用临时变量: (1) t=i;(2) i=i+1;(3)i=t;
// System.out.println(i); // 1
// int i=1;
// i=++i; //t为规则使用临时变量: (1) i=i+1;(2) t=i;(3)i=t;
// System.out.println(i); //2
//
// 测试输出
int i1 = 10;
int i2 = 20;
int i = i1++;
System.out.print("i="+i);//10
System.out.println("i2="+i2);//20
i = --i2;
System.out.print("i="+i);//19
System.out.println("i2="+i2);//19
遇到的不懂的java代码
1.serialVersionUID
serialVersionUID:意思是序列化的版本号。
【作用】一些java类中为什么需要重载 serialVersionUID 属性。在Java中,软件的兼容性是一个大问题,尤其在使用到对象串行性的时候,那么在某一个对象已经被串行化了,可是这个对象又被修改后重新部署了,那么在这种情况下, 用老软件来读取新文件格式虽然不是什么难事,但是有可能丢失一些信息。serialVersionUID来解决这些问题,新增的serialVersionUID必须定义成下面这种形式:static final long serialVersionUID=-2805284943658356093L;。其中数字后面加上的L表示这是一个long值。 通过这种方式来解决不同的版本之间的串行话问题。
【生成方式】它有两种显示的生成方式:
一个是默认的1L,比如:private static final long serialVersionUID = 1L;。
一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如:private static final long serialVersionUID = xxxxL。