自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

转载 5分钟让你了解 ZooKeeper 的原理

前言ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现。分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。1、简介ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现。分布

2018-03-10 13:43:46 466

转载 Kafka 对比 ActiveMQ

Kafka 是LinkedIn 开发的一个高性能、分布式的消息系统,广泛用于日志收集、流式数据处理、在线和离线消息分发等场景。虽然不是作为传统的MQ来设计,在大部分情况,Kafaka 也可以代替原先ActiveMQ 等传统的消息系统。Kafka 将消息流按Topic 组织,保存消息的服务器称为Broker,消费者可以订阅一个或者多个Topic。为了均衡负载,一个Topic 的消息又可以划分到多

2018-03-10 13:41:48 2837

转载 Netty入门(一):零基础“HelloWorld”详细图文步骤

因为接下来的项目要用到netty,所以就了解一下这个程序,奈何网上的教程都是稍微有点基础的,所以,就写一篇对于netty零基础的,顺便也记录一下。 先扔几个参考学习的网页: netty 官方API: http://netty.io/4.1/api/index.htmlnetty 中文指南:https://waylau.com/netty-4-user-guide/   (来自个人)

2018-03-08 10:03:46 518

转载 Java中使用Jedis操作Redis

package com.test;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.junit.Before;import org.junit.Test;import redis.clie

2017-08-22 08:53:16 241

转载 redis 服务器初始化

初始化服务器从启动 Redis 服务器,到服务器可以接受外来客户端的网络连接这段时间, redis 需要执行一系列初始化操作。整个初始化过程可以分为以下六个步骤:初始化服务器全局状态。载入配置文件。创建 daemon 进程。初始化服务器功能模块。载入数据。开始事件循环。以下各个小节将介绍 Redis 服务器初始化的各个步骤。1. 初始化服务器全局状态

2017-08-22 08:49:24 704

转载 Redis 与 数据库处理数据的两种模式

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key-value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。  1. 按照我们一般的使用Redis的场景应该是这样的:  也就是说:我们会先去redis中判断数据是否存在,如

2017-08-22 08:35:35 322

转载 activeMQ主要的几类集群部署方式

一、activeMQ主要的几类部署方式比较1、默认的单机部署(kahadb)activeMQ的默认存储的单机方式,以本地kahadb文件的方式存储,所以性能指标完全依赖本地磁盘IO,不能提供高可用。 2、基于zookeeper的主从(levelDB Master/Slave)5.9.0新推出的主从实现,基于zookeeper来选举出一个master,其他节点自动作为slave实

2017-08-22 08:32:53 1013

转载 ActiveMQ持久化消息的三种方式

1:前言     这一段给公司开发消息总线有机会研究ActiveMQ,今天撰文给大家介绍一下他的持久化消息。本文只介绍三种方式,分别是持久化为文件,MYSql,Oracle。下面逐一介绍。A:持久化为文件     这个你装ActiveMQ时默认就是这种,只要你设置消息为持久化就可以了。涉及到的配置和代码有 persistenceAdapter>

2017-08-22 08:23:36 456

转载 activeMQ消息阻塞 丢失 假死--架构

jms有三部分组成。生产者,中间件(broker),消费者 ,生产者,中间件(broker),消费者 JMSDeliveryMode NON_PERSISTENT 非持久化 表示消息发往JMS消息服务器之后,保存在内存中,不做持久化; PERSISTENT 持久化 消息发往JMS消息服务器之后,持久化数据。以保证消息服务器拓机造成的消息丢失。======

2017-08-22 08:21:08 1677

转载 浅谈Nginx负载均衡与F5的区别

前言笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道“墙”,将请求分发到web服务器后,web服务器上的Nginx再进行处理,静态内容直接访问本地门户,动态数据则通过反向代理指向内网服务。 其实Nginx和F5这两者均可用作网站负载均衡,那二者有什么区别呢?笔者在此浅谈下Nginx与F5的一些区别。

2017-08-21 10:35:39 355

转载 MySQL数据库的热备份和冷备份的优缺点

