`
文章列表
支付宝系统架构概况 典型处理默认 资金处理平台 财务会计 支付清算 核算中心 交易 柔性事务
import javax.tools.*; import javax.tools.JavaCompiler.CompilationTask; import java.io.File; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.util.Arrays; /** * 动态编译 */ public class CompilerTest { public static void main(String[ ...
select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time;     3、杀死该session  ?   alter system kill session 'sid,serial#'  
前言:   本文是我阅读了TOMCAT源码后的一些心得。 主要是讲解TOMCAT的系统框架, 以及启动流程。若有错漏之处,敬请批评指教!建议:   毕竟TOMCAT的框架还是比较复杂的, 单是从文字上理解, 是不那么容易掌握TOMCAT的框架 ...
类装载器 JDK中提供了3种不同的类加载器:启动类装载器,扩展类装载器和系统类装载器。引导类装载器,用于引导启动JAVA虚拟机,当执行一个JAVA程序时,就会启动引导类装载器,它是使用本地代码来实现的,会装载%JAVA_HOME%\\jre\lib\rt.jar,它是所有类装载器类的父装载器。扩展类装载器负责载入标准扩展目录中的类,其搜索路径是%JAVA_HOME%\jre\lib\ext,只需要将打包好的jar文件放入这个目录就可以了,给开发提供了很大的便利性。系统类装载器是默认的装载器,其搜索路径是classpath。 JVM到底使用的是哪一个类装载器,取决于类装载器的代理模式。每当需 ...
Redis复制流程概述 Redis的复制功能是完全建立在之前我们讨论过的基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了Redis的复制功能,就一定会有内存快照发生,那么首先要注意你的系统内存容量规划,原因可以参考我上一篇文章中提到的Redis磁盘IO问题。 Redis复制流程在Slave和Master端各自是一套状态机流转,涉及的状态信息是:   Slave 端: REDIS_REPL_NONE REDIS_REPL_CONNECT REDIS_REPL_CONNECTED Master端:       RED ...
  Redis常用数据类型 Redis最为常用的数据类型主要有以下五种: String Hash List Set Sorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的:   首先Redis内部使用一个redisObject对象来表示所有的key和value,redisObject最主要的信息如上图所示:type代表一个value对象具体是何种数据类型,encoding是不同数据类型在redis内部的存储方式,比如:type=string代表value存储的是一个普通字符串,那么对应的enco ...
传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。 Memcached与MySQL数据库数据一致性问题。 Memcached数据命中率低或down机,大量访问直接穿透到DB,MySQL无法支撑。 跨机房cache同步问题。 众多NoSQL百花齐放,如何选择 最近几年,业界不断涌 ...
MC采用一master多worker的工作模型,由master负责accept客户端请求,然后以RR分发给worker;-t 线程数,用于处理请求,默认为4 -b backlog队列长度,默认1024 线程结构体typedef struct {      pthread_t thread_id;        /* unique ID of this thread ...
系统发布总体分两个阶段:准备阶段、执行阶段 准备阶段:整理数据库脚本、整理源代码(branch、tag)并打好生产包,这些都可在发布执行之前完成 执行阶段:更新数据库、执行应用程序发布脚本 准备阶段 1、整理数据库 ...
     起因:有时候我们有这样的需求,在一个事务方法中调用了其他类的某个方法,但希望这个方法再事务提交后执行。        思考:被调用的方法,肯定要做到延迟执行,可以把执行的方法放入ThreadLocal里,等事务提交后拿出来执行,但怎么判断事务已经提交了呢,这个就要用到spring 事务处理的AbstractPlatformTransactionManager类里面的回调功能 private void processCommit(DefaultTransactionStatus status) throws TransactionException {  try {   bool ...
                起因:由于系统要集成memcached实现缓存服务,java客户端选用xmemcache,本来想集成spring的缓存注解,@Cacheabale,@CachePut,@Cacheevict,但是由于项目中spring版本不够无法使用上面注解,而且版本又不能升级,为了系统的稳定性。             解决办法:为了不想把缓存的操作,侵入业务代码,于是就模仿自定义上面三个注解,并且支持spring el表达式来动态获取方法参数来封装key,表达式解析用SpelExpressionParser类处理                     问题: ...
原文:http://blog.csdn.net/zhoudaxia/article/details/26956831 调优设置 堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置: java -Xmx3550m -Xms3550m -Xmn2g-Xss128k-Xmx3550m:设置JVM ...
原文:http://www.importnew.com/13954.html 这是“成为Java GC专家”系列的第五篇文章。在第一篇深入浅出Java垃圾回收机制中,我们已经学习了不同的GC算法流程、GC的工作原理、新生代(Young Generation)和老年代(Old Generation)的概念。你应该了解了JDK7中5种GC类型以及各种类型对应用程序的影响。 在第二篇如何监控Java的垃圾回收中,阐述了JVM是怎样实际执行垃圾回收的,我们怎样去监控GC以及哪些工具能让这个过程更高效。 第三篇
图片显示不了看原文地址:http://jingyan.baidu.com/article/02027811886aee1bcd9ce54f.html   由于公共IP的短缺,我们在组建局域网时,通常使用保留地址作为内部IP,(比如最常用的C类保留地址:192.168.0.0-192.168.255.255)这些地址是不会被互联网分配的,因此它们在互联网上也无法被路由的,所以在正常情况下无法直接通过Internet外网访问到在局域网内的主机。为了实现这一目的,需要使用VPN隧道技术建立一个虚拟专用网络。 比 如,一个企业的总部A网络中搭建的ERP系统服务器(假设IP为19 ...
Global site tag (gtag.js) - Google Analytics