4月26日用友面试题__全解析

1、下面哪些是Thread类的方法()

A start()       B run()       C exit()       D toString()

答案:ABD

解析:看Java API docs吧:http://docs.oracle.com/javase/7/docs/api/,exit()是System类的方法,如System.exit(0)。

2、下面关于java.lang.Exception类的说法正确的是()

A 继承自Throwable      B Serialable     C 以上说法都不对

答案:A
解析: Java异常的基类为java.lang.Throwable,java.lang.Error和java.lang.Exception继承 Throwable,RuntimeException和其它的Exception等继承Exception,具体的RuntimeException继承RuntimeException。

3、下面程序的运行结果是()

String str1 = "hello";
String str2 = "he" + new String("llo");
System.err.println(str1 == str2);

答案:false
解析: 因为str2中的llo是新申请的内存块,而==判断的是对象的地址而非值,所以不一样。
如果是String str2 = str1,那么就是true了。

4、下面程序的运行结果:()

public static void main(String args[]) {

        Thread t = new Thread() {

            public void run() {
                pong();
            }
        };

        t.run();
        System.out.print("ping");

    }

    static void pong() {

        System.out.print("pong");

    }


A pingpong        B pongping       C pingpong和pongping都有可能       D 都不输出

答案:B
解析: 这里考的是Thread类中start()和run()方法的区别了。start()用来启动一个线程,当调用start方法后,系统才会开启一个新的线程,进而调用run()方法来执行任务,而单独的调用run()就跟调用普通方法是一样的,已经失去线程的特性了。因此在启动一个线程的时候一定要使用start()而不是run()。
扩展:这里如果是.start(),输出的就是A pingpong了,原因在于每个 Java 程序都至少有一个线程 —主线程。当一个 Java 程序启动时,JVM 会创建主线程,并在该线程中调用程序的 main() 方法。在主线程挂起的时候,Thread线程才开始运行。所以,如果是start(),结果会是pingpong。

5、数据库表A有两行数据(A,1),(B,2),数据库表B有两行数据(A,1),(B,4),10分

 1)SELECT * FROM A UNION SELECT * FROM B 的结果集?
  答:(A,1),(B,2),(B,4)
 2)SELECT * FROM A UNION ALL SELECT * FROM B 的结果集?
  答:(A,1),(B,2),(A,1),(B,4)

效率:
UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。

1、对重复结果的处理:UNION在进行表链接后会筛选掉重复的记录,Union All不会去除重复记录。

2、对排序的处理:Union将会按照字段的顺序进行排序;UNION ALL只是简单的将两个结果合并后就返回。

从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复数据且不需要排序时的话,那么就使用UNION ALL。

6、下列属于关系型数据库的是()

A. Oracle    B MySql    C IMS     D MongoDB

答案:AB
解析: IMS(Information Management System )数据库是IBM公司开发的两种数据库类型之一;

一种是关系数据库,典型代表产品:DB2;

另一种则是层次数据库,代表产品:IMS层次数据库。

非关系型数据库有MongoDB、memcachedb、Redis等。

7、Javascript “1”==1和”1”===1的结果分别是什么()

A false false   B true true   C true false   D false true

答案:C
解析: 在javascript里,”==”与”===”是不同的,一个是判断值是否相等,一个是判断值及类型是否完全相等。
对于string,number等基本类型而言,
1)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等
2)同类型比较,直接进行“值”比较ÿ

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以使用Java中的期格式化类`SimpleDateFormat`来实现期的转换。具体步骤如下: 1. 创建一个`SimpleDateFormat`对象,指定输入期的格式。 2. 解析输入期,得到一个`Date`对象。 3. 创建另一个`SimpleDateFormat`对象,指定输出期的格式。 4. 使用第二个`SimpleDateFormat`对象将`Date`对象格式化为字符串,即可得到年格式的期。 下面是一个示例代码: ```java import java.text.SimpleDateFormat; import java.util.Date; public class DateUtils { /** * 将年格式的期转换为年格式的期 * @param dateStr 年格式的期字符串,例如:06/30/2022 * @return 年格式的期字符串,例如:2022-06-30 */ public static String convertDate(String dateStr) { // 创建输入期的格式化对象 SimpleDateFormat inputFormat = new SimpleDateFormat("MM/dd/yyyy"); // 解析输入期,得到Date对象 Date date = null; try { date = inputFormat.parse(dateStr); } catch (Exception e) { e.printStackTrace(); } // 创建输出期的格式化对象 SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd"); // 将Date对象格式化为字符串 String outputDate = outputFormat.format(date); return outputDate; } } ``` 使用示例: ```java public class Test { public static void main(String[] args) { String inputDate = "06/30/2022"; String outputDate = DateUtils.convertDate(inputDate); System.out.println(outputDate); // 输出:2022-06-30 } } ``` 注意,以上代码中的期格式和期字符串仅为示例,实际使用时需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值