Spring BackOff退避算法(一) 1、按照固定时间间隔重试,比如100毫秒;这种方式在网络不稳定时重连可能造成某一时间点流量同时发送,阻塞网络;或者造成发送一些无意义的请求;2、按照指数时间间隔重试,比如刚开始100毫秒,下一次200毫秒等;比如支付宝和第三方集成时就是类似方式。固定时间间隔重试:Java代码 @Test public void t
文件格式转换 org.apache.hadoop.hive.ql.util.DosToUnix//将window格式文件转换为unix格式public static String convertWindowsScriptToUnix(File windowsScriptFile) throws Exception { String windowsScriptFilename = win
java classloader Java虚拟机类加载顺序关键字: 虚拟机 引导当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构: bootstrap classloader | extension classloader | system classloader bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类。在
Hive MapJoin 优化 1、Hive本地MR 如果在hive中运行的sql本身数据量很小,那么使用本地mr的效率要比分布式的快很多。但是hive本地MR对内存使用很敏感,查询的数据不能太大,否则本地内存是吃不消的。So the query processor will launch this task in a child jvm, which has the same heap size as the Map
Mongo 学习笔记--Capped Collection 转自:http://www.cnblogs.com/zhy4606/archive/2011/09/14/2175424.html简单介绍capped collections是性能出色的有着固定大小的集合(定容集合),以LRU(Least Recently Used最近最少使用)规则和插入顺序进行 age-out(老化移出)处理,自动维护集合中对象的插入顺序,在创 建时要预先指定大
Mongo 内存 锁机制 1、 MongoDB 使用的是“readers-writer”锁在 2.2 版本以前,mongod 只有全局锁;在 2.2 版本开始,大部分读写操作只锁一个库,相对之前版本,这个粒度已经下降,例如如果一个 mongod 实例上有 5 个库,如果只对一个库中的一个集合执行写操作,那么在写操作过程中,这个库被锁;而其它 5 个库不影响。相比 RDBMS 来说,这个粒度已经算很大
java GC -XX:+HeapDumpOnOutOfMemoryError -XX:+HeapDumpOnCtrlBreak writes heap dump together with thread dump on CTRL+BREAKSun (Linux, Solaris; not on Windows) JMap Java 5: jmap -heap:for
java 虚拟机的选项 一般选项 -server 在Mac OS X中没有特别的服务器虚拟机(server VM)。在激活java的时候可以使用 -server 选项,但这并不是启动另外的虚拟机,它还是启动客户虚拟机(client VM),只是这个虚拟机针对服务器的使用环境进行了调优。这些调优包括:在共享档案的生成过程中使用不同的类列表,这个列表中不包括GUI类(见“Mac OS X的Java共享档案”部
Mysql 查询优化 根据EXPLAIN来分析SQL语句的执行计划,对关键的条件加上索引。ySQL操作手册中有一段话让我决定把小表放在JOIN的前面:“MySQL resolves all joins using asingle-sweep multi-join method. This means that MySQL reads a row from the first table, and then fi
Java ThreadLocal public class IOPrepareCache { private static ThreadLocal threadLocalIOPrepareCache = new ThreadLocal(); public static IOPrepareCache get() { IOPrepareCache cache = IOPrepareCache.thread
java Runtime exec Processor executor = Runtime.getRuntime().exec(cmdLine, env, new File(workDir)); StreamPrinter outPrinter = new StreamPrinter( executor.getInputStream(), null, SessionSta
JavaBeans Activation Framework JAF JAF(JavaBeans Activation Framework)负责处理MIME编码,JavaMail利用JAF来处理MIME编码的邮件附件专用的数据处理框架,它用于封装数据,并为应用程序提供访问和操作数据的接口。JAF的主要作用在于让java应用程序知道如何对一个数据源进行查看、编辑和打印等操作。对于通过JAF封装的数据,应用程序通过JAF提供的接口可以完成如下功能: 1.
java Condition Condition的基本使用如下: * Condition是个接口,基本的方法就是await()和signal()方法; * Condition依赖于Lock接口,生成一个Condition的基本代码是lock.newCondition() * 调用Condition的await()和signal()方法,都必须在lock保护之内,就是说必须在lock.lock()和lock.unlo
ServiceLoader java 在JAVA版本中从6.0开始,添加了一ServiceLoader类库,在此类出现以前,Java 开发人员经常希望将使用和创建组件的内容区分开来。这通常是通过创建一个描述组件动作的接口,并使用某种中介创建组件实例来完成的。很多开发人员使用 Spring 框架来完成,但还有其他的方法,它比 Spring 容器更轻量级。java.util.ServiceLoader 类能读取隐藏在 JAR 文件中的配置
Mysql 配置参数 Innodb #InnoDB存储数据字典、内部数据结构的缓冲池,16MB 已经足够大了。innodb_additional_mem_pool_size = 16M#InnoDB用于缓存数据、索引、锁、插入缓冲、数据字典等#如果是专用的DB服务器,且以InnoDB引擎为主的场景,通常可设置物理内存的50%#如果是非专用DB服务器,可以先尝试设置成内存的1/4,如果有问题再调整#默认值是8M
mysql 淘宝商铺 配置参数 from http://ourmysql.com/archives/1191max_binlog_cache_size=2Gmax_binlog_size = 500Mmax_connections = 1020max_user_connections=1000query_cache_size = 30Mnnodb_buffer_pool
Mysql 参数 分析 1、innodb_rollback_on_timeout,该变量默认值为OFF,如果事务因为加锁超时,会回滚上一条语句执行的操作。如果设置ON,则整个事务都会回滚。2、强制索引 FORCE INDEX SELECT * FROM TABLE1 FORCE INDEX (FIELD1) … 以上的SQL语句只使用建立在FIELD1上的索引,而不使用其它字段上的索引。3、忽略索引 IG
Mysql 优化1 MyISAM在读操作占主导的情况下是很高效的。可一旦出现大量的读写并发,同InnoDB相比,MyISAM的效率就会直线下降,而且,MyISAM和InnoDB的数据存储方式也有显著不同:通常,在MyISAM里,新数据会被附加到数据文件的结尾,可如果时常做一些UPDATE,DELETE操作之后,数据文件就不再是连续的,形象一点来说,就是数据文件里出现了很多洞洞,此时再插入新数据时,按缺省设置会先看这些
Mysql 性能调优 (1)、back_log:要求MySQL 能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值对到来的TCP/IP连接的侦听队列的大小。你的