java基础回顾(包含面试题)<1>

在实现工作中久了,对于java的基础反而模糊了很多,特别是一些理论,最近在面试中,我也会把我这几天在android岗位面试中遇到的java面试题也分享给大家(后续会把android的面试知识点也一起分享),随便整理了一下java的基础知识点,随便分享给正在找工作的童鞋们一起来回顾,希望能找到一个满意的工作!

1)a = a + b 与 a += b 的区别(答案)

+= 隐式的将加操作的结果类型强制转换为持有结果的类型。如果两这个整型相加,如 byte、short 或者 int,首先会将它们提升到 int 类型,然后在执行加法操作。如果加法操作的结果比 a 的最大值要大,则 a+b 会出现编译错误,但是 a += b 没问题,如下:

byte a = 127;

byte b = 127;

b = a + b; // error : cannot convert from int to byte

b += a; // ok

(译者注:这个地方应该表述的有误,其实无论 a+b 的值为多少,编译器都会报错,因为 a+b 操作会将 a、b 提升为 int 类型,所以将 int 类型赋值给 byte 就会编译出错)

2)String min = "ab"; String max = "cabcdefjabfdemdadabc",统计大串中小串出现的次数字,手写编程

public static void main(String[] args) {

//定义大串

String max = "cabcdefjabfdemdadabc";

//定义小串

String min = "ab";

//定义计数器变量

int count = 0;

//定义索引

int index = 0;

//定义循环,判断小串是否在大串中出现

while((index = max.indexOf(min)) != -1) {

count++; //计数器自增

max = max.substring(index + min.length());

}

System.out.println(count);

}


String字符串的一些API:

int length():获取字符串的长度。

char charAt(int index):获取指定索引位置的字符

* int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。

* int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引。

* int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。

* int indexOf(String str,int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引。

* lastIndexOf

* String substring(int start):从指定位置开始截取字符串,默认到末尾。

* String substring(int start,int end):从指定位置开始到指定位置结束截取字符串。

3)json的解析


4)==号与equals()方法的区别:

==: 基本数据类型比较的是值是否相等, 引用数据类型比较的是地址值是否相等

equals(): 只能比较引用数据类型, 未重写之前,比较的是对象的地址值是否相同, 重写之后, 比较的是对象的属性值是否相同.

5)解释 Java 堆空间及 GC?(答案)

当通过 Java 命令启动 Java 进程的时候,会为它分配内存。内存的一部分用于创建堆空间,当程序中创建对象的时候,就从对空间中分配内存。GC 是 JVM 内部的一个进程,回收无效对象的内存用于将来的分配。

6)Java 中堆和栈有什么区别?(答案)

JVM 中堆和栈属于不同的内存区域,使用目的也不同。栈常用于保存方法帧和局部变量,而对象总是在堆上分配。栈通常都比堆小,也不会在多个线程之间共享,而堆被整个 JVM 的所有线程共享。

你可能感兴趣的:(java基础回顾(包含面试题)<1>)