- 博客(50)
- 资源 (15)
- 问答 (15)
- 收藏
- 关注
原创 BTree和B+Tree和Hash索引详解
二叉查找树二叉树具有以下性质:左子树的键值小于根的键值,右子树的键值大于根的键值。 如下图所示就是一棵二叉查找树, 对该二叉树的节点进行查找发现深度为1的节点的查找次数为1,深度为2的查找次数为2,深度为n的节点的查找次数为n,因此其平均查找次数为 (1+2+2+3+3+3) / 6 = 2.3次二叉查找树可以任意地构造,同样是2,3,5,6,7,8这六个数字,也可
2018-01-31 17:29:43 4718 2
转载 MySQL8.0的InnoDB和MyISAM是否支持hash索引
今天和同学探讨说MySQL哪些存储引擎支持hash索引,因为所看书籍MySQL版本和现有的MySQL版本有出入,故中间出了点歧义。所以就手动敲了一下代码,测试了一下MySQL8.0中的存储引擎是如何支持hash索引的。我们都知道MySQL最常用的存储引擎为InnoDB和MyISAM。它们默认的存储引擎都是B-Tree(实质为B+Tree)。他们本身都是不支持hash索引的。但是我们在建
2018-01-31 14:40:06 1053
转载 ZooKeeper基本原理
ZooKeeper简介ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。 ZooKeeper设计目的1.最终一致性:client不论连接到哪个Server,展示给它都是同一个视图,这是zookeeper最重要的性能。2.可靠性:具有简单、健壮、良好的性能,如果消息m被到一台服务器接受
2018-01-30 00:34:35 235
转载 zookeeper命令查看注册路径及消费路径
[root@localhost zookeeper-3.4.10]# cd bin[root@localhost bin]# lltotal 36-rwxr-xr-x. 1 1001 1001 232 Mar 23 2017 README.txt-rwxr-xr-x. 1 1001 1001 1937 Mar 23 2017 zkCleanup.sh-rwxr-xr-x.
2018-01-30 00:31:47 5880
转载 在CentOS下安装JDK8
1.去http://www.Oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html中下载JDK的安装文件jdk-8u60-linux-x64.tar.gz。2.新建/usr/java文件夹,将jdk-8u60-linux-x64.tar.gz放到该文件夹下,并切换到/usr/java目录下。3.执行命
2018-01-29 23:06:57 255
转载 Dubbo+ZooKeeper集群配置
集群服务注册到多台zookeeper配置: protocol="zookeeper" address="10.20.153.10:2181,10.20.153.11:2181,10.20.153.12:2181" />分成多组注册中心: id="chinaRegistry" protocol="zookeeper" address="10
2018-01-29 16:39:19 2002
转载 zookeeper集群搭建
由于公司缓存方案改进,准备采用codis集群作为主要的缓存解决方案(codis:国内豌豆荚开发的redis集群解决方案,已开源,github地址:https://github.com/CodisLabs/codis),codis集群依赖于zookeeper集群,本文介绍zookeeper集群的实现。一、Zookeeper原理简介ZooKeeper是一个开放源码的分布式应用程序协调服务,
2018-01-29 16:11:17 235
转载 zookeeper3.4.5自动清理日志
zookeeper3.4.5自动清理日志从3.4.0开始,zookeeper提供了自动清理snapshot和事务日志的功能,通过配置 autopurge.snapRetainCount 和 autopurge.purgeInterval 这两个参数能够实现定时清理了。这两个参数都是在zoo.cfg中配置的,将其前面的注释去掉,根据需要修改日志保留个数:
2018-01-29 15:44:43 297
原创 在 CentOS6 上安装 zookeeper-3.4.10 服务
在 CentOS7 上安装 zookeeper-3.4.10 服务1、创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/services/zookeeper2、进入到 /usr/local/services/zookeeper 目录中: cd /usr/local/services/zookeeper
2018-01-29 09:31:33 207
原创 Dubbo+ZooKeeper简单搭建
一、公共模块项(dbo-core)包含有:实体类、对外Service接口1. 实体类package org.yf.entity;import java.io.Serializable;public class Person implements Serializable{ private Integer id; private String name;
2018-01-28 23:40:04 286
转载 什么是反向代理,如何区别反向与正向代理
概念: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。概述: 通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送
2018-01-28 16:11:12 226
转载 解决maven update project 后项目jdk变成1.5的问题
一、问题描述 在Eclipse中新建了一个Maven工程, 然后更改JDK版本为1.7, 结果每次使用Maven > Update project的时候JDK版本都恢复成1.5。二、原因分析Maven官方文档有如下描述:编译器插件用来编译项目的源文件.从3.0版本开始, 用来编译Java源文件的默认编译器是javax.tools.JavaCompiler (如果你是用的是java
2018-01-26 14:57:25 354
转载 jdk官方下载
jdk1.7 64位官方下载地址平时要新装一个系统环境,或者下载最新的jdk,就需要到oracle官网去下载一个jdk,而目前生产环境都是1.7的环境下开发完成的,需要下载1.7版本的jdk,oracle官方网站的默认下载页面是1.8版本的。面对oracle官网一堆不熟悉的英文,从哪里能直接下呢?首先访问: http://www.oracle.com/technetwork/java/
2018-01-26 10:05:49 479
转载 window7环境下ZooKeeper的安装及运行
ZooKeeper是一个分布式开源框架,供了协调分布式应用的基本服务。这些天在使用DUBBO,由于开发环境是在windows环境下,需要能够先运行ZooKeeper,然后在此基础上实现服务的地址分配。在下面,先搭建一个单机模式的的ZooKeeper环境。首先从开源中国社会里把代码包下载下来。在这里是3.4.6(zookeeper-3.3.6.tar.gz)再将包解压进入文件目录,可以看
2018-01-26 00:10:40 389
原创 基于ZooKeeper的Dubbo服务注册中心
本文介绍基于ZooKeeper的Dubbo服务注册中心的原理。 1.ZooKeeper中的节点ZooKeeper是一个树形结构的目录服务,支持变更推送,因此非常适合作为Dubbo服务的注册中心。注:在ZooKeeper中,节点分为两类,第一类是指构成集群的机器,我们称之为机器节点;第二类是指数据模型中的数据单元,称之为数据节点ZNode。ZooKeeper将所有数据存储在内存中,数
2018-01-25 16:19:34 871 1
原创 Maven 建立父子项目和跨项目调用内容的步骤
新公司使用Maven管理项目,同时我们是做微服务,所以对于微服务项目来说,使用Maven建立起一个父子项目这种关系,很方便管理(只是个人感觉)设计层面(1)服务端和客户端肯定是分开写的,另外还有一个公共的项目,比如一些实体类等都是可以作为公共的类放到这个公共的项目。(2)这样来说,子项目至少有三个,server(服务层子项目)、web(视图层子项目)、common(公共层子项目
2018-01-25 15:50:03 479
原创 分布式RPC流程图
一、RPC介绍RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TCP 协议的 RPC。会两方面会直接影响 RPC 的性能,一是传输方式,二是序列化。
2018-01-25 14:36:59 1908
原创 SpringBoot获取yml和properties配置文件的内容
一、yml配置文件pom.xml加入依赖 org.springframework.boot spring-boot-configuration-processor ${spring-boot.version}在application.yml文件中加上:#自定义的属性和值myYml: simpleProp: simplePropValue
2018-01-25 00:13:07 2496
原创 SpringBoot + Mybatis打印SQL
在application.yml中加入 logging: level: com: yweb: DEBUG注意:其中logging.level.com.你的Mapper包=日志等级
2018-01-25 00:04:40 882
原创 MyBatisPlus各种API
// 初始化 成功标识boolean result = false;// 初始化 UserUser user = new User(); // 保存 Useruser.setName("Tom");result = user.insert(); // 更新 Useruser.setAge(18);result = user.updateById();
2018-01-24 18:11:40 6514
原创 Bean转Map
1. Bean转Mappublic static Map objectToMap(Object obj) { if(obj == null){ return null; } try { Map map = new HashMap(); Field[] declaredFields = obj.getClass().getD
2018-01-23 11:23:53 1528
原创 文件流的使用
public static void main(String[] args) throws Exception { //读取文件 InputStreamReader isr = new InputStreamReader(new FileInputStream("C:\\\\Users\\\\Administrator\\\\Desktop\\\\新建文本文档.txt"), "UT
2018-01-21 23:06:38 248
转载 nginx编辑开机启动(/etc/init.d/nginx)(可以直接使用)
vi /etc/init.d/nginx在脚本中添加如下命令:*********************************************************************************************************************************#!/bin/bash# nginx Startup s
2018-01-19 16:54:24 4478 1
转载 nginx 安装时候报错:make: *** No rule to make target `build', needed by `default'. Stop.
出现此种情况,是linux系统没有安装先决条件1、GCC——GNU编译器集合(GCC可以使用默认包管理器的仓库(repositories)来安装,包管理器的选择依赖于你使用的Linux发布版本,包管理器有不同的实现:yum是基于Red Hat的发布版本;apt用于Debian和Ubuntu;yast用于SuSE Linux等等。)RedHat中安装GCC:yum install gcc
2018-01-19 16:03:56 3597
转载 SpringBoot整合Redis(单机+集群) —— 含Spring版附件文档
如果使用的是redis2.x,在项目中使用客户端分片(Shard)机制,已经很久之前的版本,该换新了(此处略过),本文讲解基于redis3.x中的集群,通过两部分来阐述spring boot整合redis,在项目中使用jedisCluster机制。第一部分:spring boot自带整合的redis,比较简单,看下来1>不用多说,pom.xml文件增加redis与spring boot
2018-01-19 00:57:45 3113
转载 (重点)深入理解Java分布式架构
什么是分布式架构分布式系统(distributed system)是建立在网络之上的软件系统。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。 在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。简单来
2018-01-18 17:33:13 17529
转载 CentOS查看进程、杀死进程、启动进程等常用命令
1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序。 ps -A 显示所有程序。 ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 ps -e 此参数的效果和指定"A"参数相同。 ps e 列出程序时,显示每个程序所使用的环境变量。 ps f 用ASCII字符显示树
2018-01-18 15:04:35 2989
原创 Java集合类框架的基本接口有哪些?
总共有两大接口:Collection 和Map ,一个元素集合,一个是键值对集合; 其中List和Set接口继承了Collection接口,一个是有序元素集合,一个是无序元素集合;而ArrayList和 LinkedList 实现了List接口,HashSet实现了Set接口,这几个都比较常用; HashMap 和HashTable实现了Map接口,并且HashTable是线程安全的,但是Hash
2018-01-18 10:15:40 903
原创 Spring Cloud介绍 Spring Cloud与Dubbo对比
spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。Spring Cloud与Dubbo对比提到Dubbo,我想顺便提下ESB,目前央视新华社也在用ESB来做任务编排,这里先比较下Dubbo和ESB:
2018-01-17 18:12:04 705
原创 zookeeper学习1 —— paxos算法
看看paxos算法先,不然看这个zookeeper会非常难懂。原理简单来说,就是要选举leader,会生成一个zxid,然后分发给所有的server(所以这里一台server可以接受多台server给他发送要选举leader的请求),然后各个server根据发送给自己的zxid,选择一个值最大的,然后将这个选择返回给发送这个zxid的server,只要这个server收到的答复大于等于2/n+
2018-01-17 17:55:15 259
原创 MyBatisPlus AutoGenrator代码自动生成
1. 使用MyBatisPlus AutoGenrator注意数据库表字段最好用下划线分格2. 在Resource
2018-01-16 14:31:03 6211 1
转载 Eclipse关联GitHub实现版本控制
检查Eclipse中是否已安装Git插件,菜单栏Help -> About Eclipse,查看是否有Git插件的图标。2现在的Eclipse下载后一般都提供Git插件了,若是没有Git插件,可使用菜单栏Help -> Install New Software...,在Work with中输入http://download.eclipse.org/egit/upda
2018-01-16 00:49:15 368
原创 eclipse查看jar包中class的中文注释乱码问题的解决
1,问题来源是在eclipse中直接查看springside的class(由eclipse自动反编译)里面注释的乱码问题:Preferences-General-Workspace-Text file encoding 设置为uft-8最后重启一下eclipse通常就ok了。 2,若是关联jar的源码出现乱码,则使用以下方法尝试:将Eclipse的Preferences中的
2018-01-15 23:34:58 261
原创 Redis 3.2.1集群 —— Redis-trib.rb工具详解(含原理)
redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下,是基于redis提供的集群命令封装成简单、便捷、实用的操作工具。redis-trib.rb是redis作者用ruby完成的。为了看懂redis-trib.rb,我特意花了一个星期学习了ruby,也被ruby的简洁、明了所吸引。ruby是门非常灵活的语言,redis-trib.rb只用了16
2018-01-14 00:18:19 783
原创 Redis 3.2.1集群 —— CLUSTER MEET ip port
CLUSTER MEET命令被用来连接不同的开启集群支持的 Redis 节点,以进入工作集群。基本的思想是每个节点默认都是相互不信任的,并且被认为是未知的节点,以便万一因为系统管理错误或地址被修改,而不太可能将多个不同的集群节点混成一个集群。因此,为了使给定的节点能将另一个节点接收到组成 Redis Cluster 的节点列表中,这里只有两种方法:系统管理员发送一个CLUSTE
2018-01-14 00:12:16 1875
原创 Redis 3.2.1集群 —— fail状态的产生
一、节点的fail节点的fail是通过集群中超过半数的节点检测失效时才生效,这里会触发选举,将slave升级为master二、集群的fail如果集群任意master挂掉,且当前master没有slave.集群进入fail状态,也可以理解成进群的slot映射[0-16383]不完成时进入fail状态.如果集群超过半数以上master挂掉,无论是否有slave集群进入fail状态.
2018-01-13 23:28:44 1594
原创 Redis 3.2.1集群 —— 搭建
一、概述 Redis3.0版本之后支持Cluster.1.1、redis cluster的现状 目前redis支持的cluster特性: 1):节点自动发现 2):slave->master 选举,集群容错 3):Hot resharding:在线分片 4):进群管理:cluster xxx 5):基于配置(nodes-port.conf)的集群
2018-01-13 22:27:34 263
原创 CentOS6.5配置网络yum源
我们选择配置国内163提供的yum源,具体操作步骤如下:1.登录如下地址:mirrors.163.com2.选择最后一列中的“centos使用帮助”进入如下链接的界面: CentOS镜像使用帮助3.按照帮助文档中的说明操作即可3.1备份/etc/yum.repos.d/CentOS-Base.repomv /etc/yum.repos.d/CentOS-Base.r
2018-01-13 17:29:20 674
jquery.serializejson.min.js
2018-03-28
跟我学Shiro第13章Demo(RememberMe)
2017-09-23
跟我学Shiro第12章Demo(仅JAVA SE+Web+Shiro权限注解)2
2017-09-23
跟我学Shiro第12章Demo(仅JAVA SE+Web+Shiro权限注解)
2017-09-22
跟我学Shiro第12章Demo(仅JAVA SE)
2017-09-20
shiro 第二~六章 完整Demo
2017-09-04
shiro 第七、八章 完整Demo
2017-09-04
iframe如何跨域获取子页面的元素?
2017-06-03
ckEditor字体大小功能按键没有显示出来
2017-04-22
hibernate4报错,好像文件加载不了求大神,,,
2016-10-14
hibernate4获取sessionfactory报错,看下
2016-10-14
最基本的struts2把我搞蒙了,求大神
2016-09-28
现在java web的饼状图或者柱状图用什么框架来生成?
2016-09-13
关于jquery弹框实现问题
2016-07-12
子jsp调用父jsp的方法的问题
2016-07-09
easyUI关于datagrid横向滚动条的实现
2016-06-17
如何让$.messager.show固定在右下角
2016-06-16
如何在<s:textfield>文本框中设置提示语句
2016-05-23
jquery修改struts2文本框标签样式?
2016-05-17
两个<s:textfield>,如何实现联动?
2016-05-13
如何在struts2标签<s:textfield>上添加鼠标事件
2016-05-13
如何实现<s:textfield>和<s:select>提交时合并为一个id元素?
2016-05-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人