自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 收藏
  • 关注

转载 秒杀业务分析

正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高;2 秒杀技术挑战假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是10000,秒杀系统需要面对的技术挑战有:对现有网站业务造成

2017-01-12 16:16:10 466

转载 如何解决秒杀的性能问题和超卖

最近业务试水电商,接了一个秒杀的活。之前经常看到淘宝的同行们讨论秒杀,讨论电商,这次终于轮到我们自己理论结合实际一次了。  ps:进入正文前先说一点个人感受,之前看淘宝的ppt感觉都懂了,等到自己出解决方案的时候发现还是有很多想不到的地方其实都没懂,再次验证了“细节是魔鬼”的理论。并且一个人的能力有限,只有大家一起讨论才能想的更周全,更细致。好了,闲话少说,下面进入正文。 

2017-01-12 14:26:37 838

转载 秒杀技术

电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因? 一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,

2017-01-12 12:02:34 255

转载 java 常见几种发送http请求案例

import java.io.FileOutputStream;  import java.io.IOException;  import java.io.InputStream;  import java.io.InputStreamReader;  import java.io.OutputStreamWriter;  import java.io.UnsupportedE

2016-11-29 12:05:49 1230

转载 mysql与oracle区别

1.mysql与oracle数据库实现自增列的区别:mysql可以实现自增列,只要在建表时设置auto_increment即可,而oracle在建表时不能设置自增列功能,必须通过sequence序列来实现自增列功能,建立sequence序列的语句如下(假设序列名为ts_sequence):?123456

2016-11-21 21:22:58 483

转载 activeMQ实例在项目中的运用二【项目实战系列】

上一篇我们已经介绍了activeMQ的服务器端的开发和代码,那么这一篇就介绍一下怎么获取对应的activeMQ里面的信息,并通过websocket推送到前端。        首先来看一下接收端项目结构:项目结构中主要的就是listener包里面的内容,用于监听MQ中的消息,我们来看其中一个UserPushListener.Ja

2016-11-16 11:44:37 535

转载 activeMQ实例在项目中的运用【项目实战系列】

1.下载ActiveMQ去官方网站下载:http://activemq.apache.org/2.运行ActiveMQ解压缩apache-activemq-5.14.0-bin.zip,然后双击apache-activemq-5.14.0\bin\activemq.bat运行ActiveMQ程序。启动ActiveMQ以后,登陆:http://localhost:8161/admin

2016-11-16 11:43:36 1378 1

转载 Java RMI 框架(远程方法调用)

RMI(即Remote Method Invoke 远程方法调用)。在Java中,只要一个类extends了java.rmi.Remote接口,即可成为存在于服务器端的远程对象,供客户端访问并提供一定的服务。JavaDoc描述:Remote 接口用于标识其方法可以从非本地虚拟机上调用的接口。任何远程对象都必须直接或间接实现此接口。只有在“远程接口”(扩展 java.rmi.Remote 的接口)中

2016-11-16 09:37:49 183

转载 tomcat调优

集群方案单个Tomcat的处理性能是有限的,当并发量较大的时候,就需要有部署多套来进行负载均衡了。 集群的关键点有以下几点: 1.引入负载端 软负载可以使用nginx或者apache来进行,主要是使用一个分发的功能 参考: http://ajita.iteye.com/blog/1715312(nginx负载) http://ajita.iteye.com/bl

2016-11-15 18:05:00 204

转载 JAVA多线程实现的三种方式

Java多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。1、继承Thread类实现多线程继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的

2016-11-14 14:37:59 174

转载 hadoop入门--简单的MapReduce案例

分析MapReduce执行过程    MapReduce运行的时候,会通过Mapper运行的任务读取HDFS中的数据文件,然后调用自己的方法,处理数据,最后输出。Reducer任务会接收Mapper任务输出的数据,作为自己的输入数据,调用自己的方法,最后输出到HDFS的文件中。整个流程如图:Mapper任务的执行过程详解每个Mapper任务是一个Java

2016-11-14 12:14:57 223

转载 Zookeeper

2.1 整体架构在Zookeeper集群中,主要分为三者角色,而每一个节点同时只能扮演一种角色,这三种角色分别是:(1). Leader 接受所有Follower的提案请求并统一协调发起提案的投票,负责与所有的Follower进行内部的数据交换(同步);(2). Follower 直接为客户端服务并参与提案的投票,同时与Leader进行数据交换(同步);(3). O

