当前位置: 移动技术网 > IT编程>开发语言>Java > 京东1、2 面

京东1、2 面

2020年07月22日  | 移动技术网IT编程  | 我要评论
大家好,我是方圆目录1. Java中什么是值传递什么是引用传递?2. Java中有什么数据类型?3. ArrayList 和 LinkedList 有啥区别4. 知道HashSet吗?5. ArrayList 和 HashSet 有什么区别?6. 什么时候用Set什么时候用List?7. String、StringBuffer、StringBuilder 的区别8. 什么时候用上面三者?9. 说说Spring IOC?10. @Autowired 和 @Resource有什么区别?11. 如果代码中写.

大家好,我是方圆


1. Java中什么是值传递什么是引用传递?

基本数据类型是值传递,对象作为参数传递是引用传递

2. Java中有什么数据类型?

基本数据类型:byte、short、int、long、char、boolean、float、double
引用数据类型:类、接口、String、数组,集合

3. ArrayList 和 LinkedList 有啥区别

ArrayList底层是数组,查询快增删慢,能扩容
LinkedList底层是链表,查找慢增删快,不需要进行扩容

4. 知道HashSet吗?

HashSet底层封装的是HashMap,它其中存储的值是不允许重复的

5. ArrayList 和 HashSet 有什么区别?

前者底层是数组,其中的元素是有序且能够重复的
后者底层是HashMap,其中的元素不能重复且无序

6. 什么时候用Set什么时候用List?

需要重复并且要通过索引能够访问的时候使用ArrayList
set的话,要求元素不重复的时候使用

7. String、StringBuffer、StringBuilder 的区别

String被final关键字修饰,它是不可以改变的
StringBuffer可以改变,它是线程安全的
StringBuilder也可以修改,它是线程不安全的

8. 什么时候用上面三者?

String类型一般用作key值使用,比如HashMap中的key,它自己是不可以改变的
StringBuffer和StringBuilder在字符串需要改变的时候用,但是如果要保证线程安全的话用StringBuffer,否则就使用StringBuilder

9. 说说Spring IOC?

控制翻转,就是新建bean实例的时候不再使用new关键字,而是通过容器对bean进行管理,使用依赖注入的方法来实现

10. @Autowired 和 @Resource有什么区别?

@Resource默认是通过byName进行装配的,也支持byType装配,它也可以指定注入的bean的名称
@Autowired默认是byType装配,如果需要通过byName装配的话,可以再加上@Qualifier注解,指定bean的名字

11. 如果代码中写了@Autowired但是实际上不想让他装载,应该怎么办?

不注册bean,然后将@Autowired其中required属性改为false

12. Spring 单例有什么好处和坏处?

好处:保证只存在一个实例,节省内存,而且方便垃圾回收
坏处:在多线程下使用可能会不安全

13. Mybatis 中 # 和 $ 有啥区别?

#{}是占位符,能够进行预编译处理,能够防止sql注入的问题
${}是字符串连接符,不能防止sql注入问题,可能会导致sql语句逻辑改变

14. 什么是 Spring AOP?

面向切面编程,能够实现程序的横向扩展,降低耦合,提高可维护性


1. JVM的垃圾收集算法

复制算法,标记清除算法,标记整理算法

2. 红黑树产生的背景和应用

因为平衡二叉树查找比较高效,但是删除的话效率比较低,红黑出的出现弥补了它的这种缺点,它能实现高效的添加和删除,应用的话,在JDK1.8的时候,在HashMap中引入了红黑树

3. 查看端口是否被占用用什么命令?怎么查看端口的 TCP 连接呢?

lsof -i:端口号
netstat -tunlp 查看tcp和udp先关的进程

本文地址:https://blog.csdn.net/qq_46225886/article/details/107472849

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网