自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(254)
  • 资源 (40)
  • 收藏
  • 关注

原创 redis cluster

官方集群方案redis cluster是Redis的分布式集群解决方案,在3.0版本推出后有效地解决了redis分布式方面的需求实现了数据在多个Redis节点之间自动分片、故障自动转移、扩容机制等功能。集群关心的问题1 、增加了 slot 槽的计算,是不是比单机性能差?共16384个槽,slots槽计算方式公开的, HASH_SLOT = CRC16(key) mod 16...

2020-03-27 21:39:53 334

原创 redis哨兵机制

哨兵机制核心作用核心操作流程哨兵的配置启动命令: redis-server sentinel.conf --sentinel# 配置文件在sentinel运行期间是会被动态修改的# sentinel如果重启时,就可以根据这个配置来恢复其之前所监控的redis集群的状态# 绑定IPbind 0.0.0.0# 默认yes,没指定密码或者指定IP的情况下,外网无法访问...

2020-03-27 21:29:08 426

原创 redis 主从集群

主从复制主从复制解决什么问题:redis-server单点故障 单节点QPS有限 持久化,从处理持久化,避免对主性能影响主从复制应用场景分析读写分离场景,规避redis单机瓶颈 故障切换,master出问题后还有slave节点可以使用搭建主从复制1.第一种方式:命令# 连接需要实现从节点的redis,执行下面的命令slaveof [ip] [...

2020-03-27 15:53:58 630

原创 redis的机制(2)

redis持久化机制 redis的数据都存放在内存中,如果没有配置持久化机制,重启之后就会全丢失了。需要开启持久化机制,将数据保存到磁盘上,当redis重启后,可以从磁盘上恢复。 两种持久化方式RDB和AOFRDB 在指定时间内对数据记性快照保存,会缺失部分数据。 恢复方式 : 1.client端直接用命令BGSAVE或者SAVE创建...

2020-03-27 11:31:01 196

原创 redis基本类型(1)

redis介绍 Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, so...

2020-03-27 10:58:10 138

原创 mysql分库分表解决方案思路

垂直拆分水平拆分分库分表解决方案技术方案:proxy或应用层proxy: mycat-cobar(社区), atlas(数字),heinsberge(百度),vitess(youtube)应用层:sharding-jdbc(当当),TDDL(阿里)拆分的原则能不拆分尽量不拆分 如果要拆分一定要选择合适的拆分规则,提前规划好 数据拆分尽量通过数据冗余或...

2020-03-27 09:15:12 789

原创 mysql数据库设计规范和优化

数据库的设计1、数据库命名规范•所有的数据库对象名称必须使用小写字母并使用下划线分割(mysql 数据库对大小写敏感)•所有数据库对象名称禁止使用MySqL保留关键字 eg. from关键字 •MySQL关键字查询•数据库对象的命名要见名之意 , 最好不要超过32个字符.•数据库操作的时候 ,总会导入导出表 , 有一些临时表 , 临时表的最好以tmp为前缀并且以日期为后缀...

2020-03-27 08:34:18 341

转载 session、jwt、token

什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该to...

2020-03-26 15:50:26 251

原创 lucene 搜索详解(4)

搜索流程搜索代码示例package com.dongsheng.lucene.dslucene.lucene;import org.apache.lucene.analysis.Analyzer;import org.apache.lucene.analysis.core.SimpleAnalyzer;import org.apache.lucene.document....

2020-03-19 17:54:02 298

原创 Lucene-索引详解(3)

IndexWriter详解 创建API详解图示 代码示例import org.apache.lucene.analysis.Analyzer;import org.apache.lucene.analysis.core.SimpleAnalyzer;import org.apache.lucene.document.Document;import org.apache....

2020-03-19 16:43:08 210

原创 Lucene-分词器(2)