冷备份(OFF, 慢, 时间点上恢复)冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份是将关键性文件拷贝到另外位置的一种说法。对于备份数据库信息而言,冷备份是最快和最安全的方法。冷备份的优点: 1.是非常快速的备份方法(只需拷贝文件)2.容易归档(简单拷贝即可)3.容易恢复到某个时间点上(只需将文件再拷贝回去)4.能与归档方法相结

2017-08-21 10:11:12 289

转载 使用Spring实现读写分离

1. 使用 背景我们一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是说采用数据库集群的方案,其中一个是主库,负责写入数据,我们称之为:写库;其它都是从库,负责读取数据,我们称之为:读库; 那么,对我们的要求是:读库和写库的数据一致;写数据必须写到写库;读数据必须到读库;2.  方案解决读写分离的

2017-08-21 10:05:29 369

转载 Spring 一主多从、多主多从 数据库配置

深刻讨论为什么要读写分离?为了服务器承载更多的用户?提升了网站的响应速度?分摊数据库服务器的压力?就是为了双机热备又不想浪费备份服务器?上面这些回答,我认为都不是错误的,但也都不是完全正确的。「读写分离」并不是多么神奇的东西,也带不来多么大的性能提升,也许更多的作用的就是数据安全的备份吧。从一个库到读写分离,从理论上对服务器压力来说是会带来一倍的性能提升,但你仔细思考一下,你的应用

2017-08-21 09:41:32 2143

转载 Oracle分区索引--本地索引和全局索引比较

分区索引分为本地(local index)索引和全局索引(global index)。其中本地索引又可以分为有前缀(prefix)的索引和无前缀(nonprefix)的索引。而全局索引目前只支持有前缀的索引。B树索引和位图索引都可以分区,但是HASH索引不可以被分区。位图索引必须是本地索引。下面就介绍本地索引以及全局索引各自的特点来说明区别;一、本地索引特点:1.  

2017-08-18 10:43:16 1178

转载 oracle按时间创建分区表

首先明确分区表和表分区的区别:表分区是一种思想,分区表示一种技术实现。当表的大小过G的时候可以考虑进行表分区,提高查询效率,均衡IO。Oracle分区表是oracle数据库提供的一种表分区的实现形式。表进行分区后,逻辑上仍然是一张表,原来的查询SQL同样生效,同时可以采用使用分区查询来优化SQL查询效率,不至于每次都扫描整个表一、分区表基本操作1、按时间分区表创建:

2017-08-18 09:29:00 7620

转载 Java程序员面试中的多线程问题

很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了Java线程方面一些典型的问题,这些问题经常被高级工程师所问到。 0、Java中多线程同步是什么?在多线程程序下,同步能控制对共享资源的访问。如果没有同步,当一个Java线程在修改一个共享变量时,

2017-08-15 10:58:43 192

转载 Activemq 常见的一些问题 心得

1.先讲严重的:服务挂掉。这得从ActiveMQ的储存机制说起。在通常的情况下,非持久化消息是存储在内存中的,持久化消息是存储在文件中的,它们的最大限制在配置文件的节点中配置。但是,在非持久化消息堆积到一定程度,内存告急的时候,ActiveMQ会将内存中的非持久化消息写入临时文件中,以腾出内存。虽然都保存到了文件里,但它和持久化消息的区别是,重启后持久化消息会从文件中恢复,非持久化

2017-08-15 10:56:56 293

转载 Struts2与Struts1的区别

Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物。简单来说二者的区别是:        一个是Stuts1 ,一个是Stuts2,这是最大的区别,技术方面,Stuts1有个核心控制器,但是只提供了一个接口,也就是execute,还要配

2017-08-15 10:51:31 294

转载 oracle sql语句优化