2016-11-10 14:08:41 179

转载 Session缓存和Cache缓存

以前实现数据的缓存有很多种方法,有客户端的Cookie,有服务器端的Session和Application。其中Cookie是保存在客户端的一组数据,主要用来保存用户名等个人信息。Session则保存对话信息。Application则是保存在整个应用程序范围内的信息,相当于全局变量。通常使用最频繁的是Session,那么Session和Cache又有什么区别呢?本节结合使用经验,详细介绍S

2016-11-09 14:08:26 495

转载 java基本排序算法

8种排序之间的关系:1, 直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)实例(3)用java实现 package com.njue; public class inse

2016-11-08 23:55:40 175

原创 ssh框架依赖的jar

Struts2.x 的最小依赖jar文件列表struts2-core.jar框架库本身。xwork.jar构建 Struts2 的 XWork 2 的库 (2.0及以上版本)。ognl.jar对象图导航语言(OGNL), 该表达式语言的使用遍及框架的方方面面。javassist.jarOGNL使

2016-11-08 22:27:11 386

转载 ActiveMQ的在实际项目中的简单使用

简介本文达到的目的是会用。安装服务器:官网下载win版的,也可是linux版的;启动服务器:win版的执行activemq.bat看看是否安装成功:http://localhost:8161/ activeMQ是一个消息服务器,2中模式:点对点、广播点对点:消息进入队列后,只会被接收一次,接收完了就在消息队列里消失了。广播:采用的是广播订阅的方式,所

2016-11-08 15:54:03 3200

转载 jquery ajax跨域解决方法(json方式)

作者: 字体:[增加 减小] 类型:转载 时间:2014-02-04 我要评论本篇文章只要是对jquery ajax跨域解决方法(json方式)进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助最近公司开发的项目中很多地方需要跨域ajax请求,比如几个子域名下 http://a.****.com/index123.aspx, http://b.**

2016-11-08 14:41:37 328

转载 JMS

JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。JMS是一种与厂商无关的 API,用来访问消息收发系统消息,它类似于JDBC(Java Database

2016-11-05 14:12:53 168

转载 HTTP和HTTPS详解

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支持客户/服务器模式。

2016-11-04 14:28:20 251

转载 HTTP与HTTPS的区别

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据

2016-11-04 14:05:23 198

转载 【Linux】Linux中常用操作命令

常用指令ls          显示文件或目录     -l           列出文件详细信息l(list)     -a          列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir         创建目录     -p           创建目录,若无父目录,则创建p(parent)cd               切

2016-11-02 09:21:02 121

转载 Java开发中的23种设计模式详解

一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式

2016-10-30 23:24:46 120

转载 分布式锁的三种实现方式

一、zookeeper1、实现原理:基于zookeeper瞬时有序节点实现的分布式锁,其主要逻辑如下(该图来自于IBM网站)。大致思想即为:每个客户端对某个功能加锁时,在zookeeper上的与该功能对应的指定节点的目录下,生成一个唯一的瞬时有序节点。判断是否获取锁的方式很简单,只需要判断有序节点中序号最小的一个。当释放锁的时候,只需将这个瞬时节点删除即可。同时,其可以避免服务宕机

2016-10-30 23:07:32 333

转载 SpringMVC中使用Interceptor拦截器

SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理。比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间。   一、定义Interceptor实现类   SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的。在

2016-10-30 22:24:03 109

转载 从多角度分析Hibernate 与mybatis的区别

从多角度分析Hibernate 与mybatis的区别目录概念:1.两者最大的区别:2.开发难度对比3.sql书写比较4.数据库扩展性比较5.缓存机制比较6.总结:概念:Hibernate :Hibernate 是当前最流行的ORM框架,对数据库结构提供了较为完整的封装。Mybatis:Myba

2016-10-30 09:25:31 220

转载 关于 tomcat 集群中 session 共享的三种方法

前两种均需要使用 memcached 或redis 存储 session ,最后一种使用 terracotta 服务器共享。建议使用 redis,不仅仅因为它可以将缓存的内容持久化,还因为它支持的单个对象比较大,而且数据类型丰富,不只是缓存 session,还可以做其他用途,一举几得啊。 1、使用 filter 方法存储这种方法比较推荐,因为它的服务器使用范围比较多,不仅限

2016-10-28 10:15:37 147

转载 hibernate工作原理

在开始学hibernate之前,一直就有人说:Hibernate并不难,无非是对JDBC进一步封装。一句不难,难道是真的不难还是眼高手低?      如果只是停留在使用的层面上,我相信什么技术都不难,看看别人怎么做的,你也可以很快上手。      这难道是学习的最终目的吗?      不是,绝对不是。我们需要了解这门技术的基本概念,它到底是什么,它是干什么的,它有什么优缺点

2016-10-26 10:19:31 110

转载 struts工作原理

在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处?设计目标    Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的好处就不在提了。技术优势    Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The JavaServl

2016-10-26 10:16:34 254

转载 SpringMVC工作原理

SpringMVC框架介绍    1) spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,S

