- run方法和start方法的区别:调用start方法会启动一个线程,新线程处于就绪状态,现在可以由JVM调度此线程,JVM通过调用run方法调度此线程,run执行结束后,线程结束。如果调用run方法,则相当于简单的函数调用,没有新建线程。
- native是JAVA调用非JAVA代码的接口。native用在方法体上,表明该函数是由非JAVA语言实现的,如c,该方法不提供实现,在外部提供非JAVA实现。JAVA可以通过JNI(JAVA native interface)对操作系统底层进行操作。
-
default关键字:可以在switch语句中使用,第二种使用方式是放在接口中,可以用在接口中修饰方法,并实现方法。
interface demo{ //相当于一个普通的方法,需要实现接口,创建对象,才能调用 default void showDefault(){ System.out.println("this is default"); } //只能通过接口名调用 static void showStatic(){ System.out.println("this is static"); } }
-
TCP:三次握手:
客户机发送请求连接请求(SYN),并进入同步已发送态,服务器接受到请求,并回应已接到(SYN+ACK),进入同步收到状态,客户机收到回应,并发送确认建立连接(ACK),客户机进入已建立连接状态,服务器收到建立连接请求,进入已建立连接状态。
四次挥手:
客户机发送FIN报文,服务器收到并回应ACK报文,如果服务器仍有数据需要发送,仍可以发送。服务器无数据发送后,向客户机发送FIN报文,客户机回应ACK请求,在等待2MSL时间后仍没有回应,则关闭。