- 博客(18)
- 资源 (12)
- 问答 (1)
- 收藏
- 关注
原创 面试题之使用无界队列的线程池会导致内存飙升吗?
答案:会;分析:创建线程池方式有如下几种:Executors.newFixedThreadPool(10);//LinkedBlockingQueue 无限加入队列Executors.newScheduledThreadPool(10);//DelayedWorkQueue 队列如果满了,阻塞Executors.newSingleThreadScheduledEx...
2019-01-31 21:04:00 690
原创 如何回答“线上CPU100%排查”面试问题
案例:public class App { public static void main( String[] args ) { int a = 0; while (a < 100) { a *= 10; } }}把上述代码放到项目中,打成jar包,...
2019-01-30 16:07:00 406
原创 no main manifest attribute, in demo-1.0.jar
今天想打包一个jar到Linux上运行,发现使用java -jar demo-1.0.jar 运行报错:no main manifest attribute, in demo-1.0.jar解决方案:在maven的pom.xml中添加以下配置就可以<build> <pluginManagement> <pl...
2019-01-30 14:57:00 636
原创 Caused by: java.io.FileNotFoundException: class path resource
异常:java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContex...
2019-01-24 21:54:00 8788
原创 java面试题之谈谈你对java的理解
平台无关性:一处编译到处运行GC:不用像c++那样手动释放堆内容语言特性:泛型、反射、lamda表达式面向对象:封装、继承、多态类库:集合、并发库、网络库、IO库异常处理...
2019-01-19 23:06:00 490
原创 面试题之redis的内存回收策略
1、maxmemory-policy noeviction(默认):内存空间不足会报错2、allkeys-lru:最少使用的数据去淘汰3、allkeys-random:随机淘汰一些key4、volatile-random:在已经设置了过期的时间去随机淘汰5、volatile-lru:在已经设置了过期的时间去淘汰最少使用的数据6、volatile-ttl:在已经设置了过期的时间...
2019-01-06 01:49:00 129
原创 面试题之redis的过期时间原理
1、消极方法:每次访问key时判断key是否已经过期;2、积极方法;周期性的从设置了过期时间的key中选择一部分的key进行删除 a、随机测试20个带有timeout信息的key b、如果超过25%的key被删除,则重复执行整个流程以下是redis官网原文Specifically this is what Redis does 10 times per secon...
2019-01-06 01:48:00 318
原创 java面试题之什么是CAS
CAS,即Compare and Switch,比较-替换,里面有三个操作数:内存值V、旧的预期值A、要修改的值B;当预期值A和内存值V相同时,才会将内存值修改为B并返回true,否则什么都不做并返回false。CAS一定要和volatile变量配合使用,这样才能保证每次拿到的变量是主内存中最新的那个值,否则旧的预期值A对某条线程来说,永远是一个不会变的值A。但是,CAS存在...
2019-01-03 02:18:00 241
原创 java面试题之java中用到的线程调度算法是什么
抢占式。一个线程用完CPU之后,操作系统会根据线程优先级、线程饥饿情况等数据算出一个总的优先级并分配下一个时间片给某个线程执行。操作系统中可能会出现某条线程常常获取到VPU控制权的情况,为了让某些优先级比较低的线程也能获取到CPU控制权,可以使用Thread.sleep(0)手动触发一次操作系统分配时间片的操作,这也是平衡CPU控制权的一种操作。...
2019-01-03 02:11:00 1519
原创 java面试题之什么是线程ThreadLocal?作用是什么?
定义:线程局部变量是局限于线程内的变量,属于线程自身所有,不在多个线程间共享。java提供ThreadLocal类来支持线程局部变量,是一个实现线程安全的方式。任何线程局部变量一旦在工作完成后没有释放,java应用就存在内存泄露的风险作用:ThreadLocal是一种以空间换时间的做法,在每一个Thread里面维护了一个ThreadLocal.ThreadLocalMap把...
2019-01-03 02:03:00 218
原创 java面试题之wait(),notify()和suspend(),resume()之间的区别
wait()方法和notify()方法的区别:这两个方法都是属于Object类中的,也是配套使用的,当调用这两个方法阻塞时要释放占用的锁,而锁是任何对象都具有的,调用任意对象的wait()方法导致线程阻塞,并且该对象上的锁被释放;而调用任意对象的notify()方法则导致从调用该对象的wait()方法而阻塞的线程中随机选择一个解除阻塞suspend()方法和resume...
2019-01-03 01:45:00 456
原创 java面试题之Thread类中的start()和run()方法有什么区别
start()方法被用来启动新创建的线程,而且start()内部调用了run()方法,区别: 当你调用run()方法的时候,只会是在原来的线程中调用,没有新的线程启动; start()方法才会启动新的线程...
2019-01-03 01:35:00 666
原创 java面试题之什么是多线程上下文切换
多线程会共同使用一组计算机上的CPU,而线程数大于给程序分配的CPU数量时,为了让各个线程都有执行的机会,就需要轮流使用CPU。不同的线程切换使用CPU发生的数据切换等就是上下文切换 ...
2019-01-03 01:32:00 355
原创 java面试题之你了解守护线程吗?它和非守护线程有什么区别
程序运行完毕,jvm会等待非守护线程完成后关闭,但是jvm不会等待守护线程。守护线程最典型的的例子是:GC线程
2019-01-03 01:29:00 557
原创 java面试题之数据基本类型各占几个字节
类型位数字节数short2*82char2*82int4*84float4*84long8*88double8*88
2019-01-03 01:22:00 287
原创 java面试题之final、finalize和finally的区别
finally:finally是一个关键字,与try和catch一起用于异常的处理,finally块一定会执行,无论在try快中是否有发生异常。finalize:finalize方法是在对象被回收之前调用的方法,给对象自己最后一个复活的机会,但是什么时候调用finalize没有保证。final是最重要的,以下重点介绍以下:1、可以修饰类,不可以被继承;2、可以...
2019-01-03 01:17:00 127
jwt-api.zip
2021-06-30
luyten-0.5.4-window.zip
2020-05-13
autoconf、libtool、automake.zip
2019-12-08
JPush如何对全用户推送通知
2016-05-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人