zoukankan      html  css  js  c++  java
  • 面试题

    HashMap,在调用get()方法的时候equals()和hashCode()方法都起了什么样的作用?

    当你向HashMap插入一个key的时候,首先,这个对象的hashCode()方法会被调用,调用结果用来计算将要存储的位置。

    因为某个位置上可能以链表的方式已经包含了多个Map.Entry对象,所以HashMap会使用equals()方法来将此对象与所有这些Map.Entry所包含的key进行对比,以确定此key对象是否已经存在。

    Java 最佳实践的面试问题

    a)给线程命名,这样可以帮助调试。
    b)最小化同步的范围,而不是将整个方法同步,只对关键部分做同步。
    c)如果可以,更偏向于使用 volatile 而不是 synchronized。
    d)使用更高层次的并发工具,而不是使用 wait() 和 notify() 来实现线程间通信,如 BlockingQueue,CountDownLatch 及 Semeaphore。
    e)优先使用并发集合,而不是对集合进行同步。并发集合提供更好的可扩展性。

    说出几点 Java 中使用 Collections 的最佳实践
    a)使用正确的集合类,例如,如果不需要同步列表,使用 ArrayList 而不是 Vector。
    b)优先使用并发集合,而不是对集合进行同步。并发集合提供更好的可扩展性。
    c)使用接口代表和访问集合,如使用List存储 ArrayList,使用 Map 存储 HashMap 等等。
    d)使用迭代器来循环集合。
    e)使用集合的时候使用泛型。

    说出 5 条 IO 的最佳实践
    a)使用有缓冲区的 IO 类,而不要单独读取字节或字符。
    b)使用 NIO 和 NIO2
    c)在 finally 块中关闭流,或者使用 try-with-resource 语句。
    d)使用内存映射文件获取更快的 IO。

    列出 5 个应该遵循的 JDBC 最佳实践
    有很多的最佳实践,你可以根据你的喜好来例举。下面是一些更通用的原则:
    a)使用批量的操作来插入和更新数据
    b)使用 PreparedStatement 来避免 SQL 异常,并提高性能。
    c)使用数据库连接池
    d)通过列名来获取结果集,不要使用列的下标来获取。

    下面有几条可以遵循的方法重载的最佳实践来避免造成自动装箱的混乱。
    a)不要重载这样的方法:一个方法接收 int 参数,而另个方法接收 Integer 参数。
    b)不要重载参数数量一致,而只是参数顺序不同的方法。
    c)如果重载的方法参数个数多于 5 个,采用可变参数。

  • 相关阅读:
    Struts2的原理,配置和使用
    tomcat启动异常之----A child container failed during start
    Oracle两表关联更新其中一张表的数据
    jsp隐藏字符串中间部分信息,只显示前后字段
    浏览器会缓存js文件
    tomcat启动项目很快,且不报错,访问报404,项目实际上没起来,起的是空tomcat
    jd-eclipse插件的安装
    Junit4使用总结
    json中dump()与dumps()里的参数解释
    python时间函数和常用格式化
  • 原文地址:https://www.cnblogs.com/yuyangcoder/p/9928538.html
Copyright © 2011-2022 走看看