04 2018 档案
摘要:一、大型网站架构演化 1、大型网站特点 高并发,大流量 高可用 海量数据 用户分布广泛,网络情况复杂 安全环境恶劣 需求快速变更,发布频繁 渐进式发展 2、大型网站架构发展历程 文件服务器,数据库服务器,应用服务器分离 应用服务器增加本地缓存,本地缓存优先,增加分布式缓存服务器 使用应用程序服务器集
阅读全文
摘要:1. 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并
阅读全文
摘要:第一部分 走进Java 一、走进Java 1、概述 java广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合,摆脱了硬件平台的束缚,实现了“一次编写,到处运行”的理想 2、java技术体系结构 按照功能来划分 包括以下几个组成部分:Java程序设计语言,各种硬件平台的java虚拟机,Ja
阅读全文
摘要:JVM程序员的阅读清单 成为Java顶尖程序员 ,看这11本书就够了 《鸟哥的Linux私房菜》
阅读全文
摘要:Linux从内核2.6开始使用NPTL (Native POSIX Thread Library)支持,但这时线程本质上还轻量级进程。 Java里的线程是由JVM来管理的,它如何对应到操作系统的线程是由JVM的实现来确定的。Linux 2.6上的HotSpot使用了NPTL机制,JVM线程跟内核轻量
阅读全文
摘要:首先明确一个概念,Linux系统中甚至没有真正的线程。不过,可以认为Linux是系统的线程是内核线程,所有调度是基于线程的。 1、线程分类 一个进程由于其运行空间的不同, 从而有内核线程和用户进程的区分,进程和线程都被维护为一个task_struct结构,线程和进程被同等对待来进行调度 内核线程运行
阅读全文
摘要:Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 一、redis优点 二、redis集群 1、Redis 集群使用数据分片(sharding)而非一致性哈希(consistency hashing)来实现: 一
阅读全文
摘要:Gossip是一种去中心化、容错并保证最终一致性的协议。 Background:分布式环境 Gossip是为了解决分布式遇到的问题而设计的。由于服务和数据分布在不同的机器上,节点之间的每次交互都伴随着网络延迟、网络故障等的性能问题。可见,分布式系统会比单机系统遇到更多的难题。 如CAP理论 所描述的
阅读全文
摘要:java反编译工具 可以将看不懂的.class文件转换成看得懂的.java文件,这样一来就能很方便的读懂别人编写的java代码。 findbugs FindBugs-IDEA插件的使用 阿里巴巴Java开发规约插件 关于《阿里巴巴Java开发规约》插件的安装与使用
阅读全文
摘要:一、采用jmeter进行测试 为什么使用jmeter, 它免费开源, 不断发展, 功能逐渐强大. 可以做功能,负载, 性能测试.一套脚本可以同时用于功能和性能测试.Jmeter 有着众多的插件开发者, 支持多种的测试协议.关于jmeter的使用,请参考 http://www.hissummer.co
阅读全文
摘要:前言 在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。 Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程让Engine(也就是Servlet
阅读全文