Java 乐观锁和悲观锁

乐观锁和悲观锁的区别?

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

Java 集合相关问题整理

ArrayList 和 LinkedList 的区别?

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

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

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

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