昨天面试题目回忆

1 . 谈谈Java关键字transient和volatile。

       
transient
        把一个对象的表示转化为字节流的过程称为串行化serialization,从字节流中把对象重建出来称为反串行化deserialization,transient 为不应被串行化的数据提供了一个语言级的标记数据方法。
        对象的序列化(serialization)非常影响I/O的性能,尽量少用。对不需序列化的类的域使用transient关键字,以减少序列化的数据量。

         参考:Serializable( 中文英文
                     Java Serialization Example
                     Serializable java序列化可能带来的问题
                     空接口的使用( 给JAVA设计开发新手的一些建议和意见

       
volatile
       在Java中设置变量值的操作,除了long和double类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。这在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一致。要解决这个问题,只需要像在本程序中的这样,把该变量声明为volatile(不稳定的)即可,这就指示JVM,这个变量是不稳定的,每次使用它都到主存中进行读取。一般说来,多任务环境下各任务间共享的标志都应该加volatile修饰。( 来源其他参考
 
2.  一个关于swing的问题,忘记了,好像是组件之间如何传递消息,或者是窗口之间如何传递消息。
 
3.  一道关于Web Service的问题。 大意是一台机器上的程序使用VC dom写的,另一台机器提供的是J2EE服务,前者想使用后者的服务,该怎么做?(大意如此,我至今也不知道怎么做)

4.  写出下面程序的执行结果
 class Base {
         void showLine() {
                     System.out.println ("This method is in the base class.");
         }
  }

 class Test extends Base {
         void showLine() {
                     System.out.println("This method is in the test class.");
          }
          public static void main(String args[]) {
                      Base b = new Base();
                      Test  t = new Test();
                      b.showLine();
                      t.showLine();
                      b = t;
                       b.showLine();
            }
 }

答:This method is in the base class.
        This method is in the test class.
        This method is in the test class.

5. 一个职工的个人信息包含:姓名,年龄,头衔等,其中头衔可以有若干也可以没有。 设计一个职工类,并设计相关方法,方法体请留空。
  
(我觉得主要是考一下对类的域的访问权限的问题,其他也没什么。考察类的合理封装。)



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值