java
Darren_wdq
别人有N年工作经验,俺是一个工作经验用N年,讲好基础,玩转底层。
展开
-
内存溢出和内存泄露的区别
内存溢出和内存泄露)内存溢出内存泄露情景描述:有一次被问到了内存溢出和内存泄露的区别是啥?只知道内存溢出会报错OOM(OutOfMemoryError),内存溢出Memory leak,但你说里面的原由和还真是不知道的,很尴尬内存溢出内存溢出是指在申请内存时,没有足够的内存空间供使用,出现OutOfMemory。 系统已经不能再分配出你所需要的空间,比如你需要100M的空间,系统只剩90M...转载 2019-11-15 11:20:26 · 303 阅读 · 0 评论 -
把JVM揉碎了,碾成末的去理解(二)
JAVA内存区域与内存溢出异常未曾开发过C和C++以及其他语言,听大神们将,C和C++都需要自己对内存进行回收,否则会遇到内存泄露和溢出的情况。据说java是综合了两者的优点,不需要自己处理内存回收的动作,这些都是JVM帮我们出处理,在编码层基本解除不到内存回收,但是在开发和生产过程中经常用到有内存溢出(OutOfMemoryError)的情况,来一探究竟。JVM运行时的数据区有几个?哪些区域...原创 2019-11-14 10:14:52 · 241 阅读 · 0 评论 -
悲观锁与乐观锁
何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它...转载 2018-12-13 16:45:21 · 153 阅读 · 1 评论 -
创建线程后为什么关闭了线程句柄,线程还是可以运行?
主线程只要拥有线程句柄,事后就可以对线程执行某些操作,比如查询线程状态等等,靠的就是句柄,如果没有句柄,系统就无从知道要查的是那个线程的状态。但保持这个句柄不关闭,并不是线程运行的条件。 关闭线程句柄只是释放句柄资源,新开启线程后,如果不再利用其句柄,应该关闭句柄,释放系统资源。关闭线程句柄和线程的结束与否没有关系。 句柄可以认为是系统对资源(如线程)的分配的一个...转载 2018-12-11 15:09:02 · 3053 阅读 · 0 评论 -
tomcat启动报错,原来是DB2的一个jar包搞的鬼
tomcat启动报错,原来是DB2的一个jar包搞的鬼现在是2019年05月14日不知道这个笔记是什么是时候记录的,好像之前有过这回事,在启动一个web项目时,遇到一个问题,网上查了一下资料解决了,当时是想做个笔记。Unable to process Jar entry [COM/ibm/db2os390/sqlj/custom/DB2SQLJCustomizer.class]错误信...转载 2019-05-14 18:51:49 · 2141 阅读 · 0 评论 -
把JVM揉碎了,碾成末的去理解(一)
把JVM揉碎了碾成末的去理解前因后果一直想学习JVM,明知道JVM有用,做Java的不了解JVM可以满足日常开发,甚至能写出业务逻辑很有艺术感的代码,但不可能把代码质量提高写出高性能的代码,我敢打包票的说,如果你不揉碎了理解JVM,指定写不出适合虚拟机的代码。可是呢,从有想法学到目前为止,也立了很多次志向一定要把JVM学好,一定要做个知道原理懂得底层的资深软件工程师,到头来的结果都是什么也...原创 2019-05-15 23:34:50 · 174 阅读 · 0 评论 -
用js实现时间减去前1小时、7天、1月、1年
场景描述:spring boot中在查询mongdb时,出现时间相差8小时的情况怎么解决呢,找了N多种办法,在配置文件中配置时区,引入fastjson等,这我这都没有生效,而node再调用时,又出现了,另外的幺蛾子,发现时间与真实日期相差22小时,甚坑。后来想一下的做法是在每个涉及到时间的方法添加一个处理的逻辑–>不可取,涉及到的地方太多写一个公共方法在后台用时处理–>不可取...转载 2019-07-02 10:46:56 · 11087 阅读 · 2 评论