上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 40 下一页
摘要: IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请... 阅读全文
posted @ 2015-12-22 22:13 moonandstar08 阅读(4347) 评论(0) 推荐(1) 编辑
摘要: 一、虚拟机内存分区 java虚拟机运行在受不同操作系统操纵的物理机上,不同的操作系统使用不同的底层方法来执行不同的操作,这些方法称之为本地方法:Native Method,本地方法一般执行的都是比较底层的操作,比如说IO、线程管理等,java方法则会执行的一般是相对高级的操作,比如说数逻运算,或者是 阅读全文
posted @ 2015-12-22 21:49 moonandstar08 阅读(337) 评论(1) 推荐(1) 编辑
摘要: 你想建设一个能承受500万PV/每天的网站吗? 500万PV是什么概念?服务器每秒要处理多少个请求才能应对?如果计算呢?一、PV是什么 PV是page view的简写。PV是指页面的访问次数,每打开或刷新一次页面,就算做一个pv。 二、计算模型 每台服务器每秒处理请求的数量=((80%*总PV量... 阅读全文
posted @ 2015-12-21 23:01 moonandstar08 阅读(990) 评论(0) 推荐(0) 编辑
摘要: 集合和引用就像引用类型的数组一样,当我们把 Java 对象放入数组之时,并不是真正的把 Java 对象放入数组中,只是把对象的引用放入数组中,每个数组元素都是一个引用变量。实际上,HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算法决定集合元素... 阅读全文
posted @ 2015-12-20 22:50 moonandstar08 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。... 阅读全文
posted @ 2015-12-20 22:41 moonandstar08 阅读(2205) 评论(0) 推荐(1) 编辑
摘要: 分区是将一个表或索引物理地分解为多个更小、更可管理的部分。从逻辑上讲分区后仍是只有一个表或一个索引,但在物理上这个表或索引可能由数十个物理分区组成。每个分区都是一个独立的对象,可以独自处理,也可以作为一个更大对象的一部分进行处理. 区别分表技术:分表技术顾名思义,就是把若干个存储相同类型数据的表分成 阅读全文
posted @ 2015-12-17 22:08 moonandstar08 阅读(558) 评论(0) 推荐(0) 编辑
摘要: ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些 阅读全文
posted @ 2015-12-16 23:01 moonandstar08 阅读(261) 评论(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 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 在用mat工具分析内存使用情况查询OutOfMemory原因时,OQL会有很大帮助,所以先在这里总结一下。 基本语法: select <javascript expression to select> [from [instanceof] <class name> <identifier>] [wh 阅读全文
posted @ 2015-12-16 22:40 moonandstar08 阅读(3082) 评论(0) 推荐(0) 编辑
摘要: HashMap通常会用一个指针数组(假设为table[])来做分散所有的key,当一个key被加入时,会通过Hash算法通过key算出这个数组的下标i,然后就把这个<key, value>插到table[i]中,如果有两个不同的key被算在了同一个i,那么就叫冲突,又叫碰撞,这样会在table[i] 阅读全文
posted @ 2015-12-16 22:26 moonandstar08 阅读(299) 评论(0) 推荐(0) 编辑
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 40 下一页