Day16刷题总结

选择题

  1. _______意味着一个操作在不同的类中可以有不同的实现方式。(A)
    A.多态性
    B.多继承
    C.类的组合
    D.类的复用
  2. 代码 System.out.println(10%3*2);将打印?(B)
    A.1
    B.2
    C.4
    D.6
  3. 下面的程序输出的结果是(B )
    public class A implements B{
    public static void main(String args[]){
    int i;
    A a1=new A();
    i =a1.k;
    System.out.println(“i=”+i);
    }
    }
    interface B{
    int k=10;
    }
    A.i=0
    B.i=10
    C.程序有编译错误
    D.i=true
  4. java中下面哪个能创建并启动线程()
    public class MyRunnable implements Runnable {
    public void run() {
    //some code here
    }
    }
    A.new Runnable(MyRunnable).start()
    B.new Thread(MyRunnable).run()
    C.new Thread(new MyRunnable()).start()
    D.new MyRunnable().start()
    解析:
    首先:创建并启动线程的过程为:定义线程—》实例化线程—》启动线程。
    一 、定义线程: 1、扩展java.lang.Thread类。 2、实现java.lang.Runnable接口。
    二、实例化线程: 1、如果是扩展java.lang.Thread类的线程,则直接new即可。
    2、如果是实现了java.lang.Runnable接口的类,则用Thread的构造方法:
    Thread(Runnable target)
    Thread(Runnable target, String name)
    Thread(ThreadGroup group, Runnable target)
    Thread(ThreadGroup group, Runnable target, String name)
    Thread(ThreadGroup group, Runnable target, String name, long stackSize)
    所以A、D的实例化线程错误。
    三、启动线程: 在线程的Thread对象上调用start()方法,而不是run()或者别的方法。
    所以B的启动线程方法错误。
  5. 对下面Spring声明式事务的配置含义的说明错误的是(C)
    A.定义了声明式事务的配置模板
    B.对get方法采用只读事务
    C.缺少sessionFactory属性的注入
    D.配置需要事务管理的bean的代理时,通过parent引用这个配置模板,代码如下:
<bean id="petBiz" parent="txProxyTemplate">
         <property name="target" ref="petTarget"/>
</bean>

解析:

配置事务管理器
  <property name="transactionManager">
配置事务属性
  <property name="transactionAttributes">        <props>

声明式事务 管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过基于@Transactional注解的方式),便可以将事务规则应用到业务逻辑中。

  • TextField 的事件监听器接口是(A)
    A.ActionListener
    B.ChangeListener
    C.ItemListener
    D.WindowListener
  • static String str0=“0123456789”;
    static String str1=“0123456789”;
    String str2=str1.substring(5);
    String str3=new String(str2);
    String str4=new String(str3.toCharArray());
    str0=null;
    假定str0,…,str4后序代码都是只读引用。
    Java 7中,以上述代码为基础,在发生过一次FullGC后,上述代码在Heap空间(不包括PermGen)保留的字符数为(C)
    A.5
    B.10
    C.15
    D.20
  • 以下代码执行的结果显示是多少(D )?
    在这里插入图片描述
    A.true,false,true
    B.false,true,false
    C.true,true,false
    D.false,false,true
    解析:
    在这里插入图片描述
  • A,B,C,D 中哪些是 setvar的重载?(ACD)
    public class methodover
    {
    public void setVar(int a, int b, float c) {}
    }
    A.private void setVar(int a, float c, int b){}
    B.protected void setVar(int a, int b, float c){}
    C.public int setVar(int a, float c, int b){return a;}
    D.public int setVar(int a, float c){return a;}
  • 下面有关 java 类加载器,说法正确的是?(ABCD)
    A.引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的
    B.扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。
    C.系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类
    D.tomcat 为每个 App 创建一个 Loader,里面保存着此 WebApp 的 ClassLoader。需要加载 WebApp 下的类时,就取出 ClassLoader 来使用

猜你喜欢

转载自blog.csdn.net/sl1130398099/article/details/83511455