一些面试题(一)

一、linux中,查找日志中的某个词用什么命令?
    1、进入vi命令行模式下,使用“/关键词”进行查找;
    2、如果没有打开文件,使用cat 文件名|grep "关键词"。

二、String类为什么是final的?

    1、效率和安全性的问题;

    2、有助于共享,提高性能。

    3、由于String类不能被继承,所以就不会被修改,这就避免了由继承引起的安全隐患。

    4、String类在程序中出现的频率比较高,直接将其设计为final提高效率。

三、Java创建线程之后,直接调用start()方法和run()的区别?
    答:区别在于当程序调用start方法时一个新线程将会被创建,并且run方法中的代码将会在新线程上运行;然而直接调用run方法,程序并不会创建新的线程,run方法内部的代码将在当前线程上运行。

四、如何让线程同步吗?
    1、使用同步方法(synchronized)
    2、使用同步代码块(synchronized)
    3、使用特殊域变量(volatile)实现线程同步
    4、使用重入锁实现线程同步(ReentrantLock)

五、wait和sleep的区别是什么?
    1、wait是Object类中的方法,sleep是Thread类中提供的一个静态方法
    2、wait方法释放了锁,否则会形成死锁;sleep方法没有释放锁
    3、wait方法必须在同步代码块或者同步方法中使用,而sleep使用在任意的地方。
    4、sleep必须捕获异常,而wait不需要。
    5、wait可以指定时间,也可以不指定,而sleep必须指定时间

六、Mysql怎么分表?
    1、做mysql集群
    2、预先估计会出现大数据量并且访问频繁的表,将其分为若干个表(垂直分割和水平分割)
    3、利用merge存储引擎来实现分表

七、数据库的锁有哪几种?
    1、共享(S)锁:多个事务可封锁一个共享页;任何事务都不能修改该页; 通常是该页被读取完毕,S锁立即被释放。 
    2、排它(X)锁:仅允许一个事务封锁此页;其他任何事务必须等到X锁被释放才能对该页进行访问;X锁一直到事务结束才能被释放。 
    3、更新(U)锁:用来预定要对此页施加X锁,它允许其他事务读,但不允许再施加U锁或X锁;当被读取的页将要被更新时,则升级为X锁;U锁一直到事务结束时才能被释放。

八、synchronied和ReentrantLock的区别?
    1、对Synchronized来说,它是java语言的关键字,是原生语法层面的互斥,需要jvm来实现;而ReentrantLock是JDK1.5之后提供的API层面的互斥锁,需要lock()和unlock()方法配合try/finally语句块来实现。
    2、ReentrantLock拥有Synchronized相同的并发性和内存语义,此外还多了锁投票,定时锁等候和中断锁等候;
    3、Synchronized是JVM层面的实现,不但可以通过一些监控工具监控Synchronized的锁定,而且在代码执行时出现异常,JVM会自动释放锁定,但是使用ReentrantLock不行,它是通过代码实现的,要保证锁定一定会被释放,就必须将unlock()放到finally{}中
    4、在资源竞争不是很激烈的情况下,Synchronized会优于ReentrantLock,但是在资源竞争很激烈的情况下,Synchronized的性能会下降几十倍,而ReentrantLock的性能会维持常态。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿人小郑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值