java基础(5)

1、mysql oracle 区别?

1、提交方式
oracle默认不自动提交,需要用户手动提交
mysql默认是自动提交
2、分区表和分区索引
oracle的分区表和分区索引功能都很成熟,可以提高用户访问db的体验
  mysql的分区表还不太成熟稳定

2、mysql postgresql 区别?

1、mysql更加快速,但是支持的特性较少,但是postgresql则有丰富的特性。
2、mySql是多线程模型,Postgresql是多进程模型。
   多线程相比多进程的优点:线程的创建删除和切换成本低
   多线程相比较多进程的缺点:更容易出现bug

3、ArrayList和HashMap的默认大小是多少?

java7中ArrayList的默认大小是10个元素,HashMap是16

4、我们能自己写一个容器类,然后用for-each循环码?

可以,你可以写一个自己的容器类,如果你想使用java中增强的循环来遍历,你只需要实现Iterable接口,如果你实现Collection接口,默认就具有该属性。

5、Java中的HashSet,内部是如何工作的?

HashSet的内部采用HashMap来实现。由于Map需要key和value,所以所有key都有一个默认value,类似HashMap,HashSet不允许重复的key,只允许一个null key,

6、Java中的TreeMap是采用什么树实现的?

java中的TreeMap是采用红黑树实现的。

7、Java中的LinkedList是单向链表还是双向链表?

双向链表。

8、java中怎么打印数组?

Arrays.toString()

9、poll()方法和remove()方法的区别?

poll()remove()都是从队列中取出一个元素,但是poll()在获取元素失败的时候会返回空,但是remove()失败的时候会抛出异常。

10、“a==b”和”a.equals(b)”有什么区别?

a==b是指比较两个对象的引用,只有当a和b指向的是堆中同一个对象才会返回true,a.equal(b)是进行逻辑比较

11、Java 中堆和栈有什么区别?

栈通常要比堆小,也不会在多个线程之间共享,而堆被整个jvm的所有线程共享。

12、你能保证GC执行吗?

不能,虽然你可以调用System.gc()或者Runtime.gc(),但是没有办法保证GC的执行。

13、int和Integer那个会占用更多的内存?

Integer对象会占用更多的内存,因为Integer是一个对象,需要存储对象的元数据,但是int是一个原始类型的数据

14、Java中++操作符是线程安全的吗?

不是线程安全的操作。它涉及到多个指令,

15、事物的理解

1、事物具有原子性,一致性,持久性,隔离性。
   原子性:是指一个事物中,要么全部执行成功,要么全部失败回滚
   一致性:事物执行之前和执行之后都处于一致性的状态
   持久性:事物多数据的操作是永久性
   隔离性:当一个事物正在对数据进行操作时,另一个事物不可以对数据进行操作。

16、高并发处理

synchronize是锁同步一次只能一个人进行,这时候可以用到锁机制,采用乐观锁可以解决这个问题,乐观锁的简单意思是在不锁定表的情况下,利用业务的控制来解决并发问题,这样既保证数据的可读性,又保证数据的可读性,排他性,保证性能的同时解决了并发带来的脏数据问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值