自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 高并发服务端分布式系统设计概要(下)

         现在接着设计我们的“山推”系统。有了前面两篇的铺垫,我们的系统现在已经有了五脏六腑,剩下的工作就是要让其羽翼丰满。那么,是时候,放出我们的“山推”系统全貌了:       前面啰嗦了半天,也许不少同学看的不明不白,好了,现在开始看图说话环节:        (1)整个系统由N台机器组合而成,其中Global Master一台,Global Slave一台到多台...

2016-08-29 17:58:35 120

原创 高并发服务端分布式系统设计概要(中)

       上篇我们完成了在此分布式系统中,一个group的设计。那么接下来,我们设计系统的其他部分。如前文所述,我们的业务及其数据以group为单位,显然在此系统中将存在many many的groups(别告诉我你的网站总共有一个业务,像我们的“山推”,那业务是一堆一堆地),那么由谁来管理这些groups呢?由Web过来的请求,又将如何到达指定的group,并由该group处理它的请求呢?...

2016-08-29 17:38:13 147

原创 高并发服务端分布式系统设计概要(上)

         高并发服务端分布式系统设计概要(上)           这个系统的目标很明确,针对千万级以上PV的网站,设计一套用于后台的高并发的分布式处理系统。这套系统包含业务逻辑的处理、各种计算、存储、日志、备份等方面内容,可用于类微博,SNS,广告推送,邮件等有大量线上并发请求的场景。         如何抗大流量高并发?(不要告诉我把服务器买的再好一点)说起来很简单...

2016-08-29 16:56:20 135

原创 redis数据库二:redis的键类型

Redis的keys命令用于管理键。使用Redis的keys命令语法如下所示:语法redis 127.0.0.1:6379> COMMAND KEY_NAME例子redis 127.0.0.1:6379> SET yiibai redisOKredis 127.0.0.1:6379> DEL yiibai(integer) 1 在上面的例子中D...

2016-08-29 10:00:57 148

原创 redis数据库三:redis字符串

Redis字符串命令用于在Redis管理字符串值。使用Redis字符串命令的语法如下所示:语法 redis 127.0.0.1:6379> COMMAND KEY_NAME 例子 redis 127.0.0.1:6379> SET yiibai redisOKredis 127.0.0.1:6379> GET yiibai"redis"...

2016-08-29 10:00:31 104

原创 redis数据库一:redis的数据类型

Redis支持5种数据类型,它们描述如下:Strings - 字符串Redis的字符串是字节序列。在Redis中字符串是二进制安全的,这意味着他们有一个已知的长度,是没有任何特殊字符终止决定的,所以可以存储任何东西,最大长度可达512兆。例子 redis 127.0.0.1:6379> SET name "yiibai"OKredis 127.0.0.1:63...

2016-08-25 22:05:36 87

原创 java线程四:线程交互与基本调度

Java线程:线程的交互线程交互是比较复杂的问题,SCJP要求不很基础:给定一个场景,编写代码来恰当使用等待、通知和通知所有线程。 一、线程交互的基础知识 SCJP所要求的线程交互知识点需要从java.lang.Object的类的三个方法来学习:  void notify()           唤醒在此对象监视器上等待的单个线程。 void notifyAll()...

2016-08-25 17:38:46 102

原创 java线程三:线程同步与内置锁

