7.26 (1)
1 URL(Uniform Resource Locator) ,统一资源定位符,能够对因特网的资源进行定位。
URL一般有四部分组成: <协议>://<主机>:<端口>/<路径> 
现在最常用的<协议>为http协议。
<主机>是指主机在因特网上的域名。ip地址+子网掩码=主机号
http协议的默认<端口>为80(可以省略)。
<路径>是指要活的的文件的路径。
<主机>是指主机在因特网上的域名。ip地址+子网掩码=主机号
http协议的默认<端口>为80(可以省略)。
<路径>是指要活的的文件的路径。
2 下列哪种情况可以终止当前线程的运行?
当一个优先级高的线程进入就绪状态时
当该线程调用sleep()方法时
当创建一个新线程
抛出一个异常时
答案:D
优先级高的并不一定会马上执行。
sleep方法会阻塞一个线程并不会终止
创建一个新的线程时也不会终止另一个线程
当抛出一个异常后程序会结束,所以线程也会被终止
要想答对这道题,要区分“终止” 和 “阻塞”:
- 终止:这个线程不会在进入“就绪态”,宣告死亡,即“死亡状态”。
- 阻塞:进入阻塞态的线程还可以再进入“就绪态”,等待下一次 CPU 时间。
然后是对线程的 5 个状态的理解:
1. 新建,刚刚新建的线程,还未进入就绪队列
2. 就绪,进入就绪队列的线程拥有了获得 CPU 时间的机会,但不是一定会马上执行,与线程调度有关。
3. 运行,获得了 CPU 时间,正在被执行的线程。
4. 阻塞,进入阻塞状态的线程只是暂时失去了 CPU 时间,该类线程没有结束,“阻塞态”的线程只能进入到“就绪态”。
5. 死亡,死亡的线程即彻底结束了。
下面总结下使一个线程进入阻塞状态的方法:
1. sleep() / suspend()
2. 发生IO阻塞
3. 等待同步锁
4. 等待通知
解除一个线程的阻塞状态,使之进入就绪态的方法:
1. sleep() 指定的睡眠时间到了
2. IO阻塞解除
3. 获得同步锁
4. 收到通知
5. 调用了 suspend() 的线程阻塞后,再调用 resume() 解除阻塞
3 @SuppressWarnings(“deprecation”)的功能是什么?  屏蔽不赞同使用的类和方法的警告
1.Java三大注解分别是@Override @Deprecated @Suppresswarnings
2.@Override 注解表名 子类中覆盖了超类中的某个方法,如果写错了覆盖形式,编译器会报错
3.@Deprecated 表明不希望别人在以后使用这个类,方法,变量等等
4.@Suppresswarnings 达到抑制编译器产生警告的目的,但是不建议使用,因为后期编码人员看不懂编译器提示的警告,不能更好的选择更好的类去完成任务
4 下列不正确的 Java 语言标识符是( )
Sky $Computer for NULL
Java标识符命名规范是:1)只能包含字母a-zA-Z,数字0-9,下划线_和美元符号$;2)首字母不能为数字;3)关键字和保留字不能作为标识符。null是关键字,NULL不是关键字,java区分大小写。这题答案D是对的,但C是错的,for是关键字。5以下Java程序运行的结果是:
| 1 2 3 4 5 6 7 8 9 10 11 12 | public class Tester{public static void main(String[] args){   Integer var1=newInteger(1);   Integer var2=var1;   doSomething(var2);   System.out.print(var1.intValue());   System.out.print(var1==var2);}public static void doSomething(Integer integer){    integer=newInteger(2);    }} | 
答案: 1true
主要分析下doSomething(),引用传递指的是传递的时候,传递的是对象的引用,而不是传递的对象本身。
因为这里传递的是引用,而不是地址值,即新建了一个Integer integer,其指向var2所指向的那个栈中的1.至此,integer和var毫无关系,除了同时指向同一个栈中的值。然后integer = new Integer(2);便是在栈中新建了一个为2的值,然后integer重新指向了这个栈中的值。所以var1和var2都没有改变,都是指向栈中为1的那个值。 
同时说明下: == 与equal
equal是内容的比较
==是引用的比较 ,也就是地址的比较
同时说明下: == 与equal
equal是内容的比较
==是引用的比较 ,也就是地址的比较
 
6 在jdk1.5之后,下列 java 程序输出结果为______。
| 1 2 3 4 | inti=0;Integer j = newInteger(0);System.out.println(i==j);System.out.println(j.equals(i)); | 
 答案: true true
 本题是一个自动拆装箱的考题(自动拆装箱JDK需在1.5上),下面的讨论都不针对新开辟对象的情况:
1、基本型和基本型封装型进行“==”运算符的比较,基本型封装型将会自动拆箱变为基本型后再进行比较,因此Integer(0)会自动拆箱为int类型再进行比较,显然返回true;
2、两个Integer类型进行“==”比较,如果其值在-128至127,那么返回true,否则返回false, 这跟Integer.valueOf()的缓冲对象有关,这里不进行赘述。
3、两个基本型的封装型进行equals()比较,首先equals()会比较类型,如果类型相同,则继续比较值,如果值也相同,返回true
4、基本型封装类型调用equals(),但是参数是基本类型,这时候,先会进行自动装箱,基本型转换为其封装类型,再进行3中的比较。
1、基本型和基本型封装型进行“==”运算符的比较,基本型封装型将会自动拆箱变为基本型后再进行比较,因此Integer(0)会自动拆箱为int类型再进行比较,显然返回true;
2、两个Integer类型进行“==”比较,如果其值在-128至127,那么返回true,否则返回false, 这跟Integer.valueOf()的缓冲对象有关,这里不进行赘述。
3、两个基本型的封装型进行equals()比较,首先equals()会比较类型,如果类型相同,则继续比较值,如果值也相同,返回true
4、基本型封装类型调用equals(),但是参数是基本类型,这时候,先会进行自动装箱,基本型转换为其封装类型,再进行3中的比较。
7 count初始值为0
执行count = count++ 语句后,count依然是0
 原理是 temp = count; count = count+1 ; count = temp;   因此count始终是0 
count = count ++;这个先将count这个值0暂存起来,然后count自加1变成1,最后将暂存的值赋值给count,count最终的值为0
8 存根(Stub)与以下哪种技术有关   动态链接
适配器模式 ,屏蔽远程对象 通过适配器模拟本地对象  ,本地对象称之为存根
            
 
作者:shareidea            
 
出处:https://www.cnblogs.com/shareidea94/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。   
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号