- 博客(16)
- 收藏
- 关注
原创 String 源码
--String在内存中的存储情况(一下内容摘自参考资料1)-----------------------------------前提:先了解下什么是声明,什么时候才算是产生了对象实例其中x并未看到内存分配,变量在使用前必须先声明,再赋值,然后才可以使用。java基础数据类型会用对应的默认值进行初始化 一、首先看看Java虚拟机JVM的内存块及其变量、对象内存空间是怎么存储分...
2015-12-21 22:05:53 92
原创 MyBatis 缓存机制深度解剖 / 自定义二级缓存
缓存概述 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持;一级缓存基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该Session中的所有 Cache 就将清空。二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap...
2015-12-19 16:56:31 73
原创 MyBatis架构设计及源代码分析系列(一):MyBatis架构
一、概述MyBatis并不是一个完整的ORM框架,其官方首页是这么介绍自己The MyBatis data mapper framework makes it easier to use a relational database with object-oriented applications. MyBatis couples objects with stored procedur...
2015-12-19 11:56:11 112
原创 微信 OAuth2.0
一、什么是OAuth2.0官方网站:http://oauth.net/ http://oauth.net/2/权威定义:OAuth is An open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications. ...
2015-12-15 21:52:39 162
原创 浅谈Hibernate的flush机制
随着Hibernate在Java开发中的广泛应用,我们在使用Hibernate进行对象持久化操作中也遇到了各种各样的问题。这些问题往往都是我们对Hibernate缺乏了解所致,这里我讲个我从前遇到的问题及一些想法,希望能给大家一点借鉴。 这是在一次事务提交时遇到的异常。 an assertion failure occured (this may indicate a bug ...
2015-12-13 16:51:08 103
原创 oracle 表连接方式
在查看sql执行计划时,我们会发现表的连接方式有多种,本文对表的连接方式进行介绍以便更好看懂执行计划和理解sql执行原理。 一、连接方式: 嵌套循环(Nested Loops (NL)) (散列)哈希连接(Hash Join (HJ)) (归并)排序合并连接(Sort Merge Join (SMJ) )二、连接说明: 1.Oracle一次只能连接两个表。不管...
2015-12-13 11:44:26 80
原创 B树索引、位图索引和散列索引
索引在数据结构上可以分为三种B树索引、位图索引和散列索引 B树索引 结构: 特点: 1.索引不存储null值。 更准确的说,单列索引不存储null值,复合索引不存储全为null的值 索引不能存储Null,所以对这列采用is null条件时,因为索引上根本没Null值,不能利用到索引,只 能全表扫描。 ...
2015-12-12 20:49:49 122
原创 JVM内存配置详解
前段时间在一个项目的性能测试中又发生了一次OOM(Out of swap sapce),情形和以前网店版的那次差不多,比上次更奇怪的是,此次搞了几天之后啥都没调整系统就自动好了,死活没法再重现之前的OOM了!问题虽然蹊跷,但也趁此机会再次对JVM堆模型、GC垃圾算法等进行了一次系统梳理; 基本概念 堆/Heap JVM管理的内存叫堆;在32Bit操作系统上有4G的限制,一般来说Windows下为2...
2015-12-12 17:30:30 85
原创 memcached+magent实现memcached集群
首先说明下memcached存在如下问题 本身没有内置分布式功能,无法实现使用多台Memcache服务器来存储不同的数据,最大程度的使用相同的资源;无法同步数据,容易造成单点故障。(memagent代理实现集群) 在 Memcached中可以保存的item数据量是没有限制的,只要内存足够 。 Memcached单进程最大使用内存为2G,要使用更多内存,可以分多个端口开启多个...
2015-12-11 22:13:00 94
原创 maven如何查看依赖的详细信息
在pom文件中配置下面的代码: <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>...
2015-12-11 10:44:16 609
原创 Redis 代理服务Twemproxy
1、twemproxy explore 当我们有大量 Redis 或 Memcached 的时候,通常只能通过客户端的一些数据分配算法(比如一致性哈希),来实现集群存储的特性。虽然Redis 2.6版本已经发布Redis Cluster,但还不是很成熟适用正式生产环境。 Redis 的 Cluster 方案还没有正式推出之前,我们通过 Proxy 的方式来实现集群存储。 ...
2015-12-10 17:24:26 86
原创 keepalived+redis 高可用redis主从解决方案
背景介绍:目前,Redis还没有一个类似于MySQL Proxy或Oracle RAC的官方HA方案。 #Redis 2.8版开始正式提供名为Sentinel的主从切换方案(后面附上,未测试) 因此,如何在出现故障时自动转移是一个需要解决的问题。 通过对网上一些资料的搜索,有建议采用HAProxy或Keepalived来实现的,事实上如果是做Failover而非负载均衡的话,Keepaliv...
2015-12-10 15:43:02 76
原创 Redis集群技术及Codis实践 2
3. Codis实践Codis由豌豆荚于2014年11月开源,基于Go和C开发,是近期涌现的、国人开发的优秀开源软件之一。现已广泛用于豌豆荚的各种Redis业务场景(已得到豌豆荚@刘奇同学的确认,呵呵)。从3个月的各种压力测试来看,稳定性符合高效运维的要求。性能更是改善很多,最初比Twemproxy慢20%;现在比Twemproxy快近100%(条件:多实例,一般Value长度)。3...
2015-12-10 15:30:17 194
原创 Redis集群技术及Codis实践 1
前言本文主要讨论Redis集群相关技术及新发展,关于Redis运维等内容,以后另开主题讨论。本文重点推荐Codis——豌豆荚开源的Redis分布式中间件(该项目于4个月前在GitHub开源,目前star已超过2100)。其和Twemproxy相比,有诸多激动人心的新特性,并支持从Twemproxy无缝迁移至Codis。好吧我们正式开始。1. Redis常见集群技术长期以来...
2015-12-10 15:29:53 135
原创 Redis监控方案
Redis现在在业务中应用已经很广泛了,但是如何监控redis,实时的观察redis的性能,却很少的提及,现在常见的监控方案基本上都是使用redis自带的info命令和monitor命令获取相关信息,然后提取出来显示。测试环境: redis版本:2.4.17 IP:10.20.111.1881 redis-faina 一个使用redis自带命令mo...
2015-12-10 14:24:35 89
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人