面试
weixin_45582907
这个作者很懒,什么都没留下…
展开
-
使用线程池有什么好处
线程池做的工作主要是控制运行线程的数量,处理过程中将任务放入队列,然后线程创建后启动这些任务,如果线程数量超过了最大线程数量,超出数量的线程排队等候,等其他线程执行完毕,再从队列中取出任务来执行。 他的特点是:线程复用,控制最大并发数,管理线程 第一:降低资源消耗,通过重复利用已创建的线程,降低线程创建和销毁造成的资源消耗。 第二:提交响应速度,当任务到达时,任务可以不需要等待线程创建就能执行。 ...原创 2019-12-04 20:10:00 · 2153 阅读 · 0 评论 -
UnableCreateNewThreadDemo
package com.sinoservices.chainwork.srm.tender.manager.impl; /* 高并发请求服务器时,经常出现如下异常:java.lang.OutOfMemoryError:unable to create new native thread 准确地讲:native thread异常与平台有关 导致原因 1、你的应用创建了太多线程,一个应用进程创建多个线...原创 2019-12-03 08:59:06 · 256 阅读 · 0 评论 -
MateSpace
云空间的本质和永久代类似,都是对JVM规范中方法区的实现,不过元空间和永久代之间最大的区别在于,元空间并不在虚拟机中,而是使用本地内存。因此默认情况下,元空间的大小仅受本地内存的控制 ...原创 2019-11-29 23:10:47 · 405 阅读 · 0 评论 -
可见性问题
通过前面对JMM的介绍,我们知道 各个线程对主内存中共享变量的操作,都是各个线程各自拷贝到自己的工作内存进行操作后再写回到主内存。 这就可能存在一个线程AAA修改了共享变量X的值,但还没写回主内存时,另外一个线程又对主内存中同一个共享变量X进行操作,但此时A线程中共享变量X的值对B线程来说并不可见,这种工作内存与主内存同步延迟的现象就造成了可见性问题 ...原创 2019-11-27 22:50:52 · 328 阅读 · 0 评论 -
java.lang.OutOfMemoryError:GC OverHead limit exceeded
JVM配置参数演示 -Xms10m -Xmx10m -XX:MaxDirectMemorySize=5m GC 回收过长时,会抛出OutOfMemoryError.过长的定义是,超过98%的时间用来做GC并且回收了不到2%的堆内存 连续多次GC,都回收了不到2%的堆内存的极端情况下才会抛出。假如不抛出GC overhead limit错误会发生什么情况呢? 那就是GC清理的这么点内存很快就会再次被...原创 2019-11-27 22:06:21 · 132 阅读 · 0 评论 -
81.请谈谈你对OOM的认识
java.lang.StackOverFlowError 栈溢出 java.lang.OutOfMemoryError: java heap space java.lang.OutOfMemoryError: Gc overhead limit exceeded java.lang.OutOfMemoryError: Direct buffer memory java.lang.OutOfMemo...原创 2019-11-25 21:58:29 · 221 阅读 · 0 评论