Lucene-分词器API1. org.apache.lucene.analysi.Analyzer 分析器,分词器组件的核心API,它的职责:构建真正对文本进行分词处理的TokenStream(分词处理器)。通过调用它的如下两个方法,得到输入文本的分词处理器。 public finalTokenStreamtokenStream(StringfieldName,...

2020-03-19 09:31:49 366

原创 lucene 介绍(1)

由于之前项目中用到了全文检索的,总结下lucene的大概功能,也能帮助其它童鞋更好的学习。Lucene简介最受欢迎的java开源全文搜索引擎开发工具包。提供了完整的查询引擎和索引引擎,部分文本分词引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索功能,或者是以此为基础建立起完整的全文检索引擎。是Apache的...

2020-03-19 09:10:01 227

原创 Spring boot 启动过程工作原理

1. SpringBootApplication rum()方法@SpringBootApplication //注解public class SpringBootTestApplication{​ public static void main(String[] args) { ConfigurableApplicationContext context =...

2020-03-16 12:35:52 627

转载 Java堆内存是线程共享的?

Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点,所以,即使是一个Java的初学者,也一定或多或少的对JVM有一些了解。可以说,关于JVM的相关知识,基本是每个Java开发者必学的知识点,也是面试的时候必考的知识点。在JVM的内存结构中,比较常见的两个区域就是堆内存和栈内存(如无特指,本文提到的栈均指的是虚拟机栈),关于堆和栈的区别,很多开发者也是如数家珍,有很多书籍...

2020-03-10 10:17:00 1686

原创 HashMap put如何存储元素的?

1.HashMap重要成员属性/** * The default initial capacity - MUST be a power of two. 默认的初始化容量 2的幂等次方 */ static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 /** ...

2020-03-06 10:54:30 712

原创 redis 漏桶算法—Lua

漏桶算法import java.io.IOException;import java.nio.charset.Charset;import org.springframework.core.io.ClassPathResource;import com.google.common.io.Files;import redis.clients.jedis.Jedis;/*...

2020-03-01 13:35:54 2868 5

原创 redis 令牌桶算法—Lua

令牌桶算法场景:秒杀(也可以用于平滑限流某个接口请求)import java.io.IOException;import java.nio.charset.Charset;import org.springframework.core.io.ClassPathResource;import com.google.common.io.Files;import redis.cli...

2020-03-01 13:22:01 1563 1

转载 Redis数据备份和重启恢复

一、对Redis持久化的探讨与理解目前Redis持久化的方式有两种: RDB 和 AOF首先,我们应该明确持久化的数据有什么用,答案是用于重启后的数据恢复。Redis是一个内存数据库,无论是RDB还是AOF,都只是其保证数据恢复的措施。所以Redis在利用RDB和AOF进行恢复的时候,都会读取RDB或AOF文件,重新加载到内存中。RDB就是Snapshot快照存储,是默认的持久化方...

2020-02-24 12:54:44 375

原创 MySQL优化

之前看了一段时间关于MySQL优化方面的资料,虽然不是专业的DBA,但这些足以在日常工作中能够快速解决sql优化的问题。不过,发现无论什么时候,都缺少不了数据结构的出现。1.慢查询日志 每个公司都会有自己的日志监控系统,可以通过监控系统速度定位慢查询的日志。如图: 当然,一些公司可能没有那么多的资源,可能会没有。另一中方式我也会告诉大家。 ...

2020-02-22 14:41:47 216

原创 Netty Reactor 线程模型(随记)

Netty被称为一个高性能、高可扩展性能的异步事件驱动的网络应用程序框架,它极大地简化了TCP和UDP客户端和服务器开发等网络编程。 Netty的Reactor模型中有四个核心概念:Resources资源(请求和任务) Synchronous Event Demultiplexer同步事件复用器 Dispatcher 分配器 Request Hand...

2020-02-21 11:26:47 195

原创 只有1G内存,如何对10G的文件中数据进行排序

思考 1.归并、外排 2.多线程RecursiveTask测试生成文件代码/*** *@author dongsheng *@date 2019/1/18 22:58 *@Description: *@version 1.0.0 */public class GenerateNumber { private static final String fi...

2020-02-20 13:34:47 7538

原创 如何对一个亿的数组进行快速排序

总结概括: 1.数据结构 归并排序 (也是后续排序 LRD) 2.多线程 ForkJoin框架 繁重任务的并行计算框架,map-reduce思想import java.io.File;import java.io.IOException;import java.io.PrintWriter;import java.util.Random;...

2020-02-20 13:19:39 1005

转载 LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

一、LVS简介LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,其体系结构如图1所示,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该...

2020-02-13 21:52:18 156

原创 汉诺塔+二叉树(前序,中序,后序)

/** * 汉诺塔 * * @param n 盘子的个数 * @param start 开始的柱子 * @param middle 中介柱子 * @param end 结果柱子 */ public static void towerOfHanoi(int n, int start, int ...

2020-02-09 15:18:35 603

原创 二分查找、快速排序、归并排序(分而治之)

顺序查找 如果线性表为无序表,即表中元素的排列是无序的,则不管线性表采用顺序存储还是链式存储,都必须使用顺序查找。 如果线性表有序,但采用链式存储结构,则也必须使用顺序查找。二分查找 必须遵循两个条件:数组有序、符合左闭右开原则(是一种区间无重复的思想) 二分查找思想图: /*** * 二分查找 * binary ...

2020-02-09 14:57:45 1482

原创 分布式事务(柔性事务)

由于系统应用业务涉及到分布式事务问题,所以采用了柔性分布式事务,最终保证业务数据的一致性。 设计思路图: demo代码地址:https://gitee.com/wywh/wywhdgg-mq...

2020-02-05 18:22:00 500

原创 Redis 分布式锁

最近项目又用到分布式锁,下面把自己写的redis分布式锁代码贡献出来。public class RedisManager { private static final String SET_IF_NOT_EXIST = "NX";//仅在键不存在时设置键。 private static final String SET_WITH_EXPIRE_TIME = "EX";//P...

2020-02-05 17:59:58 390

转载 Redis 和 Memcached 的区别详解

Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样...

2020-02-05 17:52:19 269

原创 Java GC调优(上)

简介图1Java-HotSpot是什么?虚拟机(JVM)版本是25.4-b25java -version出来信息包含两部分:Java软件包发行版本信息和内核(JVM)版本信息。java的发行包包含三种类型Java ME,Java SE,Java EE,发行包就相当于对外销售的产品包,不同发行包会删减部分特性,因此版本信息首先显示发行包类型和版本。JV...

2020-02-04 19:54:00 356

原创 Java GC调优(下)

4.Sun HotSpot 垃圾回收器概述当永久代和旧生代出发GC时,除CMS外都会发生Full GC首先按照 新生代配置的GC,发生Mintor GC 再按照旧生代配置的GC,对旧生代和永久代GC 若JVM 对Mintor GC后可能会发生晋升失败,则直接采用旧生代配置的GC对Young,old,Perm进行GC.一些术语解释图1图2新生代可用GC...

2020-02-04 19:53:40 610

原创 线性数据结构算法

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 图形结构 树形结构 ...

2020-02-04 11:00:22 497

转载 一次MySQL千万级大表优化过程

概述使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死,严重影响业务。老系统,当时设计系统的人大概是大学没毕业,表设计和SQL语句写的不仅仅是垃圾,简直无法直视。原开发人员都已离职,到我来维护,这就是传说中的维护不了就跑路,然后我就是掉坑的那个!!!方案概...

2019-06-26 23:27:51 928

转载 6 种实现负载均衡技术的方式

负载均衡(Load Balance)是集群技术(Cluster)的一种应用,可以将工作任务分摊到多个处理单元,从而提高并发处理能力,有利于提升中大型网站的性能。接下来小编就为大家介绍6种实现负载均衡技术的方式:1. http重定向协议实现负载均衡根据用户的http请求计算出一个真实的web服务器地址,并将该web服务器地址写入http重定向响应中返回给浏览器,由浏览器重新进行访问。该方式比...

2019-06-19 16:36:45 588

原创 RPC理论-分布式系统开发技术

RPC(Reomte Procedure Call Protocol) 远程过程调用协议,一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TPC或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC在使得开发包括网络分布式多程序在内的应用程序更加容易。RPC采用Client-Ser...

2019-06-12 23:12:22 365

原创 多线程-JVM程序运行原理(1)

Java与JVM(Java Virtual Machine 简称:Java虚拟机)Java与JVMJVM运行时数据区线程共享: 所有线程能访问这块内存数据,随虚拟机或者GC而创建和销毁。线程独占: 每个线程都会有它独立的空间,随线程生命周期而创建和销毁。方法区作用:存储加载类信息,常量,变量,JIT编译后的代码等数据.GC:方法区的垃圾回收,但回收效率低 ...

2019-05-23 16:50:33 716

转载 解决故障的处理思路

在有那么一瞬间,遇到服务器故障可能会手足无措,完全不知道自己应该干些什么,该如何处理。这里就简单记录一下解决服务器故障的思路,以便今后迅速定位问题。问题的前因后果尽可能搞清楚问题的前因后果,不要一下子就扎到服务器前面,你需要先搞明白对这台服务器有多少已知的情况,还有故障的具体情况。不然你很可能就是在无的放矢必须搞清楚的问题有:故障的表现是什么?无响应?报错? 故障是什么时候发现的...

2019-05-22 15:02:35 729

原创 zookeeper 集群部署(4)

zookeeper集群可靠的zookpeer服务只要集群的大多数准备好了,就可以使用这项容错集群至少要三台以上机器,建议奇数以上建议独立运行在每个服务器上集群参数配置initLimit集群中的follower服务器(F)与leader服务器(L)之间完成初始化同 步连接时能容忍的最多心跳数(tickTime的数量)。如果zk集群 环境数量确实很大,同步数据...

2019-05-20 22:52:18 459

原创 zookeeper 分布式锁(3)

分布式协调场景集群的缓存失效,让一个请求更新缓存即可,怎么做? 高并发缓存过期,所有请求都从数据库中读取数据更新缓存?如何解决这个问题,我们需要一把锁锁具有什么特点排他性:只有一个线程获取到锁,保证在在不同的节点的不同线程互斥。阻塞性:资源未被释放,收到阻塞。等待释放后,继续抢锁。可重入性 :线程获取锁后,后续是否可重复获取该锁。...

2019-05-15 23:10:45 185

原创 zookeeper 基础(2)

Zookeeper会话机制 Session会话 官网地址:https://zookeeper.apache.org/doc/current/zookeeperOver.htmlØ一个客户端连接一个会话,由zk分配唯一会话id;Ø 客户端以特定的时间间隔发送心跳以保持会话有效; tickTimeØ 超过会话超时时间未收到客户端的心跳,则判定客户端死了;(默认...

2019-05-14 15:33:12 166

转载 进击的 Kafka:不止消息队列,新一代流数据处理平台

为数据而生,以20世纪最具影响力的作家命名,一个很酷的开源项目——我们说的是Kafka。进入出生第九个年头的Kafka已经算不上年轻,但依旧活力四射。这篇文章简单梳理一下Kafka的发展脉络,文末给出了本文的参考资料,以及一个快速实用Kafka的课程,参考资料和课程以供感兴趣的读者深入学习。诞生背景每一次科学家们发生分歧,都是因为掌握的数据不够充分。所以我们可以先就获取哪一类数据达成一致。...

2019-05-14 10:41:53 379 2

手机号码归属地

这是2013年的手机号码归属地信息,各个省份的都有,大家共享!

2014-10-14

安全架构shiro手册说明

安全架构shiro总结手册,比较详细的介绍的架构如何使用说明和配置。

2014-10-11

SpringMVC+multipart

Spring MVC 模式例子 包括上传下载文件 整理好的

2014-08-07

hibernate3.0架包作用

三大框架结合中,Hibernate需要的架包,大家共享!

2014-08-05

spring3.0架包

spring3.0.*版本以上的jar每个架包的作用,请大家共享。

2014-08-05

zkoss javadoc3.6

这是zkoss 的帮助文档,请大家关注。

2014-07-15

Java开发zk

java的zkoss开发文档,请大家查阅。

2014-07-14

ActionSupport接口类

action类中为何要继承ActionSupport这个接口类。

2014-06-17

springMVC注解

springMVC架构的注解记录笔记,来给大家共享下!

2014-06-17

ssh框架的理解

ssh2 架构的理解,也是现在主流的框架.

2014-06-17

spring架包

spring3.0.5最新版本的架包,与大家共享下!

2014-04-03

MyEclipse注册机

MyEclipse 注册机 ,大家可以共享使用!

2014-03-31

spring事务

spring 五种事务的配置说明 请大家共享

2014-03-28

日志定时器

里面是定时器接口口程序和日志的配置,请大家共享

2014-03-26

hibernate转换编码配置和权限及java代码

hibernate转换编码配置和权限及java代码,请大家共享.

2014-03-26

java数据保存在txt文档

一段Java保存在txt数据的代码,请大家共享!

2014-03-24

CLIB代理图片

CJLIB代理代码,请大家看一下,分享下原理。

2014-03-18

读取XML名称

读取配置文件的代码,有四种大家可以看一下。

2014-03-11

db2数据库命令

常用命令,大家可以参考下,这些都是平常用的,总结出来的。

2014-02-28

DB2错误代码解释

DB2数据库错误的代码解释,数据库爆出错误的信息。请大家详细查看!

2013-11-27

zookeeper基于paxos算法的资料。

zookeeper是一款高性能的分布式协调服务,其基于paxos算法来做集群,并产生出Leader和Follower。这两个都是英文的,有兴趣的童鞋可以看下。

2019-05-20

srpingboot jsp

springboot 打jar ,无法访问jsp的问题。做了小demo,共享大家。这目前是springboot 的一个bug.其它版本都不成功。(1.4.2可以)

2017-09-14

springboot自定义拦截器filter

项目集成了sso资源拦截的控制,自己写了一个springBoot自定义的filter。可以减少一些不必要的资源拦截。自己做的一个小demo,共享于大家。

2017-07-10

redis+springMVC

最近在使用redis和java结合做缓存处理,自己参照例子写了个web程序,供大家参考,包括redis-2.8.19.zip包。

2016-04-18

MyEclipse的注册码生成代码-MyEclipseKeyGen.java

MyEclipse8.0的注册码生成代码

2016-04-06

redis集群文档

redis集群文档

2016-03-24

linux常用命令

linux常用命令APi

2016-03-24

springMVC+mybatis+shiro+easyui

springMVC3.2.5+mybatis3.2.5+shiro+easyui1.4.2+ehcache

2016-03-24

shiro pdf文档

apache shiro 安全机制.

2016-03-19

spingMVC Exception处理类

springMVC 异常处理类的三种写法。代码已经写出,大家可以下载借鉴,并加以修改。

2015-08-28

tomcat7+memcached+nginx 集群架包(无ngnix架包)

tomcat7+memcahched session共享的架包,搜集全部的供大家分享。

2015-06-25

ssh 架包解释

spring3.0 \hibernate3.0 \ struts2 架包的作用以及用途.

2015-04-10

Shiro 安全资料

Shiro 安全架构,文档和资料,自己整理了一些资料。

2015-04-10

mina文档说明书

mina文档说明书

2015-04-10

Jquery LigerUI 1.9.7

Jquery liger 是一种前台框架。封装了很多丰富的结构布局,比如:树结构,列表多样展示等等

2015-04-10

视频监控器照片浏览

视频监控到的照片上传到服务器,并浏览这些照片的小例子。

2015-04-10

android 小妖精

这是类似于网站,获取一些笑话信息的程序。

2015-04-10

apache mina api

apache mian 帮助文档,希望对大家有用。如果下载后打不开,请发给你QQ好友在转发,就可以打开了。

2014-11-01

2014年最新的IP地址和电话号码归属地

2014年最新的 IP地址和电话号码归属地,希望对大家有帮助。

2014-10-14

2014年最新的号码归属地

2014年各个省份的号码归属地,信息很全面。希望对大家有帮助!

2014-10-14

空空如也

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

TA关注的人

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