08 2018 档案

摘要:import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; public interface DataStore { /** * return a sna... 阅读全文
posted @ 2018-08-31 16:54 FrankYou 阅读(248) 评论(0) 推荐(0)
摘要:java 7中新增的CPU和负载的监控 阅读全文
posted @ 2018-08-27 17:10 FrankYou 阅读(1405) 评论(0) 推荐(0)
摘要:一个简单的类,用来监控JVM内存使用情况,剩余空间小于2M时报警。 阅读全文
posted @ 2018-08-27 16:54 FrankYou 阅读(853) 评论(0) 推荐(0)
摘要:大家应该知道,用户从发起请求,到服务器响应的这个过程中,在服务器中是在一个线程中的。如果我们吧查询出来的对象放到这个线程自己的缓存中,到用户请求结束时,把这些东西清理掉,应该是一个不错的cache方案。 阅读全文
posted @ 2018-08-27 15:32 FrankYou 阅读(1268) 评论(0) 推荐(0)
摘要:removeEldestEntry在使用put或者putAll方法插入一个新的entry到map中时被调用,是否要删除年老的entry取决于是否满足既定的条件(比如本例中的条件:MAP中entry数量大于1000)。如果MAP表示缓存,这是有用的:它允许MAP通过删除过时条目来减少内存消耗。 阅读全文
posted @ 2018-08-27 15:04 FrankYou 阅读(368) 评论(0) 推荐(0)
摘要:dubbo服务启动的方式: 1、dubbo自带的脚本, 2、直接用main方法启动dubbo的spring容器,参见dubbo-test里的各个例子 3、dubbo的spring boot starter 4、放到容器里,以servlet方式使用 阅读全文
posted @ 2018-08-27 11:54 FrankYou 阅读(3304) 评论(0) 推荐(0)
摘要:下面是java命令有关JVM内存分配的参数 1、64位 Server VM: 2、32位 Server VM 可以参考上表,指标的值有所不同。 3、关于Partial GC和Full GC Partial GC:并不收集整个GC堆的模式Young GC:只收集新生代的GC,比如收集器:ParNewO 阅读全文
posted @ 2018-08-24 12:35 FrankYou 阅读(828) 评论(0) 推荐(0)
摘要:JMX全称Java Management Extensions, 为Java应用提供管理扩展功能。在Java 5的时候引入 概念 Referering Java Opts 启动Java可以赋予JVM Machine一些参数,例如设置运行内存堆栈的大小。此处列举一些有关JMX的相关参数 例如,你需要启 阅读全文
posted @ 2018-08-24 11:37 FrankYou 阅读(473) 评论(0) 推荐(0)
摘要:1. 什么是 java.awt.headless? Headless模式是系统的一种配置模式。在系统可能缺少显示设备、键盘或鼠标这些外设的情况下可以使用该模式。 2. 何时使用和headless mode? Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务 阅读全文
posted @ 2018-08-24 09:52 FrankYou 阅读(13449) 评论(0) 推荐(1)
摘要:如果系统中开启了IPV6协议(比如window7),java网络编程经常会获取到IPv6的地址,这明显不是我们想要的结果,搜索发现很多蹩脚的做法是:禁止IPv6协议。其实查看官方文档有详细的说明: java.net.preferIPv4Stack (default: false) If IPv6 i 阅读全文
posted @ 2018-08-24 09:23 FrankYou 阅读(6455) 评论(0) 推荐(1)
摘要:Options need to be added to the standard launch of a virtual machine (VM) to enable the debugging architecture, allowing us to attach (hook in) and co 阅读全文
posted @ 2018-08-23 18:41 FrankYou 阅读(272) 评论(0) 推荐(0)
摘要:此线程池一直增长,直到上限,增长后不收缩(因为池子里面的线程是永生的)。这个keepAliveTime参数设置的为Long.MAX_VALUE,所以池子里面的线程几乎不会因为idle而被terminate,也就是说只要线程被创建并放到池子里面永远不会被销毁,永生。 阅读全文
posted @ 2018-08-23 17:48 FrankYou 阅读(428) 评论(0) 推荐(0)
摘要:前言 SynchronousQueue是一个比较特别的队列,由于在线程池方面有所应用,为了更好的理解线程池的实现原理,笔者花了些时间学习了一下该队列源码(JDK1.8),此队列源码中充斥着大量的CAS语句,理解起来是有些难度的,为了方便日后回顾,本篇文章会以简洁的图形化方式展示该队列底层的实现原理。 阅读全文
posted @ 2018-08-23 17:13 FrankYou 阅读(377) 评论(0) 推荐(0)
摘要:线程池线程忙碌且阻塞队列也满了时给一个拒接的详细报告。下面是一个自定义的终止策略类,继承了ThreadPoolExecutor.AbortPolicy类并覆盖了rejectedExecution方法把当前线程及线程池的状态给做了一个详细的报告。 默认抛出的异常消息比较简单: 下面是详细报告的代码: 阅读全文
posted @ 2018-08-23 16:33 FrankYou 阅读(5390) 评论(0) 推荐(0)
摘要:监控指标: 1、CPU平均使用率 2、内存平均使用率 3、应用程序错误数 4、应用程序请求量 5、应用平均响应时间 6、硬件I/O指标 7、JMX 7.1、Full gc count 7.2、Full gc time 7.3、Young gc count 7.4、Young gc time 7.5、 阅读全文
posted @ 2018-08-14 17:56 FrankYou 阅读(1778) 评论(0) 推荐(0)
摘要:一、线程池什么时候用,有什么好处? “线程池”顾名思义,就是存放线程的池子,这个池子可以存放多少线程取决于采用哪种线程池,取决于有多少并发线程,有多少计算机的硬件资源。使用线程池最直接的好处就是:线程可以重复利用、减少创建和销毁线程所带来的系统资源的开销,提升性能(节省线程创建的时间开销,使程序响应 阅读全文
posted @ 2018-08-13 14:29 FrankYou 阅读(16073) 评论(0) 推荐(3)