Java 乐观锁和悲观锁

乐观锁和悲观锁的区别?

简单来说,乐观锁就是假设拿数据的都不会修改,所以读不加锁,写入的时候才加锁,去判断读取之后有没有被更新。而悲观锁是假设每次读数据都会修改,所以在读的时候就加锁,一个线程使用的时候,其它线程都阻塞。

Java 集合相关问题整理

ArrayList 和 LinkedList 的区别?

  1. ArrayList 是动态数组的数据结构实现,而 LinkedList 是双向链表的数据结构实现。

  2. ArrayList 比 LinkedList 在随机访问的时候效率要高,因为 LinkedList 是线性的数据存储方式,所以需要移动指针从前往后依次查找。

Java 参数传递是值传递还是引用传递?

Java 语言的参数传递只有「按值传递」。当一个实例对象作为参数被传递到方法中时,参数的值就是该对象的引用的一个副本。指向同一个对象,对象的内容可以在被调用的方法内改变,但对象的引用(不是引用的副本) 是永远不会改变的。

Java 集合框架 相关问题 整理

一、Collections和Collection的区别

  1. java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
  2. java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。