- 博客(39)
- 收藏
- 关注

原创 常用数据库分库分表技术介绍
目录物理分表逻辑分表分库分库&分表跨地域分库总结今天主要讲讲,一个网站的分库分表是有哪些方法,不同纬度的做法有哪些。首先,一个最简单的网站结构如下,一台服务器和一个数据库就能搭建一个完整的网站,用户通过Internet访问对应的域名,就能使用该网站提供的服务。...
2019-07-07 10:24:33
2975

原创 MySQL之数据存储索引篇(二)
数据库选择b-tree结构作为索引的原因 要知道数据库选择b-tree结构作为索引的原因,需要先了解计算机科学中的局部性原理和磁盘预读。局部性原理 计算机科学中著名的局部性原理:当一个数据被用到时,其附近的数据也通常会马上被使用。程序运行期间所需要的数据通常比较集中。磁盘预读 由于磁盘顺序读取的效率很高(不需要寻道时间,只需很少的旋转时间),因此对于具有局部性的程序来说
2017-11-19 17:14:19
649

原创 MySQL之数据存储索引篇(一)
索引的功能 建立索引的目的是加快对表中记录的查找或排序。付出的代价:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。常见的索引 类别 名称 数据结构 按照数据的连续性 聚簇索引 b+tree
2017-11-11 22:01:42
6576

原创 MySQL之日志管理篇
MySQL中主要有binlog、relay log、error log、slow log、operation log、transaction log(undo log、redo log)、general log等日志。1.binlog功能MySQL的作用类似于Oracle的归档日志,可以用来查看数据库的变更历史(具体的时间点所有的SQL操作)、数据库增量备份和恢复(增量备份和基于时间点的恢复)、M
2017-11-10 23:04:24
631

原创 Disruptor原理与编程实践
1.Disruptor的背景 disruptor是LAMX架构的一种设计,而LAMX是一种新型的零售金融交易平台。disruptor主要用于大规模低延迟的高并发业务场景,其核心disruptor是一个基于事件源驱动机制的业务逻辑处理器,整个业务逻辑处理器完全运行在内存中,disruptor在无锁的网络情况下,实现了Queue的并发。2.Disruptor的适用场景 disruptor适用于大规模
2016-12-11 10:54:49
5585

原创 Linux集群部署系列(六):Hadoop 在window系统下安装方法
Hadoop-Windows安装1.安装前的准备工作1.下载JDK 网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html注:下载对应平台的版本,否则无法安装 2.下载cygwin网址:http://www.cygwin.com/setup.ex
2015-10-18 19:00:00
2308

原创 Linux集群部署系列(五):Hadoop 2.x完全分布式集群部署
1. 部署所需软件介绍1.1操作系统版本号:CentOS-7-x86_64-DVD-1503-01.iso下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1503-01.iso 选择一个64位的版本或者32位的版本1.2 jdk下载地址:http://
2015-10-18 18:31:12
1545

原创 linux集群系列(三):Solr全文搜索服务器部署(Solr-5.2.1)
Solr介绍Solr作用 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。Solr下载http://archive.apache.org/dist/lucene/solr/
2015-06-17 14:13:07
3084
1