Java线程:线程的同步与锁一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。 publicclass Foo {    privateint x = 100;    publicint getX() {        return x;...

2016-08-25 15:27:43 75

原创 java线程二:线程状态转换与执行次序

Java线程:线程栈模型与线程的变量要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型。线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶。线程栈的内容是随着程序的运行动态变化的,因此研究线程栈必须选择一个运行的时刻(实际上指代码运行到什么地方)。 下面通过一个示例性的代码说明线程(调用)栈的变化过程。  这幅图描述在代码执行到两个不同...

2016-08-25 11:32:55 74

原创 java线程一:线程基本概念与创建运行

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

2016-08-25 11:28:18 75

原创 http与https的区别总结

网上查询了好多版本,在这里总结一下: 1.就传输协议与端口而言,http是HTTP协议运行在TCP之上,端口为80;https是HTTP运行在SSL/TLS之上,SSL/TLS运行在TCP之上,用的端口为443。 2.就传输内容与身份认证而言,http传输的内容都是明文,客户端与服务器都无法验证对方的身份。https传输的内容都经过加密,加密采用的是对称加密。但对称加密的密钥用...

2016-08-22 16:49:30 134

springAop之Controller分层日志管理

要明确AOP的三个基本概念:1.Advice(通知),定义在连接点需要做什么;2.Pointcut(切点),决定了Advice通知作用于哪个连接点;3.Advisor(通知器),定义应该使用哪个通知并在哪个关注点使用它。 下面的UserLogAspect就是一个通知器,其中的切点已经标注,通知为前通知(先于切点执行)和后通知(后于切点执行)。@Aspect ...

2016-08-22 15:52:32 147

Windows下redis线程池的搭建及使用

首先要在本地安装redis,官方只支持Linux版,windows64版本也有,请自行下载(https://github.com/MSOpenTech/redis/releases)下载完之后测试安装是否成功(http://jingyan.baidu.com/article/f25ef2546119fd482c1b8214.html)若成功后,则开始代码上的测试。redis的配置文件为...

2016-08-19 16:50:32 222

原创 阿里云消息队列的实践应用

阿里推出了阿里云消息队列服务(https://www.aliyun.com/product/ons/),出于好奇,简单的尝试了一下它的功能及使用:消息队列首先需要有它的主题Topic,生产者producer,消费者consumer。其中主题与生产者的对应关系为N:1,主题与消费者的对应关系为N:N。依次创建三者:   最后还需要accessKey,设置为:(具体在哪里设置请详细...

2016-08-19 11:35:27 262

tomcat启动正常,却不能启动项目

  这个问题纠结了好久,首先想到的是可能tomcat服务器出现了问题,这个情况下绝大多数解决方法是:关闭现在的tomcat-server,重开一个就好了。如果还是出现这个问题,就可能是你项目目前使用的JDK版本比tomcat使用的JDK版本要高。 这个时候建议为了不和你当前服务器的JDK版本冲突,只在你需要高版本的tomcat中,加入高版本JDK,然后在tomcat的bin里的ca...

2016-08-18 18:40:07 2569

原创 cannot touch `xxx/catalina.out': No such file or directory

 之前tomcat的日志路径配置始终以为是在conf下的logging.properties,如下图 之后改完重启tomcat后发现怎么也不管用,网上查过也说是修改这个文件。后来才了解到除了这个地方控制日志的位置,还有/bin/catalina.sh也要配置!如下图: 我想这两个文件是都决定着日志的位置呢,还是有着各自的先后顺序呢?于是我做了一个测试: 就是让这两个配置...

2016-08-18 17:55:22 1652

原创 简单工厂与工厂模式原理及案例分析

  工厂方法的规范性定义描述为:工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。   在学习工厂方法前,我们应该先了解简单工厂这一种伪模式。之所以称之为伪模式,是因为严格意义上讲这并不算是一种模式,个人感觉更像是将某一功能抽象成了一个功能函数。   编程的场景为:有一个专门生产果冻的生产商,可以生产出苹果、香蕉、橘子三种口...

2016-08-16 17:46:24 240

declares multiple JSON fields

declares multiple JSON fields 的错误  Gson gson = new Gson(); gson.toJson(A); 一般是由于list转Json出现了相同字段,基本上是子父类的字段冲突,在你不想要被序列化的字段添加一个修饰transient,就ok了。比如父类有id,子类也有id。这明显冲突,如果不想父类id被序列化,只需这样private...

2016-08-12 16:44:05 880

原创 模板模式原理及案例分析

  模板方法模式的规范化定义为:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。    从上面定义可以看出,模板方法是可以理解为一个算法的框架,而具体的计算数据却需要使用者来自行地添加。    举一个模板方法的简单例子:制造杯子的工艺流程可以大致分为四步:准备材料,熔解材料,注入模具,冷却成型。现...

2016-08-10 18:48:23 342

原创 策略模式原理及案例分析

      策略模式的正式定义为:它定义了一个算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。       这个概念毕竟是对这个模式的高度总结,我们可以先不必了解其含义,看完下面内容后,大家可以回头再揣摩一下定义的奥妙之处。         我先来举一个生活中的实例:       如果现在我需要写一个关于飞机行为的类,暂且描述飞机的...

2016-08-05 20:33:34 480

空空如也

空空如也

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

TA关注的人

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