零度的博客专栏

全栈式学徒长成记--工欲善其事必先利其器,不积小流无以成江海,不积跬步无以至千里!...

Hibernate使用索引及索引添加原则

1、使用Hibernate添加索引的方式        1)表上加索引 @Table(name = "T_S_USER",indexes={@Index(name="trial_idIndex",columnList="tr...

2017-08-31 11:40:07

阅读数:6288

评论数:0

java泛型详解

对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java 泛型详解、Java中的泛型方法、 java泛型详解 1. 概述        泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型...

2017-08-24 10:47:57

阅读数:380

评论数:1

数据库切分(7)之一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案

版权声明:本文由本人撰写并发表于2012年9月份的《程序员》杂志,原文题目《一种支持自由规划的Sharding扩容方案——主打无须数据迁移和修改路由代码》,此处作为本系列的第五篇文章进行转载, 本文版权归《程序员》杂志所有,未经许可不得转载! 作为一种数据存储层面上的水平伸缩解决方案,数据库S...

2017-08-22 11:42:11

阅读数:606

评论数:0

数据库切分(6)之多源数据的事务处理

系统经sharding改造之后,原来单一的数据库会演变成多个数据库,如何确保多数据源同时操作的原子性和一致性是不得不考虑的一个问题。总体上看,目前对于一个分布式系统的事务处理有三种方式:分布式事务、基于Best Efforts 1PC模式的事务以及事务补偿机制。我们下面对这三种处理方式一一进行分析...

2017-08-22 11:02:05

阅读数:205

评论数:0

数据库切分(5)之sharding实现层面的考量(使用框架还是自主开发)

当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选择框架还是自主开发,都会面临一个在哪一层上实现sharding逻辑的问题,本文会对这一系列的问题逐...

2017-08-22 10:22:20

阅读数:202

评论数:0

数据库切分(4)之全局主键生成策略

本文将主要介绍一些常见的全局主键生成策略,然后重点介绍flickr使用的一种非常优秀的全局主键生成方案。关于分库分表(sharding)的拆分策略和实施细则,请参考该系列的前一篇文章:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示 本文原文连接: http://blog.cs...

2017-08-22 09:47:36

阅读数:230

评论数:0

数据库切分(3)之数据库切分实施策略和示例演示

本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!本文着重介绍sharding切分策略,如果你对数据库sharding缺少基本的了解,请参考我另一篇从基础理论全面介绍sharding的文章:数据库Sh...

2017-08-21 09:44:31

阅读数:374

评论数:0

数据库切分(2)之垂直切分的粒度

垂直切分的粒度指的是在做垂直切分时允许几级的关联表放在一个shard里.这个问题对应用程序和sharding实现有着很大的影响.        关联打断地越多,则受影响的join操作越多,应用程序为此做出的妥协就越大,但单表的路由会越简单,与业务的关联性会越小,就越容易使用统一机制处理.在...

2017-08-17 10:54:51

阅读数:178

评论数:0

数据库切分(1)之基本思想和切分策略

一、基本思想       Sharding(切分)的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个serv...

2017-08-17 10:32:34

阅读数:204

评论数:0

MyBatis入门教程

一、简介       mybatis框架是一个持久层框架,是Apache下的顶级项目。mybatis可以让开发者的主要精力放在sql上,通过mybatis提供的映射方式,自由灵活的生成满足需要的sql语句。MyBatis可以将向preparedStatement中的输入参数自动进行输入映射,将查...

2017-08-17 09:40:47

阅读数:298

评论数:0

深入理解Java虚拟机(8)-.Class文件格式(七)

下面继续介绍class文件中的其他信息。 class文件中的fields_count和fields fields_count描述的是当前的类中定义的字段的个数, 注意, 这里包括静态字段, 但不包括从父类继承的字段。 如果当前class文件是由一个接口生成的, 那么这里的field...

2017-08-15 11:23:04

阅读数:304

评论数:0

深入理解Java虚拟机(7)-.Class文件格式(六)

经过前几篇文章, 终于将常量池介绍完了, 之所以花这么大的功夫介绍常量池, 是因为对于理解class文件格式,常量池是必须要了解的, 因为class文件中其他地方,大量引用了常量池中的数据项。  对于还不了解常量池的读者, 如果想要深入了解class文件格式, 或者想继续读这篇博客和本专栏以后的博...

2017-08-11 11:46:48

阅读数:186

评论数:0

深入理解Java虚拟机(6)-.Class文件格式(五)

前几篇博文, 对class文件中的常量池进行了详细的解释。 前文讲解了常量池中的7种数据项, 它们分别是: CONSTANT_Utf8_infoCONSTANT_NameAndType_infoCONSTANT_Integer_infoCONSTANT_Float_infoCONSTAN...

2017-08-11 11:25:41

阅读数:245

评论数:0

深入理解Java虚拟机(5)-.Class文件格式(四)

在上一篇博客深入理解Java Class文件格式(三) 中, 介绍了常量池中的两种类型的数据项, 分别是 CONSTANT_Utf8_infoCONSTANT_NameAndType_info 。 CONSTANT_Utf8_info中存储了几乎所有类型的字符串, 包括方法名, 字段名, ...

2017-08-11 10:48:20

阅读数:318

评论数:0

Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)

class文件简介及加载      Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对...

2017-08-10 14:25:35

阅读数:401

评论数:0

深入理解Java虚拟机(4)-.Class文件格式(三)

首先, 让我们回顾一下关于class文件格式的之前两篇博客的主要内容。 在 深入理解Java Class文件格式(一) 中, 讲解了class文件在整个java体系结构中的位置和作用, 讲解了class文件中的魔数和版本号相关的信息, 并且对常量池进行了概述。 在 深入理解Java Class...

2017-08-10 14:21:31

阅读数:176

评论数:0

深入理解Java虚拟机(3)-.Class文件格式(二)

在上一篇文章 深入理解Java Class文件格式(一) 中, 介绍了class文件在整个java体系结构中的位置和作用, 并对class文件的整体格式做了说明, 介绍了其中的魔数和版本号的相关内容, 并对常量池做了概述。 在本文章, 继续介绍class文件中的其他内容。 class...

2017-08-10 11:53:23

阅读数:207

评论数:0

深入理解Java虚拟机(2)-.Class文件格式(一)

Class文件在Java体系结构中的位置和作用 在上一篇博客中, 大致讲解了Java虚拟机的体系结构和执行原理。 本篇博客主要讲解能够被JVM识别, 加载并执行的class文件的格式。 对于理解JVM和深入理解Java语言, 学习并了解class文件的格式都是必须要掌握的功课。...

2017-08-10 11:51:30

阅读数:236

评论数:0

深入理解Java虚拟机(1)-虚拟机是什么

什么是Java虚拟机 作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了。在本文中,我会写下我对虚拟机的理解。因为能力所限,可能有些地方描述的不够欠当。如果你有不同的理解,欢迎交流...

2017-08-10 10:49:15

阅读数:239

评论数:0

redis的主从复制(读写分离)/哨兵(主从切换)配置

当数据量变得庞大的时候,读写分离还是很有必要的。同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能。redis提供了一个master,多个slave的服务。          准备三个redis服务,依次命名文件夹子master,slav...

2017-08-04 14:04:42

阅读数:9646

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