![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
可惜_没如果
这个作者很懒,什么都没留下…
展开
-
如何获取一个10g大小的文档的第1000万个字符
这是在其他群里看到的一个面试题,假如有一个10g的txt文档上面存的全是数字,内存只有8g,硬盘无限大,如何用代码找到第1000万个数字是什么?public static void writer() throws Exception{ String num = "123456789"; FileOutputStream out = new FileOut...原创 2019-02-28 21:35:22 · 581 阅读 · 0 评论 -
单例模式
饿汉式public class Singleton { private static final Singleton INSTANCE = new Singleton(); private Singleton(){ } public Singleton getSingleton(){ return INSTANCE; }}上面...原创 2019-02-28 22:06:42 · 110 阅读 · 0 评论 -
如何保证高并发下库存不会被扣为负数
我面试被问到的时候有点懵,因为之前的业务都没有涉及到这个,我回答的是加锁,后面我看过其他人的回答后,总结了几种方法1.数据库乐观锁加一个字段版本号扣库存的时候判断一下版本号2.把库存字段改为unsigned这样可以保证库存不为负数,如果并发情况下被扣为负数的时候会报错,这个时候try catch然后返回库存不足就可以了3.用redis的List数据类型把所有秒杀请求插入...原创 2019-02-28 23:52:13 · 6415 阅读 · 0 评论 -
对spring aop的理解
今天面试的时候,被问到对aop的理解,正好前几天有看到这个问题,凭着印象回答了下我:aop用到了动态代理面试官:动态代理有哪几种,原理是什么我:动态代理有两种,一种是JDK自带的,一种是cglib面试官:他们有什么区别我:JDK自带的动态代理是基于反射实现的,cglib是基于字节码实现的面试官:还有什么区别我:我就了解到这了下面跟大家来详细解释下aopAO...原创 2019-03-01 22:47:52 · 738 阅读 · 0 评论 -
Mybatis相关的问题
Mybatis 中$与#的区别#是将传入的值当做字符串的形式,比如传的都是1,这边sql是 select * from t_user where id= '1';$是将传入的数据直接显示生成sql语句,这边sql是 select * from t_user where id= 1;使用#可以很大程度防止sql注入$一般用于传入数据库对象,例如数据库表名like语句在什么情...原创 2019-03-03 22:37:18 · 160 阅读 · 0 评论 -
需要把两个线程的数据组合起来要怎么办
今天面试遇到的问题,需要把两个线程的数据组合起来,怎么保证两个线程执行完成?我的回答是,new 两个线程T1和T2然后线程处理完数据后,T1.join();T2.join();这样就会等待两个线程处理完后组装数据。当时面试官说这是一种实现,问我还有没有其他实现,我说暂时没想到下面是我面完回家查资料看到的1.用CyclicBarrierCyclicBarrier...原创 2019-03-10 23:26:47 · 317 阅读 · 0 评论