【2020校招】泛微软件java面试题

1.Java实现多线程的四种方式
方式一:继承Thread类的方式
创建一个继承于Thread类的子类
重写Thread类中的run():将此线程要执行的操作声明在run()
创建Thread的子类的对象
调用此对象的start():①启动线程 ②调用当前线程的run()方法

2.HashMap如何存取值
map.put
map.get

3.数据库如何去重
mysql distinct

4.抽象类与接口的区别
1.抽象类不能被实例化
2.抽象类中可以有零到多个抽象方法,也可以有普通方法
3.如果一个类中包含抽象方法,那么类必须定义为抽象类
4.抽象类中可以有构造方法

1.接口可以理解为一个特殊的抽象类(不能被实例化),但又和抽象类以完全不同的语法定义
2.接口中只能定义常量,不能定义变量;接口中的属性默认用 public static final修饰,接口中的属性都是全局静态常量(由于静态常量不能重新被赋值,因此接口中不允许存在构造方法)
3.接口中的方法全部都是抽象方法,因此类实现接口必须重写接口中的所有方法,否则必须定义为抽象类
4.接口可以实现多继承,但是接口不能继承类;一个类只能继承一个父父类
5.接口产生就是为了达到多重继承的效果

5.单例模式(饿汉,懒汉),那个安全,是怎样避免外部访问的(private关键字)
饿汉模式初始化就创建了对象, 每次调用都返回同一个对象。线程安全。
懒汉模式初始化不创建对象,在使用的时候判断,如果没有才创建。这样在多线程的环境下会存在线程安全问题。 解决方法就是线程加锁

6.可变长字符串
在Java5 中提供了变长参数(varargs)

7.equals:值和地址
  == : 只比较值
  
8.数据库having的搭配
HAVING语句通常与GROUP BY语句联合使用,用来过滤由GROUPBY语句返回的记录集。
HAVING语句的存在弥补了WHERE关键字不能与聚合函数联合使用的不足。
 

发布了108 篇原创文章 · 获赞 34 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/oqqHun123/article/details/104903184
今日推荐