好多同学对sql的优化好像是知道的甚少,最近总结了以下34条仅供参考。(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询,

2017-08-15 10:48:14 366

转载 Oracle性能优化-读懂执行计划

Oracle的执行计划得到执行计划的方式Autotrace例子使用Explain[sql] view plain copy print?explain plan set STATEMENT_ID='testplan'  for 

2017-08-12 08:40:01 293

转载 Spring IOC和AOP的理解

spring 的优点?1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 5.容器提供了众多的辅助类,能加快应用的开发 6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Strut

2017-08-12 08:36:00 227

转载 Spring MVC原理及配置详解

1.Spring MVC概述:Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。Spring MVC主要由DispatcherS

2017-08-12 08:34:52 249

转载 ORACLE RAC集群的体系结构

RAC是一个完整的集群应用环境,它不仅实现了集群的功能,而且提供了运行在集群之上的应用程序,即Oracle数据库。无论与普通的集群相比,还是与普通的Oracle数据库相比,RAC都有一些独特之处。RAC由至少两个节点组成,节点之间通过公共网络和私有网络连接,其中私有网络的功能是实现节点之间的通信,而公共网络的功能是提供用户的访问。在每个节点上分别运行一个Oracle数据库实例和一个监听器,

2017-08-12 08:29:58 453

转载 java系统高并发解决方案

一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,

2017-08-12 08:27:06 332

转载 JAVA中怎么处理高并发的情况

一、背景综述        并发就是可以使用多个线程或进程,同时处理(就是并发)不同的操作。        高并发的时候就是有很多用户在访问,导致系统数据不正确、糗事数据的现象。对于一些大型网站,比如门户网站,在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。这几个解决思路在一定程度上

2017-08-12 08:24:01 2561

转载 集群间Session共享问题解决方案

两个基本概念的生命周期session:当新客户端发现一个HTTP请求时服务端会创建一个session.并分配一个sessionID作为服务端来客户端的识别,session对象会保存在服务端.此时session对象处天NEW STATE状态,如果调用 session.isNew()则返回true.当服务器处理完后,会将sessionID同reponse 一起传回客户端,并

2017-08-12 08:22:02 312

转载 Nginx集群环境搭建

Nginx是什么?Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。一直纳闷这个X是怎么来的在网上查了查原来X代表很牛逼的样子,Nginx就是代表一个非常牛逼的引擎服务器系统,在很多年以前记得都是用的apache来作为分流以及负载均衡的作用,在过了几年中一个俄罗斯人又开发了一个性能更高的服务器来处理

2017-08-12 08:20:39 300

转载 关于java Tomcat 集群的面试问题

在java工程师面试过程中,一些比较厉害的技术经理经常会问到一些比较难的面试题,比如Tomcat集群。那我们就来分析下可能会问到的一些问题吧。1、如何在tomcat集群中实现Session共享Apache集群实现Tomcat的Session共享配置其实很简单,在Tomcat自带的文档中有详细的说明( /docs/cluster-howto.html ),只不过是英语的,所以联合

2017-08-12 08:18:06 1878 1

转载 Redis面试题及分布式集群

1. 使用Redis有哪些好处?(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,list,set,sorted set,hash (3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行 (4) 丰富的特性:可用于缓存,消息,按

2017-08-12 08:15:34 391

转载 Hibernate和Mybatis对比(优缺点)

项目也做过几个, 使用Mybatis就做一个项目, 基本上都是使用hibernate, 也只是知道几点关于这两个框架的区别, 今天闲着没事干, 从网上找了几篇文章, 做了一个简单的整理。网上关于这两个框架的比较也很多, 只是自己想把别人的东西拿过来整理一下,Mybatis和Hibernate的比较。(非原创)简介  Hibernate是当前最流行的O/R mapping框架,当

2017-08-07 08:50:48 330

转载 Hibernate中的一级缓存、二级缓存和懒加载

1.为什么使用缓存  hibernate使用缓存减少对数据库的访问次数,从而提升hibernate的执行效率。hibernate中有两种类型的缓存:一级缓存和二级缓存。2.一级缓存  Hibenate中一级缓存,也叫做session的缓存,当调用session的save/saveOrUpdate/get/load/list/iterator方法的时候,都会把对象放入sessio

2017-08-07 08:46:50 288

原创 Hibernate、Spring和Struts工作原理及使用理由

1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Sesssion4.创建事务Transation5.持久化操作6.提交事务7.关闭Session8.关闭SesstionFactory为什么要用:1. 对JDBC访问数据库的代码做了封装,大大简

2011-07-09 09:02:35 258

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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