京东面试经历

Jvm内存结构描述

++i是否是线程安全的,为什么

什么情况下,索引会失效

mybatis,事物,#和$的区别,防止sql注入,

struts2的原理,如何获取执行方法,漏洞原理,如何防止。

spring,核心,流程

rpc框架

了解多少?dubbo如何通信,为什么通信快和普通http请求区别,原理是什么,其中一台服务器挂了如何执行,协调,说了zookeeper,问zookeeper中心挂了是否影响通信,如何知道zookeeper是否挂了。

redis,基本数据类型是什么,hash如何存储,如何存储对象,如何存储字符串,是单线程还是多线程,单线程如何保证安全,为什么比membercache快,热点数据淘汰机制,lru算法原理。主从分离和集群区别。

kafka原理。和其它mq比较,消息对了数据如何存储的,

数据库,sellect,from,where,group by执行顺序,

索引,原理,订单支付状态是否适合索引,索引和锁之间的关系,悲观锁和乐观锁概念如何使用,mysql所有引擎介绍,比如innerdb引擎,mysql是行级锁还是表级别锁,行级锁还是表级别锁有什么区别,优缺点。脏读、幻读原因

索引和锁之间的关系

线程:多线程之间顺序,为什么多线程会有问题,lock锁没有执行finally释放锁怎么办?

算法,计算查询某天属于周几

linxu:top命令,如何看负载,

lucene原理,索引原理和数据库索引原理区别,为什么快。

最后一面,一个奇葩问题,计算你学校共享单车使用量是多少?

 

 

1、有三个线程T1 T2 T3,如何保证他们按顺序执行

答案:使用join,注意join方法是Thread.join方法,是线程的方法。

 

thread类常用方法:

start();//启动线程

getId();//获得线程ID

getName();//获得线程名字

getPriority();//获得优先权

isAlive();//判断线程是否活动

isDaemon();//判断是否守护线程

getState();//获得线程状态

sleep(long mill);//休眠线程

join();//等待线程结束

yield();//放弃cpu使用权利

interrupt();//中断线程

currentThread();//获得正在执行的线程对象

 

2、那如何让 两个线程按照指定方式有序交叉运行呢?

这里,我们可以利用 object.wait() 和 object.notify() 两个方法来实现。代码如下:

wait/notify必须存在于synchronized块中。

我现在希望 A 在打印完 1 后,再让 B 打印 1, 2, 3,最后再回到 A 继续打印 2, 3。这种需求下,显然 Thread.join() 已经不能满足了。我们需要更细粒度的锁来控制执行顺序。

 

3、四个线程 A B C D,其中 D 要等到 A B C 全执行完毕后才执行,而且 A B C 是同步运行的

需要用到CountdownLatch,CountDownLatch 就是一个倒计数器,

它的基本用法是:

  1. 创建一个计数器,设置初始值,CountdownLatch countDownLatch = new CountDownLatch(2);
  2. 在 等待线程 里调用 countDownLatch.await() 方法,进入等待状态,直到计数值变成 0;
  3. 在 其他线程 里,调用 countDownLatch.countDown() 方法,该方法会将计数值减小 1;
  4. 当 其他线程 的 countDown() 方法把计数值变成 0 时,等待线程 里的 countDownLatch.await() 立即退出,继续执行下面的代码。
  5.  

 

 

 

 

Thread.yield() 方法,暂停当前正在执行的线程对象,让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值