12 2015 档案

摘要:事务 redis的事务是一组命令的集合。事务同命令一样都是redis的最小执行单元,一个事务中的命令要么执行要么都不执行。 首先需要multi命令来开始事务,用exec命令来执行事务。 127.0.0.1:6379> multi OK 127.0.0.1:6379> hset user:1 name 阅读全文
posted @ 2015-12-29 22:50 moonandstar08 阅读(242) 评论(0) 推荐(0) 编辑
摘要:面试过一些应聘者,当我问到为什么换工作的时候,他们都会告诉我,现在的工作没有挑战,无聊,所以想换一个有挑战的工作。于是我问了一下他的工作情况,发现那些有挑战的东西他还没有搞懂。我总是为有这样的认识的朋友感到惋惜,因为我总是认为有挑战的东西无处不在啊,不能因为工作上没有,自己就放纵了自己。比如,面试... 阅读全文
posted @ 2015-12-29 22:39 moonandstar08 阅读(265) 评论(0) 推荐(0) 编辑
摘要:一、懒汉式Singleton1234567891011// version 1.0 public class Singleton { private static Singleton singleton = null;比较懒,在类加载时,不创建实例,因此类加载速度快,但运行时获取对象的速度慢 pr... 阅读全文
posted @ 2015-12-29 22:24 moonandstar08 阅读(206) 评论(0) 推荐(0) 编辑
摘要:分布式领域CAP理论具体如下:Consistency(一致性):数据一致更新,所有数据变动都是同步的;Availability(可用性):好的响应性能;Partition tolerance(分区容错性):可靠性;定理:任何分布式系统只可同时满足二点,没法三者兼顾。忠告:架构师不要将精力浪费在如何设... 阅读全文
posted @ 2015-12-29 20:45 moonandstar08 阅读(285) 评论(0) 推荐(0) 编辑
摘要:gradle这几年发展迅猛,github越来越多的项目都开始采用gradle来构建了,但是并不是所有人都对gradle很熟悉,下面的方法可以把gradle转成maven项目,前提gradle项目目录结构保持跟maven一样的约定,即/src/main/java这一套。 一、gradle --> ma 阅读全文
posted @ 2015-12-29 20:34 moonandstar08 阅读(1463) 评论(0) 推荐(0) 编辑
摘要:在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上 要重视它,战术上又要藐视它。先举个例子感受一下千万级到底是什么数量级?现在很流行的优步(Uber),从媒体公布的信息看,它每天接单量平均在百万左右, 假如每天有10个小... 阅读全文
posted @ 2015-12-25 22:47 moonandstar08 阅读(646) 评论(0) 推荐(0) 编辑
摘要:当客户端提交请求至服务端时,Struts2的FileterDispatcher(核心控制器)会负责拦截,并且内置拦截器会负责对请求中的参数做一系列的预处理工作(包含:解析参数、类型转换、DTO封装等)。然后提交给具体的Action(业务控制器)调用业务实现直至返回处理结果,最后Action根据处理... 阅读全文
posted @ 2015-12-24 22:46 moonandstar08 阅读(349) 评论(0) 推荐(0) 编辑
摘要:IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请... 阅读全文
posted @ 2015-12-22 22:13 moonandstar08 阅读(4354) 评论(0) 推荐(1) 编辑
摘要:一、虚拟机内存分区 java虚拟机运行在受不同操作系统操纵的物理机上,不同的操作系统使用不同的底层方法来执行不同的操作,这些方法称之为本地方法:Native Method,本地方法一般执行的都是比较底层的操作,比如说IO、线程管理等,java方法则会执行的一般是相对高级的操作,比如说数逻运算,或者是 阅读全文
posted @ 2015-12-22 21:49 moonandstar08 阅读(338) 评论(1) 推荐(1) 编辑
摘要:你想建设一个能承受500万PV/每天的网站吗? 500万PV是什么概念?服务器每秒要处理多少个请求才能应对?如果计算呢?一、PV是什么 PV是page view的简写。PV是指页面的访问次数,每打开或刷新一次页面,就算做一个pv。 二、计算模型 每台服务器每秒处理请求的数量=((80%*总PV量... 阅读全文
posted @ 2015-12-21 23:01 moonandstar08 阅读(993) 评论(0) 推荐(0) 编辑
摘要:集合和引用就像引用类型的数组一样,当我们把 Java 对象放入数组之时,并不是真正的把 Java 对象放入数组中,只是把对象的引用放入数组中,每个数组元素都是一个引用变量。实际上,HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算法决定集合元素... 阅读全文
posted @ 2015-12-20 22:50 moonandstar08 阅读(274) 评论(0) 推荐(0) 编辑
摘要:当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。... 阅读全文
posted @ 2015-12-20 22:41 moonandstar08 阅读(2215) 评论(0) 推荐(1) 编辑
摘要:分区是将一个表或索引物理地分解为多个更小、更可管理的部分。从逻辑上讲分区后仍是只有一个表或一个索引,但在物理上这个表或索引可能由数十个物理分区组成。每个分区都是一个独立的对象,可以独自处理,也可以作为一个更大对象的一部分进行处理. 区别分表技术:分表技术顾名思义,就是把若干个存储相同类型数据的表分成 阅读全文
posted @ 2015-12-17 22:08 moonandstar08 阅读(562) 评论(0) 推荐(0) 编辑
摘要:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些 阅读全文
posted @ 2015-12-16 23:01 moonandstar08 阅读(263) 评论(0) 推荐(0) 编辑
摘要:1) select * from T1 where exists(select * from T2 where T1.a=T2.a) ; T1数据量小而T2数据量非常大时,T1>T2 时,2) 的查询效率高。in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环... 阅读全文
posted @ 2015-12-16 22:52 moonandstar08 阅读(412) 评论(0) 推荐(0) 编辑
摘要:在用mat工具分析内存使用情况查询OutOfMemory原因时,OQL会有很大帮助,所以先在这里总结一下。 基本语法: select <javascript expression to select> [from [instanceof] <class name> <identifier>] [wh 阅读全文
posted @ 2015-12-16 22:40 moonandstar08 阅读(3097) 评论(0) 推荐(0) 编辑
摘要:HashMap通常会用一个指针数组(假设为table[])来做分散所有的key,当一个key被加入时,会通过Hash算法通过key算出这个数组的下标i,然后就把这个<key, value>插到table[i]中,如果有两个不同的key被算在了同一个i,那么就叫冲突,又叫碰撞,这样会在table[i] 阅读全文
posted @ 2015-12-16 22:26 moonandstar08 阅读(300) 评论(0) 推荐(0) 编辑
摘要:线程中断是一种协作机制,线程可以通过这种机制来通知另一个线程,告诉他在合适的或者可能的情况下停止当前工作,并转而执行其他的工作。 通过中断并不能直接终止另一个线程,而需要被中断的线程自己处理中断。 这好比是家里的父母叮嘱在外的子女要注意身体,但子女是否注意身体,怎么注意身体则完全取决于自己。 ‍‍‍ 阅读全文
posted @ 2015-12-16 21:55 moonandstar08 阅读(488) 评论(0) 推荐(1) 编辑
摘要:一、无共享架构1、无共享架构 无共享架构是一种分布式计算架构,这种架构中不存在集中存储的状态,系统中每个节点都是独立自治的,整个系统中没有资源竞争,这种架构具有非常强的扩张性,目前在web应用中被广泛使用。 无共享架构的一个重要实践指导原则就是避免在互联系统中使用Session,因为实践已经证明,在... 阅读全文
posted @ 2015-12-15 23:07 moonandstar08 阅读(1452) 评论(0) 推荐(0) 编辑
摘要:一、Redis集群 Redis的集群实现是内置数据自动分片机制,集群内部将所有的key映射到16384个Slot中,集群中的每个Redis Instance负责其中的一部分的Slot的读写。集群客户端连接集群中任一Redis Instance即可发送命令,当Redis Instance收到自己不负责... 阅读全文
posted @ 2015-12-15 22:12 moonandstar08 阅读(288) 评论(0) 推荐(0) 编辑
摘要:一、Controller返回值,String或者ModelAndView 首先看一下spring的配置文件,如下:第一种,返回类型为String,Controller中的方法如下:根据spring配置文件和以上controller,访问“/welcome”时,对应的返回页面为“/WEB-INF/us... 阅读全文
posted @ 2015-12-07 22:38 moonandstar08 阅读(437) 评论(0) 推荐(0) 编辑
摘要:Spring MVC模型与Struts2模型应用:Html表单:上述这两段代码无论是SpringMVC还是Struts2,都可以共用。而在请求响应处理类(也就是Controller)上的设计差异是两个框架最大的不同。 如果使用SpringMVC,那么Controller的代码看上去就像这样:如果使用... 阅读全文
posted @ 2015-12-07 22:21 moonandstar08 阅读(207) 评论(0) 推荐(0) 编辑
摘要:1、 BeanFactory BeanFactory定义了 IOC 容器的最基本形式,并提供了 IOC 容器应遵守的的最基本的接口,也就是Spring IOC 所遵守的最底层和最基本的编程规范。在 Spring 代码中, BeanFactory 只是个接口,并不是 IOC容器的具体实现,但是 Spr 阅读全文
posted @ 2015-12-07 22:04 moonandstar08 阅读(388) 评论(0) 推荐(0) 编辑
摘要:消息中间件对目前大中型互联网来说是非常重要的,在业务数据流动中仅次于RPC服务调用,担负着越来越复杂的网站业务从主流程上解耦的重要责任; 从目前互联网对消息中间件的需求来看应该分为两种类型,一种是和钱相关的需求,一种是和钱无关的需求;和钱相关的需求消息的可靠性是放在第一位的,和钱无关的需求是速度放在 阅读全文
posted @ 2015-12-02 23:50 moonandstar08 阅读(1289) 评论(0) 推荐(0) 编辑
摘要:终于来到了基于注解的 Spring MVC 了。之前我们所讲到的 handler,需要根据 url 并通过 HandlerMapping 来映射出相应的 handler 并调用相应的方法以响应请求。实际上,ControllerClassNameHandlerMapping, MultiAction... 阅读全文
posted @ 2015-12-02 23:18 moonandstar08 阅读(291) 评论(0) 推荐(0) 编辑
摘要:Servlet采用单实例多线程方式运行,因此是线程不安全的。默认情况下,非分布式系统,Servlet容器只会维护一个Servlet的实例,当多个请求到达同一个Servlet时,Servlet容器会启动多个线程分配给不同请求来执行同一个Servlet实例中的服务方法。为什么这么做?有效利用JVM允许多... 阅读全文
posted @ 2015-12-02 22:44 moonandstar08 阅读(394) 评论(0) 推荐(0) 编辑
摘要:传统“关系型数据库”在应付互联网WEB2.0应用已显示的力不从心,由其是超大规模和高并发的SNS类型的WEB2.0网站。主要需要应对以下三方面难题:1、对数据库高并发读写的要求。2、对数据库高可扩展性和高可用性的要求。3、对海量数据高效存储和访问的要求。”关系型数据库“固有的特性的确用处不大1、对数... 阅读全文
posted @ 2015-12-02 22:30 moonandstar08 阅读(396) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示