上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页
摘要: 利用ConcurrentHashMap来实现一个ConcurrentHashSet 阅读全文
posted @ 2018-09-03 20:05 FrankYou 阅读(1041) 评论(0) 推荐(0) 编辑
摘要: 1、List,Set都是继承自Collection接口,Map则不是 2、List特点: 元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉,(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的,加入Set 阅读全文
posted @ 2018-09-03 20:03 FrankYou 阅读(527) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.atomic.AtomicInteger; public class AtomicPositiveInteger extends Number { private static final long serialVersionUID = -3038533876489105940L; private f... 阅读全文
posted @ 2018-09-03 15:02 FrankYou 阅读(1392) 评论(0) 推荐(0) 编辑
摘要: 1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引 阅读全文
posted @ 2018-09-03 09:49 FrankYou 阅读(8310) 评论(2) 推荐(0) 编辑
摘要: 在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制 阅读全文
posted @ 2018-09-03 09:33 FrankYou 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 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 阅读(238) 评论(0) 推荐(0) 编辑
摘要: java 7中新增的CPU和负载的监控 阅读全文
posted @ 2018-08-27 17:10 FrankYou 阅读(1394) 评论(0) 推荐(0) 编辑
摘要: 一个简单的类,用来监控JVM内存使用情况,剩余空间小于2M时报警。 阅读全文
posted @ 2018-08-27 16:54 FrankYou 阅读(839) 评论(0) 推荐(0) 编辑
摘要: 大家应该知道,用户从发起请求,到服务器响应的这个过程中,在服务器中是在一个线程中的。如果我们吧查询出来的对象放到这个线程自己的缓存中,到用户请求结束时,把这些东西清理掉,应该是一个不错的cache方案。 阅读全文
posted @ 2018-08-27 15:32 FrankYou 阅读(1208) 评论(0) 推荐(0) 编辑
摘要: removeEldestEntry在使用put或者putAll方法插入一个新的entry到map中时被调用,是否要删除年老的entry取决于是否满足既定的条件(比如本例中的条件:MAP中entry数量大于1000)。如果MAP表示缓存,这是有用的:它允许MAP通过删除过时条目来减少内存消耗。 阅读全文
posted @ 2018-08-27 15:04 FrankYou 阅读(356) 评论(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 阅读(3282) 评论(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 阅读(784) 评论(0) 推荐(0) 编辑
摘要: JMX全称Java Management Extensions, 为Java应用提供管理扩展功能。在Java 5的时候引入 概念 Referering Java Opts 启动Java可以赋予JVM Machine一些参数,例如设置运行内存堆栈的大小。此处列举一些有关JMX的相关参数 例如,你需要启 阅读全文
posted @ 2018-08-24 11:37 FrankYou 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是 java.awt.headless? Headless模式是系统的一种配置模式。在系统可能缺少显示设备、键盘或鼠标这些外设的情况下可以使用该模式。 2. 何时使用和headless mode? Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务 阅读全文
posted @ 2018-08-24 09:52 FrankYou 阅读(13373) 评论(0) 推荐(1) 编辑
摘要: 如果系统中开启了IPV6协议(比如window7),java网络编程经常会获取到IPv6的地址,这明显不是我们想要的结果,搜索发现很多蹩脚的做法是:禁止IPv6协议。其实查看官方文档有详细的说明: java.net.preferIPv4Stack (default: false) If IPv6 i 阅读全文
posted @ 2018-08-24 09:23 FrankYou 阅读(6187) 评论(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 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 此线程池一直增长,直到上限,增长后不收缩(因为池子里面的线程是永生的)。这个keepAliveTime参数设置的为Long.MAX_VALUE,所以池子里面的线程几乎不会因为idle而被terminate,也就是说只要线程被创建并放到池子里面永远不会被销毁,永生。 阅读全文
posted @ 2018-08-23 17:48 FrankYou 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 前言 SynchronousQueue是一个比较特别的队列,由于在线程池方面有所应用,为了更好的理解线程池的实现原理,笔者花了些时间学习了一下该队列源码(JDK1.8),此队列源码中充斥着大量的CAS语句,理解起来是有些难度的,为了方便日后回顾,本篇文章会以简洁的图形化方式展示该队列底层的实现原理。 阅读全文
posted @ 2018-08-23 17:13 FrankYou 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 线程池线程忙碌且阻塞队列也满了时给一个拒接的详细报告。下面是一个自定义的终止策略类,继承了ThreadPoolExecutor.AbortPolicy类并覆盖了rejectedExecution方法把当前线程及线程池的状态给做了一个详细的报告。 默认抛出的异常消息比较简单: 下面是详细报告的代码: 阅读全文
posted @ 2018-08-23 16:33 FrankYou 阅读(5367) 评论(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 阅读(1738) 评论(0) 推荐(0) 编辑
摘要: 一、线程池什么时候用,有什么好处? “线程池”顾名思义,就是存放线程的池子,这个池子可以存放多少线程取决于采用哪种线程池,取决于有多少并发线程,有多少计算机的硬件资源。使用线程池最直接的好处就是:线程可以重复利用、减少创建和销毁线程所带来的系统资源的开销,提升性能(节省线程创建的时间开销,使程序响应 阅读全文
posted @ 2018-08-13 14:29 FrankYou 阅读(15900) 评论(0) 推荐(3) 编辑
摘要: 1、函数式编程; 2、第一次get时才会初始化; 3、可以实现单例或缓存。 阅读全文
posted @ 2018-07-31 11:19 FrankYou 阅读(2027) 评论(0) 推荐(0) 编辑
摘要: JMM解决什么?1、各线程工作内存的数据不一致性问题2、JIT编译器对指令重排的问题3、CPU执行乱序的问题 JMM做了什么?1、定义规范2、提供实现(提供一系列原语,比如:synchronized和volatile来封装底层的实现供开发者直接使用) 阅读全文
posted @ 2018-07-26 10:42 FrankYou 阅读(160) 评论(0) 推荐(0) 编辑
摘要: import java.lang.reflect.Method; public class AppendAnnotation { /** * 获取某个Annotation实例的所有方法值(实际是Annotation的属性值),并把这些方法的值赋值给调用此方法的类的相关的setter方法。 */ protected void appendAnnotatio... 阅读全文
posted @ 2018-07-24 11:54 FrankYou 阅读(482) 评论(0) 推荐(0) 编辑
摘要: PCI-DSS(Payment Card Industry-Data Security Standard) 1、构建并维护安全的网络 2、保护持卡人数据 3、维护漏洞管理程序 4、执行严格的访问控制措施 5、定期监控网络和测试网络 6、维护信息安全政策 阅读全文
posted @ 2018-06-27 16:26 FrankYou 阅读(415) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页