自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (1)
  • 收藏
  • 关注

原创 数据库切分

1. 什么是数据切分?        数据切分(Sharding)是指通过某种特定的条件,将我们存放在同一个数据库中的数据分散存放到多个数据库上面,以达到分散单台设备负载的效果。数据的切分同时还可以提高系统的总体可用性,因为单台设备Crash之后,只有总体数据的某部分不可用,而不是所有的数据。数据的切分(Sharding)根据其切分规则的类型,可以分为两种切分模式。一种是按照不同的表(

2018-01-15 20:25:17 430

转载 JAVA中this用法小结

/** * 本示例为了说明this的三种用法! */package test;public class ThisTest {    private int i=0;    //第一个构造器:有一个int型形参    ThisTest(int i){       this.i=i+1;//此时this表示引用成员变量i,而非函数参数i       System.o

2018-01-13 15:52:01 204

转载 ThreadPoolExecutor源码_线程池的corePoolSize、maximumPoolSize和poolSize

我们知道,受限于硬件、内存和性能,我们不可能无限制的创建任意数量的线程,因为每一台机器允许的最大线程是一个有界值。也就是说ThreadPoolExecutor管理的线程数量是有界的。线程池就是用这些有限个数的线程,去执行提交的任务。然而对于多用户、高并发的应用来说,提交的任务数量非常巨大,一定会比允许的最大线程数多很多。为了解决这个问题,必须要引入排队机制,或者是在内存中,或者是在硬盘等容量很大的

2018-01-12 19:21:19 752

转载 分布式_solr全文检索实现原理

solr全文检索实现原理  Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML/Json格式的返回结果。采用Java5开发,基于Lucene。  Lucene是apache软件基金会4 jakarta项目组

2018-01-09 09:19:13 1489

转载 分布式_solr全文搜索引擎系统

Solr介绍:Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务。Solr可以独立运行在Jetty、Tomcat等这些Servlet容器中。 Solr的作用:solr是一个现成的全文检索引擎系统, 放入tomcat下可以独立运行, 对外通过http协议提供全文检索服务(就是对索引和文档的增删改查服务), 在代码中可以通

2018-01-09 09:17:42 2662 1

转载 分布式_SolrCloud(一)

文章摘自:http://www.bubuko.com/infodetail-923588.html一、概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库;Solr是以Lucene为基础实现的文本检索应用服务。Solr部署方式有单机方式、多机Master-Slaver方式、Cloud方式。SolrCloud是基于Solr和Zookeeper的分布式搜索方案。当索

2018-01-08 18:51:29 265

原创 分布式_CAP

在讨论常见架构前,先简单了解下CAP理论:CAP 是 Consistency、Availablity 和 Partition-tolerance 的缩写。分别是指:一致性(Consistency):每次读操作都能保证返回的是最新数据;可用性(Availablity):任何一个没有发生故障的节点,会在合理的时间内返回一个正常的结果;分区容忍性(Partition-

2018-01-05 11:16:34 302

原创 Java基础_Jar包和War包的区别

jar:即Java Archive,Java的包,Java编译好之后生成class文件,但如果直接发布这些class文件的话会很不方便,所以就把许多的class文件打包成一个jar,jar中除了class文件还可以包括一些资源和配置文件,通常一个jar包就是一个java程序或者一个java库。war:Web application Archive,与jar基本相同,但它通常表示这是一个Java

2018-01-05 09:58:56 924

原创 数据库之优化思路

1.SQL语句优化1)应尽量避免在 where 子句中使用!=或,否则将引擎放弃使用索引而进行全表扫描。2)应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id f

2018-01-03 17:01:25 174

原创 数据库mysql语句之drop、delete、truncate

drop直接删掉表truncate删除表中数据,再插入时自增长id又从1开始delete删除表中数据,可以加where字句。(1) DELETE 语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在

2018-01-03 14:06:42 577

转载 数据库事务的四大特性以及事务的隔离级别和spring应用

本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。  如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响

2018-01-03 13:34:45 906

转载 ZooKeeper学习第六期---ZooKeeper机制架构

一、ZooKeeper 的实现1.1 ZooKeeper处理单点故障我们知道可以通过ZooKeeper对分布式系统进行Master选举,来解决分布式系统的单点故障,如图所示。那么我们继续分析一下,ZooKeeper通过Master选举来帮助分布式系统解决单点故障, 保证该系统中每时每刻只有一个Master为分布式系统提供服务。也就是说分布式的单点问题交给了ZooKe

2017-12-24 16:03:01 452

转载 ZooKeeper学习第五期--ZooKeeper管理分布式环境中的数据

引言本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它涉及到了paxos算法、Zab协议、通信协议等相关知识,理解起来比较抽象所以还需要借助一些应用场景,来帮我们理解。由于内容比较多,一口气吃不成胖子,得慢慢来一步一个脚印,因此我对后期ZooKeeper的学习规划如下:第一阶段:|---理解ZooKeeper的应用    |---

2017-12-24 16:01:06 168

转载 ZooKeeper学习第二期--ZooKeeper安装配置

一、Zookeeper的搭建方式Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境;■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例;■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble)Zookeep

