- 博客(97)
- 收藏
- 关注
转载 缓存技术的详解
原文:https://www.yangqiu.cn/sinobeauty/1616327.html一、缓存概述缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。1、缓存的原理将数据写入/读取速度更快的存储(设备);将数据缓存到离应用最近的位置;
2017-12-21 17:01:51
499
转载 用Redis轻松实现秒杀系统
什么是秒杀秒杀场景一般会在电商网站举行一些活动或者节假日在12306网站上抢票时遇到。对于电商网站中一些稀缺或者特价商品,电商网站一般会在约定时间点对其进行限量销售,因为这些商品的特殊性,会吸引大量用户前来抢购,并且会在约定的时间点同时在秒杀页面进行抢购。秒杀系统场景特点秒杀时大量用户会在同一时间同时进行抢购,网站瞬时访问流量激增。秒杀一般是访问请求数量远远大于库存数量,只
2017-12-21 16:12:51
29464
12
转载 消息队列使用的四种场景介绍
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性架构使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景2.1异步处理
2017-12-21 15:56:36
366
转载 分布式系统和分布式理论
一、分布式系统分布式系统从当初的CORBA 到EJB,Web和SOA,从集群到现在的NoSQL 云计算和大数据Hadoop等分布式系统,横向水平扩展Scala out/in是分布式系统设计的一个特点,可靠性 容错性是两个质量指标。 什么是分布式系统? 一大批服务器组成一个集合,对于用户来说仍然是一个整体连贯系统。 A. Tanenbaum定义:
2017-12-21 15:03:47
551
转载 (大型网站之Nginx)图解正向代理、反向代理、透明代理
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://z00w00.blog.51cto.com/515114/1031287套用古龙武侠小说套路来说,代理服务技术是一门很古老的技术,是在互联网早期出现就使用的技术。一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,从而实现代理技
2017-12-21 10:58:48
382
转载 负载均衡器技术Nginx和F5的优缺点对比
nginx(一) nginx详解 nginx是一个被广泛使用的集群架构组件,我们有必要对它有足够的了解。下面将先认识nginx:包括应用场景、nginx基本架构、功能特性、并发模型以及配置说明,最后我们再总结下,为什么选择nginx的原因。1、nginx应用 nginx (engine x)是一个可以作为HTTP WEB服务器、反
2017-12-21 10:51:29
37502
1
转载 RESTful 详解
1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一
2017-12-21 10:28:28
592
转载 Dubbo详细介绍与安装使用过程
1 Dubbo介绍1.1 dubbox简介随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。 此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。
2017-12-20 16:07:33
227
转载 spring-jar包详解整理(大合集)
Spring各jar包详解spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar,aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。spring-src.zip就是所有的源代码压缩包。除了spring.jar 文件,Spring 还包括有其它21 个独立的jar 包,各自包含
2017-12-20 16:04:06
15062
1
转载 高并发基础之Java并发包
摘要: 本系列基于炼数成金课程,为了更好的学习,做了系列的记录。 本文主要介绍: 1.各种同步控制工具的使用 2.并发容器及典型源码分析在[高并发Java 二] 多线程基础中,我们已经初步提到了基本的线程同步操作。这次要提到的是在并发包中的同步控制工具。1. 各种同步控制工具的使用1.1 ReentrantLock ReentrantLock感觉上是
2017-12-20 11:14:37
331
转载 HTTPS和HTTP的区别
HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netsc
2017-12-20 11:12:40
362
转载 常用的数据结构
数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。栈是只能在某一端插入和删除的特殊线性表。它按照先进后出
2017-12-20 11:11:02
188
转载 Java开发中的23种设计模式详解
总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并
2017-12-20 11:07:55
391
转载 Spring DAO vs Spring ORM vs Spring JDBC
最近关注于 Spring 提供的数据访问技术,对于 Spring 相关的这几个项目有何不同我不是太明白:Spring-DAO (http://docs.spring.io/spring/docs/2.0.8/reference/dao.html)Spring-ORM (http://docs.spring.io/spring/docs/3.0.x/spring-framework-refe
2017-12-20 10:54:44
947
转载 Spring之ORM(spring 与mybatis的4种整合实例)
我们知道spring没有提供orm框架但是,提供了很好的和orm框架这个的代沟,我们可以和流行的orm框架进行整合,本文主要介绍Spring与Mybatis三种常用整合方法,需要的整合架包是mybatis-spring.jar,可以通过连接下载http://download.csdn.net/detail/qh_java/8431455 ; 1、采用数据映射器(MapperFa
2017-12-20 10:53:00
1761
转载 Spring详解-----------对ORM的支持
8.1 概述8.1.1 ORM框架 ORM全称对象关系映射(Object/Relation Mapping),指将Java对象状态自动映射到关系数据库中的数据上,从而提供透明化的持久化支持,即把一种形式转化为另一种形式。 对象与关系数据库之间是不匹配,我们把这种不匹配称为阻抗失配,主要表现在:关系数据库首先不支持面向对象技术如继承、多态,
2017-12-20 10:51:07
8961
1
转载 MySQL锁的用法之行级锁
行级锁是MySQL中粒度最小的一种锁,他能大大减少数据库操作的冲突。但是粒度越小,实现的成本也越高。MYISAM引擎只支持表级锁,而INNODB引擎能够支持行级锁,下面的内容也是针对INNODB行级锁展开的。 INNODB的行级锁有共享锁(S LOCK)和排他锁(X LOCK)两种。共享锁允许事物读一行记录,不允许任何线程对该行记录进行修改。排他锁允许当前事物删除或更新一行记录,其他
2017-12-19 17:02:17
373
转载 数据库索引到底是什么,是怎样工作的?5
我们通过一个简单的例子来开始教程,解释为什么我们需要数据库索引。假设我们有一个数据库表 Employee, 这个表有三个字段(列)分别是 Employee_Name、Employee_Age 和Employee_Address。假设表Employee 有上千行数据。现在假设我们要从这个表中查找出所有名字是‘Jesus’的雇员信息。我们决定使用下面的查询语句:SELECT * FROM
2017-12-19 16:18:16
292
转载 深入浅出数据库索引原理4
前段时间,公司一个新上线的网站出现页面响应速度缓慢的问题, 一位负责这个项目的但并不是搞技术的妹子找到我,让我想办法提升网站的访问速度 ,因为已经有很多用户来投诉了。我第一反应觉的是数据库上的问题,假装思索了一下,摆着一副深沉炫酷的模样说:“是不是数据库查询上出问题了, 给表加上索引吧”,然后妹子来了一句:“现在我们网站访问量太大,加索引有可能导致写入数据时性能下降,影响用户使用的”。当时我就楞了
2017-12-19 16:16:15
201
转载 数据库索引原理理解0
1.什么是索引?我想这个用过数据库的人都应该知道了,索引类似于书的目录,主要用于提高查询效率,也就是按条件查询的时候,先查询索引,再通过索引找到相关的数据,索引相当于记录了对某个关键词,指定到不同的文件,或者文件里的不同位置,当然索引自身也是通过文件来保存的。2.索引的类型有两种基本的索引结构,也就是索引文件的保存方式,一个是顺序索引,就是根据值的顺序排序的(这个文件里面的值,也就是为
2017-12-19 15:58:40
198
转载 MySql数据库索引原理3
本文主要是阐述mysql索引机制,主要是说明存储引擎Innodb第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。第二部分结合MySQL数据库中InnoDB数据存储引擎中索引的架构实现讨论聚集索引、非聚集索引及覆盖索引等话题。第三部分讨论MySQL中高性能使用索引的策略。 一、数据结构及算法理论
2017-12-19 15:57:15
182
转载 数据库索引原理及优化2
本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接。一、摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主
2017-12-19 15:56:05
227
转载 数据库索引的实现原理
强烈建议参阅链接:http://www.linezing.com/blog/?p=798#nav-1说白了,索引问题就是一个查找问题。。。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在
2017-12-19 15:53:44
199
转载 一致性Hash算法
缓存策略常见的策略有求留余数法和一致性Hash算法。缓存的本质是一个内存Hash表,网站应用中,数据缓存以一对Key、Value的形式存储在内存Hash表中。计算KV对中Key的HashCode对应的Hash表索引,可快速访问Hash表中的数据。我们可以理解为:HashCode,就是该对象的唯一标识。求留余数法求留余数法,是最简单的一种计算策略。它的计算过程,就是使
2017-12-19 15:45:32
268
转载 区块链最基本的技术原理
今天我还是给大家讲一下区块链的基本原理。我知道很多搞技术的朋友都觉得区块链技术可能不是很难,但实际落地却不多,而且有些人说区块链概念太热了,实际上我觉得是因为他们还没有真正理解区块链的商业价值,只有真正明白区块链的基本技术,才有可能理解区块链的颠覆意义。多账本记一样的账大家看,这张图上有6个帐本,张三有30元,李四有50元,每一个帐本的帐都是一模一样的,这就是区块链的第一个概念:多个帐
2017-12-19 15:37:44
33481
4
转载 怎么跳出MySQL的10个大坑
MySQL · 性能优化· Group Commit优化背景关于Group Commit网上的资料其实已经足够多了,我这里只简单的介绍一下。众所周知,在MySQL5.6之前的版本,由于引入了Binlog/InnoDB的XA,Binlog的写入和InnoDB commit完全串行化执行,大概的执行序列如下:[js] view plain copy
2017-12-19 15:33:33
292
转载 多用户并发操作的解决方案
【问题】在以前的系统开发中,经常遇到一个同样问题,就是多个用户同时并发操作一条记录,这次在交易系统开发过程中,又出现了这样问题。比如交易商A提交单子,由审核人员B审核,此时A正在修改单位,B也正在查看这条记录,A先修改保存后B再审核保存,导致B审核通过的记录不是他所看到的。【分析】仔细考虑问题,大概分析了三个方法, 并确定了一个可行的方案,可能还有不完善的地方,但解决现有问题还是绰绰有余的。
2017-12-19 15:27:59
6631
转载 常见框架中的单例、多例与线程安全性总结
单例与多例问题是指,当多个用户访问某个类时,系统是为每个用户创建一个该类实例,还是整个系统无论多少用户访问,只创建一个该类实例。线程安全问题是指,多个用户同时在访问同一个程序时,其对于某一数据的修改,会不会影响到其他用户中的该数据。若没有影响,则是线程安全的;若有可能影响,则是线程不安全的。现在对 HttpServlet、HttpSession、SpingMVC、Strut
2017-12-18 18:51:45
298
转载 Android:JNI 与 NDK到底是什么?(含实例教学)
前言在Android开发中,使用 NDK开发的需求正逐渐增大 但很多人却搞不懂 JNI 与 NDK 到底是怎么回事 今天,我将先介绍JNI 与 NDK & 之间的区别,手把手进行 NDK的使用教学,希望你们会喜欢 目录 目录1. JNI介绍1.1 简介定义:Java Native Interface,即 Java本地接口 作用: 使得Ja
2017-12-18 18:43:27
273
转载 servlet是单例和struts2的action多例的理解
1.struts2中action是多例的,即一个session产生一个action 如果是单例的话,若出现两个用户都修改一个对象的属性值,则会因为用户修改时间不同,两个用户访问得到的属性不一样,操作得出的结果不一样. 举个例子:有一块布长度300cm,能做一件上衣(用掉100cm)和一件裤子(用掉200cm);甲和乙同时访问得到的长度都是300cm, 甲想做上衣和裤子,
2017-12-18 18:39:55
229
转载 servlet生命周期深入理解
什么是ServletJava Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。实现与CGI相同的功能, 但是与CGI相比, 优点是:性能明显更好。Servlet 在 Web 服务器的地址空间内执行。这样它就没有必要再创建一个单独的进程来处理每个客户端
2017-12-18 18:36:53
243
转载 拖动验证
简介极验证与以往传统验证码不同的是,极验通过分析用户完成拼图过程中的行为特征,通过数据分析来判断是人还是机器。用户不必面对眼花缭乱的英文字符或汉字,整个验证过程变的像游戏一样有趣。demo讲解Java版demo地址:https://github.com/GeeTeam/gt-java-sdk引入GeetestLibimport com.geete
2017-12-18 18:25:15
503
转载 高并发基础之Java并发包
转自:https://my.oschina.net/hosee/blog/607677 其他资料: https://my.oschina.net/zhupanxin/blog/269037摘要: 本系列基于炼数成金课程,为了更好的学习,做了系列的记录。 本文主要介绍: 1.各种同步控制工具的使用 2.并发容
2017-12-18 18:10:46
231
转载 Java 并发工具包 java.util.concurrent 用户指南
译序本指南根据 Jakob Jenkov 最新博客翻译,请随时关注博客更新:http://tutorials.jenkov.com/java-util-concurrent/index.html。本指南已做成中英文对照阅读版的 pdf 文档,有兴趣的朋友可以去 Java并发工具包java.util.concurrent用户指南中英文对照阅读版.pdf[带书签] 进行下载。
2017-12-18 18:08:24
185
转载 归并排序
【1】归并排序归并排序是建立在归并操作上的一种有效的排序算法。该算法也是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序的算法复杂度为O(N*logN)。归并排序算法是稳定的(参见随笔《常用排序算法稳定性分析》)。【2】归并排序逻辑分析与代码实现在分析归并排序的逻辑之前,让我们也利用一下分治法理念:先从基层做起(个人之拙见)。先考虑一个简单问
2017-12-15 18:51:04
241
转载 常用排序算法稳定性分析
【1】选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法冒泡排序、插入排序、归并排序和基数排序都是稳定的排序算法。【2】研究排序算法的稳定性有何意义?首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前两个相等的数据其在序列中的先后位置顺序与排序后它们两个先后位置顺序相同。再简单具体一点,如果A i == A j,Ai 原来在 Aj 位置前,排序后 Ai 仍然是在
2017-12-15 18:50:06
227
转载 稳定排序和不稳定排序
这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的
2017-12-15 18:48:48
421
转载 八大排序算法
八大排序算法概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最
2017-12-15 18:47:58
222
转载 数组小和(单调和)
数组小和的定义如下:例如,数组s=[1,3,5,2,4,6]在s[0]的左边小于或等于s[0]的数的和为0在s[1]的左边小于或等于s[1]的数的和为1在s[2]的左边小于或等于s[2]的数的和为1+3=4在s[3]的左边小于或等于s[3]的数的和为1在s[4]的左边小于或等于s[4]的数的和为1+3+2=6在s[5]的左边小于或等于s[5]的数的和为1+3+5+2+4=1
2017-12-15 18:45:59
831
转载 非比较排序算法
目录计数排序基数排序桶排序 上一篇文章中我们总结了常用的比较排序算法,主要有冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 这篇文章中我们来探讨一下常用的非比较排序算法:计数排序,基数排序,桶排序。在一定条件下,它们的时间复杂度可以达到O(n)。 这里我们用到的唯一数据结构就是数组,当然我们也可以利用链表来实现下述算法。 计数排序(C
2017-12-15 18:45:10
270
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