2016-10-26 10:14:46 160

转载 RMI方式缓存集群/配置分布式缓存

RMI方式缓存集群/配置分布式缓存RMI 是 Java 的一种远程方法调用技术,是一种点对点的基于 Java 对象的通讯方式。EhCache 从 1.2 版本开始就支持 RMI 方式的缓存集群。在集群环境中 EhCache 所有缓存对象的键和值都必须是可序列化的,也就是必须实现 java.io.Serializable 接口,这点在其它集群方式下也是需要遵守的。    

2016-10-25 18:05:34 1058

转载 EhCache 分布式下缓存对象的同步

为了提升目前开发产品的性能,项目组内考虑将一些常用的数据放入缓存,并且今后要将系统分布式部署,以达到负载均衡的目的,因此缓存同步问题就不得不需要考虑,该项目中主要用EhCache产品,EhCache的优势和劣势这里就不做介绍,网上可以搜索,单从这次项目出发,说说他在项目中的应用,Hibernate和Spring都集成了EhCache,如果您的项目中用到这两个框架,那将会大大降低开发复杂度,如果没有

2016-10-25 17:19:45 210

转载 Redis入门很简单之五【Jedis和Spring的整合】

在上一篇文章中,简单介绍了Jedis的连接池使用方式。如果和Spring进行整合的话,我们将获得更好的简洁性、灵活性,显然是一种更加优雅(graceful)的方式。 [一]. 搭建环境: 1. 在之前版本的基础之上,添加如下的依赖:   spring.jar   commons-logging.jar   log4j-1.2.15.jar   同时添加日

2016-10-25 15:10:44 143

转载 Redis 存储字符串和对象

1 测试类import redis.clients.RedisClinet;import redis.clients.SerializeUtil;import redis.clients.jedis.Jedis;public class Test {      /**      * Administrator      * @para

2016-10-25 14:59:45 355

转载 Java并发编程:线程池的使用

Java并发编程:线程池的使用  在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任

2016-10-24 15:01:15 124

转载 ActiveMQ实现负载均衡+高可用部署方案 ActiveMQ

一、架构和技术介绍1、简介ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。完全支持JMS1.1和J2EE 1.4规范的JMS Provider实现2、activemq的特性1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp

2016-10-20 12:22:13 360

转载 JVM原理讲解和调优

一、什么是JVM    JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。    Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而

2016-10-19 10:09:20 109

转载 Java并发编程:Lock

在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。  也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐述。本文先从synchroni

2016-10-18 17:58:10 89

转载 Java线程

Java线程:概念与原理一、操作系统中线程和进程的概念现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe

2016-10-17 17:59:36 153

转载 JAVA调用MYSQL存储过程

版权声明:本文为博主原创文章,未经博主允许不得转载。Java调用MySQL存储过程 工程视图:   代码清单: myconn.java  [c-sharp] view plain copy print?package org.apache.sh_m

2016-10-17 12:18:38 182

转载 Hibernate查询、连接池、二级缓存

hibernate查询查询概述1) Get/load主键查询2) 对象导航查询3) HQL查询, Hibernate Query language hibernate 提供的面向对象的查询语言。4) Criteria 查询, 完全面向对象的查询(Query By Criteria ,QBC)5) SQLQuery, 本地SQL查询缺点:不能跨数据库平台:

2016-10-13 17:28:24 226

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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