2017-12-24 15:56:48 183

转载 zookeeper学习第一期——简单介绍

一、分布式协调技术在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术。那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果。这时,有人可能会说这个简单,写一个调度算法就轻松解决了。说这句话的人,可能对分布式系统不是很了解,所以才会出现这种误解。如果这些

2017-12-24 15:52:53 175

转载 SpringMVC 学习笔记(二) @RequestMapping、@PathVariable等注解

1.1. @RequestMapping映射请求SpringMVC 使用 @RequestMapping 注解为控制器指定可以处理那些URL 请求@requestMapping  可以定义在 类 和 方法 上 [java] view plain copypackage com.ibigsea.springmvc.h

2017-12-22 15:48:01 169

转载 Java基础题_=、final、Integer、

一、==符的使用首先看一段比较有意思的代码[java] view plain copyInteger a = 1000,b=1000;  Integer c = 100,d=100;    public void mRun(final String name){          new Runnable() {

2017-12-22 11:53:00 307

转载 深入理解Java中的String

转自:https://www.cnblogs.com/xiaoxi/p/6036701.htmlDK 1.0.2 for interoperability */ private static final long serialVersionUID = -6849794470754667710L; ........}从上面可以看出几点:1)

2017-12-22 11:43:57 231 1

转载 分布式_负载均衡Nginx

1、前言首先弄清楚什么是正向代理,什么是反向代理,然后是二者在实际使用中展示的方式是什么样的,最后总结一下正向代理用来做什么,反向代理可以做什么。2、正向代理正向代理类似一个跳板机,代理访问外部资源。举个例子:我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容

2017-12-19 16:17:04 227

原创 搜索引擎_lucene

Lucene简介搜索引擎的几个概念--倒排   倒排索引(inverted index),也称为反向索引,是搜索引擎中最常见的数据结构,几乎所有的搜索引擎都会使用到倒排索引,它将文档中的词作为关键字,建立词与文档的映射关系,通过对倒排索引的检索,可以根据词快速获取包含这个词的文档列表,这对于搜索引擎来说至关重要。分词,又称为切词,就是将句子或者段落进行切割,从中提取出包

2017-12-17 18:36:56 279

原创 Linux_FastDFS分布式文件系统——搭建

1 文章目的最近要用这个:了解项目中使用FastDFS的原因和意义。掌握FastDFS的架构组成部分,能说出tracker和storage的作用。了解FastDFS+nginx上传和下载的执行流程。掌握FastDFS+nginx在项目中作为图片服务器,上传和下载方法。 2 FastDFS介绍2.1 什么是FastDFS一、FastDFS简介 

2017-12-16 22:42:43 1331

转载 TCP协议的三次握手和四次挥手

1、socket原理Socket支持网上点对点的通信服务的一种技术,服务端端实现监听连接,客户端实现发送连接请求,建立连接后进行发送和接收数据。服务器端建立一个serversocket,设置好本机的ip和监听的端口与socket进行绑定,并开始监听连接请求,当接收到连接请求后,发送确认,同客户端建立连接,开始与客户端进行通信。客户端建立一个socket,设置

2017-12-16 21:55:34 1398

转载 分布式基础_集群、分布式环境下5种session处理策略

前言在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A、B两台服务器,用户在第一次访问网站时,Nginx通过其负载均衡机制将用户请求转发到A服务器,这时A服务器就会给用户创建一个Session。当用户第二次发送请求时,Nginx将其负载均衡到B服务器,而这时候B服务器并不存在Session,所以就会

2017-12-15 16:58:56 159

转载 Java基础_try-catch-finally

在处理异常的时候不是每次都把它 throws 掉就完事了,很多时候异常是需要我们自己来 catch 并针对所抛出的 Exception 做一些后续的处理工作。直接上代码,先贴下面测试需要调用的方法:  1 2    // catch 后续处理工作 3    public static boolean catchMethod() { 4        System.out

2017-12-14 17:02:56 127

转载 Javaweb基础_servlet开发(一)

一、Servlet简介  Servlet是sun公司提供的一门用于开发动态web资源的技术。  Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:  1、编写一个Java类,实现servlet接口。  2、把开发好的Java类部署到web服务器中。  按照一种约定俗成的称呼习惯,通常我们也把实

2017-12-14 12:28:05 251

原创 Linux基本命令初级篇

Linux的基本命令1.目录切换命令 window中通过图形化界面和鼠标可以任意切换需要进入的目录,但Linux必须通过cd命令切换目录。但在学习cd命令之前,我们有必要分清Linux的目录结构(linux目录结构详细说明)cd usr 切换到该目录下usr目录 cd ../ 切换到上一层目录 cd / 切换到系统根目录 cd ~

2017-12-12 21:12:19 183

转载 缓存技术:Redis与Memcached对比

1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储;3、虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value交换到磁盘;4、过期策略--memcache在set时就指定,例如set k

2017-12-12 16:09:54 1226

原创 Redis的常见知识点

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

2017-12-12 12:39:54 1086

转载 详细的git GitHub创建管理仓库教程之一

一:Git是什么?       Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别?      SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够

2017-12-11 22:49:38 1310

原创 Java基础_四大引用(强引用、软引用、弱引用、虚引用)

从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。    1.强引用      以前我们使用的大部分引用实际上都是强引用,这是使用最普遍的引用。如果一个对象具有强引用,那就类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空 间不足,Java虚拟机宁愿抛出OutOfMemory

2017-12-11 16:41:32 173

转载 Java基础_红黑树

1.stl中的set底层用的什么数据结构?2.红黑树的数据结构怎么定义的?3.红黑树有哪些性质?4.红黑树的各种操作的时间复杂度是多少?5.红黑树相比于BST和AVL树有什么优点?6.红黑树相对于哈希表,在选择使用的时候有什么依据?7.如何扩展红黑树来获得比某个结点小的元素有多少个?8.扩展数据结构有什么步骤?9 为什么一般hashtable的桶数会取一个素数详细解答1.stl中的set底层用的什么

2017-12-11 16:22:24 125

转载 Java8基础_Hashmap

摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。简介Java为数据结构中的映射定义了一个接口java.util.Map,此

2017-12-11 16:06:32 235

转载 数据库_四大索引、聚焦、非聚焦详解

一. 四种索引(主键索引/普通索引/全文索引/唯一索引)1.索引的添加 1.1主键索引的添加当一张表,把某个列设为主键的时候,则该列就是主键索引[sql] view plain copycreate table a(  id int primary key auto_increment,  name v

2017-12-10 18:49:46 1484

原创 linux各颜色文件含义

linux各颜色文件含义作为接盘侠,借用葱爆牛肉先生的博客,记录我漫漫求学路。。。。 今天记录的是linux中各中颜色文件对应的同含义:白色表示普通文件蓝色表示目录绿色表示可执行文件红色表示压缩文件薄荷绿表示链接文件红色闪烁表示链接文件有问题黄色表示设备文件灰色表示其他文件

2017-08-22 10:27:10 364

转载 详解js跨域问题

什么是跨域?概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。URL 说明 是否允许通信http://www.a.com/a.jshttp://www.a.com/b.js 同一域名下 允许http://www.a.com/lab/a.jshttp://www.a.com/script/b.js 同一

2017-08-02 20:50:34 179

原创 ActiveMQ基础知识(二)

1.ActiveMQ集群配置目的:a.实现高可用,已排除单点故障引起的服务中断;b.实现负载均衡,以提升效率为更多客户提升服务。2.基础知识:客户端集群:让多个消费者消费同一个队列Broker clusters:多个Broker之间同步消息Master Slave:实现高可用3.ActiveMQ失效转移(failover) 允许当其中一台消息服务

2017-07-28 16:12:46 359

原创 ActiveMQ基本知识(一)

1.消息中间件的好处:解耦(各个service异步运行)、异步、安全可靠、顺序保证、横向扩展(若积分service处理较慢,可以增加多台积分系统)2.中间件:非底层操作系统软件,非业务应用软件。不是直接给最终用户使用的,不能直接给客户带来价值的软件,统称中间件3.消息中间件:关注于数据的发送和接受,利用搞笑可靠的异步消息传递机制集成分布式系统。4.JMS规范a.

2017-07-28 11:24:31 258

转载 Zookeeper简单介绍

一、分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术。那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术 主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成”脏数据”的后果。这时,有人可能会说这个简单,写一个调 度算法就轻松解决了。说这句话的人,可能对分布式系统不是很了解,所以才会出现这种误解。如果这些进

2017-07-24 16:57:25 239

转载 equals()和equalsIgnoreCase()的区别

1、使用equals( )方法比较两个字符串是否相等。它具有如下的一般形式:boolean equals(Object str)这里str是一个用来与调用字符串(String)对象做比较的字符串(String)对象。如果两个字符串具有相同的字符和长度,它返回true,否则返回false。这种比较是区分大小写的。2、为了执行忽略大小写的比较,可以调用equalsIgnoreCase( )方法。当

2017-06-23 17:28:09 259

转载 Spring之bean的详解

spring中的bean是Java实例与java组件传统中java应用的中的bean通常作为model,用来封装值对象在各层之间的传递

2017-06-23 09:02:10 215

汇编指令编译器

汇编语言编译器

2017-06-22

空空如也

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

TA关注的人

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