Java-----面向面试每日刷10题(31-40)

31、遍历一个List有哪些不同的方式?

使用for-each循环,迭代器
使用迭代器更加线程安全,因为它可以确保,在当前遍历的集合元素被更改的时候,它会抛ConcurrentModificationException

List<String> strList = new ArrayList<>();

//使用for-each循环

for(String obj : strList){

System.out.println(obj);

}

//using iterator

Iterator<String> it = strList.iterator();

while(it.hasNext()){

String obj = it.next();

System.out.println(obj);

}

32、Arraylist和Linkedlist的区别?

ArrayList、LinkedList、Vector和Stack是List的四个实现类,其中Vector是基于JDK1.0,虽然实现了同步,但是效率低,已经不用了,Stack继承Vector
区别:

  1. ArrayList是实现了基于动态数组的数据结构,而LinkedList是基于链表的数据结构
  2. 对于随机访问get和set,ArrayList要优于LinkedList,LinkedList不支持高效的随机访问
  3. ArrayList适合查找,LinkedList适合增删

33、写出JDBC操作数据库的步骤?

1:加载驱动
2:创建连接
3:创建语句
4:执行语句
5:处理结果
6:关闭资源

1:加载驱动
    Class.forName("oracle.jdbc.driver.OracleDriver");
2:创建连接
    Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "1111", "1111");
3:创建语句
    PreparedStatement ps = con.prepareStatement("select * from user");
4:执行语句
    ResultSet rs = ps.executeQuery();
5:处理结果
    while(rs.next()) {
        rs.get.....(“”);
    }
6:关闭资源
    finally {
        if(con != null) {
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

34、HashTable和HashMap有什么区别?

1.HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口
2.主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高Hashtable
3.HashMap允许将null作为一个entry的key或者value,而Hashtable不允许
4.最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是

35、一个汉字几个字节,一个char类型的变量,能储存一个汉字吗?

两个字节,可以存储,前提是汉字必须是Unicode编码

36、前后台数据交互的方式有哪些?

json、file、xml、jsonp等

37、==与equals有什么区别?

==:比较两个数据内存地址是否相同
equals:比较两个数据值是否一样

38、谈谈你对MVC的理解?

MVC:是一个框架设计模式,其中M(模型)、V(视图)、C(控制器)
视图:视图向用户显示相关的数据,并接受用户的输入。视图不进行任何业务逻辑处理。如:jsp、html等
模型:表示业务数据和业务处理。属于数据模型,如:entity、jdbc、hibernate、mybatis等
控制器:接收、响应用户请求,servlet、action、controller等

39、请说出你所知道的线程同步的方法?

wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。 notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。
Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。

40、TCP和UDP的区别?

TCP稳定性较高,但效率低
UDP通讯相反,效率较高,但稳定性较差

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值