博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java-----面向面试每日刷10题(31-40)
阅读量:3906 次
发布时间:2019-05-23

本文共 2099 字,大约阅读时间需要 6 分钟。

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

使用for-each循环,迭代器

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

List
strList = new ArrayList<>();//使用for-each循环for(String obj : strList){System.out.println(obj);}//using iteratorIterator
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通讯相反,效率较高,但稳定性较差

转载地址:http://vgqen.baihongyu.com/

你可能感兴趣的文章
Lucene自定义同义词分词器
查看>>
Lucene 自定义分词器
查看>>
Lucene对index操作
查看>>
《构建高性能web站点》笔记--基础架构篇
查看>>
Tomcat工作原理
查看>>
The Apache Velocity Project
查看>>
Java 7 的新特性一览表
查看>>
Tomcat处理HTTP请求源码分析(上)
查看>>
Tomcat处理HTTP请求源码分析(下)
查看>>
SOA在当今中国企业的发展现状
查看>>
系统架构设计的一点思考
查看>>
认识抽象的陷阱-过度设计
查看>>
Golang分布式设计模式之-----分层设计
查看>>
Golang分布式设计模式之-----星型拓扑分形设计
查看>>
Golang分布式并发---群体性热点淘汰算法
查看>>
golang设计模式的一些看法
查看>>
群体智能算法-黏菌寻找食物最优路线行为模拟
查看>>
群体智能算法-黏菌寻找食物最优路线行为模拟 2
查看>>
【原创】k8s源码分析------kube-apiserver分析(1)
查看>>
【原创】k8s源码分析------kube-apiserver分析(2)
查看>>