Java 最佳实践的经验

Java 最佳实践的面试问题

包含 Java 中各个部分的最佳实践,如集合,字符串,IO,多线程,错误和异常处理,设计模式等等。

76)Java 中,编写多线程程序的时候你会遵循哪些最佳实践?(答案)

这是我在写Java 并发程序的时候遵循的一些最佳实践:

a)给线程命名,这样可以帮助调试。

b)最小化同步的范围,而不是将整个方法同步,只对关键部分做同步。

c)如果可以,更偏向于使用 volatile 而不是 synchronized。

d)使用更高层次的并发工具,而不是使用 wait() 和 notify() 来实现线程间通信,如 BlockingQueue,CountDownLatch 及 Semeaphore。

e)优先使用并发集合,而不是对集合进行同步。并发集合提供更好的可扩展性。

77)说出几点 Java 中使用 Collections 的最佳实践(答案)

这是我在使用 Java 中 Collectionc 类的一些最佳实践:

a)使用正确的集合类,例如,如果不需要同步列表,使用 ArrayList 而不是 Vector。

b)优先使用并发集合,而不是对集合进行同步。并发集合提供更好的可扩展性。

c)使用接口代表和访问集合,如使用List存储 ArrayList,使用 Map 存储 HashMap 等等。

d)使用迭代器来循环集合。

e)使用集合的时候使用泛型。

78)说出至少 5 点在 Java 中使用线程的最佳实践。(答案)

a)对线程命名

b)将线程和任务分离,使用线程池来执行 Runnable 或 Callable。

c)使用线程池

79)说出 5 条 IO 的最佳实践(答案)

IO 对 Java 应用的性能非常重要。理想情况下,你不应该在你应用的关键路径上避免 IO 操作。下面是一些你应该遵循的 Java IO 最佳实践:

a)使用有缓冲区的 IO 类,而不要单独读取字节或字符。

b)使用 NIO 和 NIO2

c)在 finally 块中关闭流,或者使用 try-with-resource 语句。

d)使用内存映射文件获取更快的 IO。

80)列出 5 个应该遵循的 JDBC 最佳实践(答案)

a)使用批量的操作来插入和更新数据

b)使用 PreparedStatement 来避免 SQL 异常,并提高性能。

c)使用数据库连接池

d)通过列名来获取结果集,不要使用列的下标来获取。

同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;异步是指进程不需要一直等下去,而是继续执行下面的操作。

即当多个线程需要访问同一个资源时,同步来确保该资源在某一特定时刻只能被一个线程所访问,如果使用异步,程序的运行结果将不可预料。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 127,638评论 18 546
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 28,504评论 10 316
  • 转自 www.jianshu.com/p/bd1bfc0c34b8 作为一个程序员,在找工作的过程中,都会遇到笔试...
    灬黑客灬阅读 3,706评论 0 119
  • 下班后一路走一路看,看到了果实累累的柏树,突然想起之前在路边看到好多人在摘,据说可以做成枕头,当时还想怎么做枕头呢...
    淡然温婉阅读 224评论 0 0