原创 linux集群系列(一):LVS+Keepalived以DR模式实现负载均衡
Linux 下LVS+Keepalived负载均衡的搭建本负载均衡采用DR模式,是在vmware虚拟机下做的搭建。1 搭建前的准备1.1 软件目录规划windows下目录规划K:\VMWare 安装虚拟机软件K:\VMWareOS 安装CentOSK:\Download 用于保存下载软件linux中目录规划/home/download 用于保存下
2015-06-14 20:20:58
1644
原创 Win7安装nvme协议的SSD硬盘方法
市面上,我比较了下SSD,一类是原来的SATA协议的固态硬盘,一类是M2的固态硬盘,我发现SATA的硬盘比M2的贵,我的主板较老,又不没有原生支持M2的接口。二、将PCIE扩展卡,安装在对应的PCIE插槽上,我使用的PCIEX1的插槽。我使用的是七彩虹ch110M-T的主板,是没有对应支持M2的固态硬盘插槽,我是使用的相关M2转PCIE扩展卡才装上M2 Nvme协议的固态硬盘。win10以上是原生支持nvme协议硬盘的,win7较老,需要安装相关nvme补丁,才能加载相关的硬盘。
2023-11-16 15:29:07
6457
1
原创 利用状态机思想图解排序算法过程
算法难,难就在于对这个解决问题的过程的理解和描述。对于理解困难这个问题,我们可以去找一些辅助工具来帮助理解。这篇问题就是借助于状态机的思想,通过图形化的方法去理解算法过程。状态机介绍计算编程中面临的绝大数算法问题、或者现实生活中可计算的问题,都可以使用状态机模型去建模,解决问题。因为这个模型足够抽象,同时模型又能很好的去描述一件事情。这里先来认识下状态机(有限状态机-变换器)的组成:...
2020-03-14 19:13:45
758
转载 RAID 技术全解
RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆。这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征、基本原理、关键技术、各种等级和发展现状进行了全面的阐述,并为用户如何进行应用选择提供了基本原则,对于初学者应该有很大的帮助。一、RAID 概述 1988 年美国加州大学伯克利分校的 D. A. Patterson 教授等首次在论文...
2019-07-06 16:01:12
882
原创 WEB编程:Interceptor与Filter
概念interceptor:interceptor是AOP思想的体现.用于在运行目标程序前、后完成一些制定的动作,如在运行目标程序前进行参数校验,在运行程序后进行资源回收. filter:filter也是AOP思想的体现,作用跟interceptor差不多. 异同相同点:都是基于AOP思想,实现横向编程.作用很相似.不同点:filter是servlet容器原生支持,interceptor需
2017-12-02 13:36:16
451
原创 Spring事务传播机制问题
Spring事务传播机制问题Question:当代码外层和内层使用Transation注解进行事务操作时,内层操作失败,抛出 代码如下@TransactionmethodA(){ try{ methodB(){ throw new Exception(e); } }catch(Exception e){ logger.i
2017-07-26 10:04:34
731
原创 以太坊的Java客户端使用
准备工作已经安装好以太坊客户端或是以太坊集群安装jdk8开发环境,web3j需要在java 8的环境才能运行引入jar包<dependency> <groupId>org.web3j</groupId> <artifactId>core</artifactId> <version>2.2.1</version></dependency>连接以太坊客户端使用web3j的api连接p
2017-06-01 15:03:56
10286
39
原创 区块链编程一翻译篇<二>:web3j准备工作
准备工作将最新版本的web3j加入到项目配置中MavenJava 8:<dependency> <groupId>org.web3j</groupId> <artifactId>core</artifactId> <version>2.2.1</version></dependency>Android:<dependency> <groupId>org.web3j</groupId
2017-05-28 08:53:43
10204
2
原创 区块链编程一翻译篇<一>:web3j介绍
web3jweb3j是一个轻量级、反应式、类型安全的java和android的类库,用于连接以太坊网络的客户端。 开发者不用开发额外的整合代码,在以太坊区块链平台上工作。 Java and the blockchain为开发者提供了区块链、以太坊和web3j的概述。web3j的特性对以太坊的JSON-RPC进行了完整的实现,包含HTTP和IPC支持以太坊钱包可以使用响应式函数API与f
2017-05-28 08:48:24
13000
原创 Quorum机制与NRW算法
Quorum机制Quorum,原指为了处理事务、拥有做出决定的权力而必须出席的众议员或参议员的数量(一般指半数以上)。NRW算法NRW算法是基于Quorum机制的是一种CP(Consistency&Partion tolerance)算法。用于在数据一致性和可靠性之间达到一种平衡。为了保证系统的正常运行,能够提供可靠的服务,分布式系统中对于数据的存储采用多份数据副本,但是这种解决方案在数据读写的过程
2017-01-07 11:14:53
6080
原创 Linux集群系列(负一):VMWare下CentOS7网络设置
1.设置window网络属性 1.1网络共享设置,保证vmware中的系统能连接上外网,使宿主机能够访问vmware中的linux系统。注意:在网络共享时,网络会改成192.168.137.1,这时要重新更改vmnet1 的网络地址。 1.2网络ip设置 1.3vmware网络设置
2015-10-20 22:15:11
1516
原创 Tomcat中文乱码处理总结
处理服务器乱码的四种方式1.jsp编码设置错误导致乱码在JSP文件中使用page命令指定响应结果的MIME类型,如<%@ page language="java" contentType="text/html;charset=utf-8" %>2.在接受request参数时进行,response响应时设置编码格式request.setCharacterEncod
2015-06-15 12:11:29
4623
原创 数据恢复与数据彻底删除
一、数据恢复的方法: 前提是在数据丢失的情况下,没有对其再次写入东西,再次写入东西,可能原有的东西就很难恢复,必须要专业的人员才能恢复。 1.使用finaldata 2.点击打开3.选择相应的盘符,或者选择整个物理硬盘。4.恢复需要一定的时间二、可以360安全卫士的文件恢复三、介绍一个数据恢复工具很全的软件,提示软件过程
2015-03-04 12:33:28
1304
原创 新增硬盘后,其他盘变成未分区空间的解决方法
许多人为了加速开机速度,提升电脑运行能力,于是买了新的固态硬盘来做主硬盘,原来的硬盘用光驱硬盘托架扩展。在其过程中,会暴露许多问题,下面我来帮助大家解决一个最常见的问题:新增硬盘后,原来的已有盘变成了为分区空间。 现象:新增硬盘后,原来的已有盘变成了为分区空间。 解决方法: 1.下载分区助手或者是DiskGenius 下载地址:
2015-02-15 10:38:12
2930
原创 WEB学习笔记(四):CSS3比CSS多了哪些?
1.基础样式属性的扩充 1.1background样式属性的扩充,主要在背景定位上 1.2border属性的扩充,主要是框的图片使用和增加圆角样式 1.3color属性的扩充,能够引用其他颜色标准。增加书签和对单词内容的样式。 1.4(content)内容生成增加,对元素进行控制。
2015-02-10 22:24:19
1540
原创 WEB学习笔记(三):CSS基本标签的使用
CSS 语法由三部分构成:选择器、属性和值: selector {property: value} 2.CSS的基本写法 h1,h2,h3,h4,h5,h6 { color: green; font-family: Verdana, sans-serif; color: #000; background: #fff;
2015-02-07 22:05:41
706
原创 WEB学习笔记(二):HTML5比常用的HTML多了哪些?
html5使得文档更加具有语义,内容更加多样化,表现力更强。1.基本标签扩充: 语义标签扩充:写一篇文章不需要div构建就能完成 标签很好的结合-->
2015-02-04 22:37:06
1149
原创 WEB学习笔记(一):HTML基本标签
1.文档总体标签2.文档主题:3.文档标题标签~4.文档段落相关标签:5.文档表格标签:6.文档列表标签:7.文档链接标签:8.文档表单标签:9.文档多媒体标签:10.文档框架标签:11.文档连接标签:12.文档脚本标签:13.文档样式标签:14.文档块级标签:15.文档特殊符号表示
2015-02-03 22:54:11
456
原创 在IIS中部署WEB应用
1.检查IIS服务是否在系统被安装,如果没有安装,则安装的步骤为: 1.打开控制面板,找到“程序与功能”,点进去 2.点击左侧“打开或关闭Windows功能” 3.找到“Internet 信息服务”,按照下图打勾即可,把子项全部勾选。 4.点击完成,等待安装。 注:上述为用户界面安装,也可以在命令
2015-01-17 20:12:13
924
原创 javascript网页富文本编辑器:kindedit富文本编辑器插件的使用
kindedit是一个轻量级的国内富文本插件,其嵌入在网页中的方式很简单,API也很完善,主要的一点是功能齐全,完全免费。1.kindedit依赖文件:2.插入kindedit的输入文本到html的body中当前已输入0你还可以输入1000字符3.插入kindedit的运行脚本到head中KindE
2015-01-16 23:17:30
2913
原创 无线路由实战(一):增强无线wifi信号和加速wifi的十一种方法
有些时候,无限wifi连接不上,连上信号不好,时断时连,下面我总结了十种方式,用以解决wifi信号问题。一下是在TP-link路由器上做的实验,其他品牌请参看说明书。1. 路由MTU调试,解决各个网络运营商发送MTU拆包问题,提高网速。2. 路由信道调试,wirelessmon和Vistumbler测试周围网络的信道,可能网络重叠,引起网络信号不稳定,导致网速很慢3
2015-01-03 14:44:42
6682
转载 引入外部JS或CSS文件的写法
引入外部JS或CSS文件的写法 例如:目标文件login.js是在项目根目录下的一个叫JS的文件夹下,1.若母文件在根目录下,则应这样写: 这个时候下面的两种写法是不正确的: 2.若母文件在根目录下的一个叫login的文件夹下,则应这样写: 这个时候下面的两种写法是不正确的: 同样对CSS文件的引用也是这样的。
2014-12-31 22:31:42
3837
原创 javascript引用javascript的方法
1.直接在html中一起引用 2.将一个js文件全部复制到另一个js文件中 3.利用js内置函数实现js的引用(function() {var jsfiles = new Array( "script/jquery.js", "script/aaa.js" ); var agent = na
2014-12-31 22:27:37
758
原创 VMWare安装出现installer error:1021错误的解决方法
问题: 安装虚拟机VMWare Workstation时出现failed to create the requested registry key key installer error 1021解决方法: 在注册表(开始--运行--输入regedit)中找到HKEY_LOCAL_MACHINE ------------> SOFTWARE---------->VMware
2014-12-31 13:24:41
5615
原创 国内外技术编程网站
1.各大技术的官网 1. java:http://www.oracle.com/index.html 2. orcle:http://www.oracle.com/index.html 3.mysql:http://www.mysql.com/ 4.Android :http://developer.android.com/
2014-12-21 17:10:30
1013
原创 移动web:未来的明星
1.当计算机最初被创造时,还只能在本地运行一些程序。逐渐地,出现网络,出现C/S的模式,使得资源得到了更好的利用。2.为了解决平台不兼容的问题,程序安装、更新困难,便出现了B/S架构。使得应用能够跨平台。3.各种编程语言百家争鸣,导致各家写的程序不兼容,一个应用需要开发几个版本,增大了开发成本。为了解决程序运行兼容问题,变出现了java这种跨平台语言。4.为了解决碎片化和平台兼容问题,
2014-12-17 20:06:51
689
原创 知晓JVM系列(四): JVM相关问题问答(面试题)
1.问:堆和栈有什么区别 答:堆是存放对象的,但是对象内的临时变量是存在栈内存中,如例子中的methodVar是在运行期存放到栈中的。 栈是跟随线程的,有线程就有栈,堆是跟随JVM的,有JVM就有堆内存。2.问:堆内存中到底存在着什么东西? 答:对象,包括对象变量以及对象方法。3.问:类变量和实例变量有什么区别? 答:静态变量是
2014-12-16 14:11:23
4262
原创 知晓JVM系列(三) :常用的JVM监测工具
一、可视化监测工具 1.jvisualvm,是jdk自带的jvm性能监测工具。 工具路径:jdk1.7.0_03\bin 运行模式:双击运行 基础功能: 1、可以通过
2014-12-16 09:52:47
3714
原创 知晓JVM系列(二):JVM内存管理机制与优化初探
1.GC初探: JVM的堆内存是程序开发常用到一块可以自己操作的内存区域,我们经常使用new产生的实例都存放在这片区域。正因为这块区域的自由度极高,所以管理起来也是相当的麻烦,所以JVM才设计了这一个GC机制帮助程序员进行内存管理,减少程序员手动的去管理内存带来的不必要的麻烦,提高内存使用效率和安全性。 JVM内存大小:限制于实际的最大物理内存,其限制因素跟其寄宿的操作系统的位数
2014-12-13 18:46:13
906
原创 知晓JVM系列(一):JVM基本结构与工作原理
1.2.JVM是JVM规范(java运行规范)的实施,VM制造者可以按照这个规范去根据自己的需求去定制化一个JVM,但无论哪一种JVM,其总体上的特征都必须满足这个java运行规范,其JVM的实现原理可以不尽相同。正如计算机的设计制造,都是根据冯诺伊曼的计算机体系研发的,但其中的实现原理可以各式各样。对cpu的构造就有很多种,如Inter,AMD,高通等等。又如c语言的编译器,可以有很多种:t
2014-12-12 21:53:27
1791
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人