`
he_wen
  • 浏览: 234334 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
架构师基础四   一、 内存映射   将内存中某块地址空间和我们要指定的磁盘文件相关联,从而把我们对这块内存的访问转换为对磁盘文件的访问。   二、 直接 IO   内存映射和直接 IO 访问文件没 ...
架构师基础三 一、系统调用   Linux为进程设计的两种运行级别,进程可以再两种模式之间切换。进程通常运行在用户态,这时候可以使用CPU和内存完成一些任务(数学计算),而当进程需要对硬件外设进行操作的时候(读取磁盘、发送网络数据)就必须切换到内核态,这时候它将拥有更多的权力来操控整个计算机,当内核态任务完成后,进程又切换回用户态。   二、持久连接   Keep-Alive即在一次TCP连接中持续发送多份数据而不断开连接。可以想象HTTP长连接的实施需要浏览器和Web服务器的共同协作,缺一不可。一方面,浏览器需要保持一个TCP连接并重复利用,不断地发送多个请求,另一方面,服务 ...
架构师必备基础二   主要内容是:一些名词的解释   一、名词解释   1、吞吐率:WEB服务器单位时间内处理的请求数。   2、最大并发用户数和最大并发连接数的本质区别?   当实际并发用户数稍稍大于服务器所能维护的文件描述符上线时,如果请求的性质决定了处理每个请求花费的时间非常少,比如请求1KB的静态网页,那么每个请求都可以快速处理然后释放文件描述符,这样从用户的角度而言,等待时间几乎不会较少太多。所以在这种情况下,我们希望服务的最大并发用户数可以大于最大并发连接数。 如果请求决定了处理每个请求要花费相当长的时间,比如下载10MB文件或者请求动态内容,那么即使服务器可 ...
  架构师基础一   主要内容是数据是如何发送、影响发送速度的因素、为什么要限制带宽   一、数据的网络传输   数据是如何发送的?   应用程序首先将要发送的数据写入该进程的内存地址空间中。 应用程序通过系统函数(send)向内核发出系统调用,它将这些数据从用户态内存区复制到由内核维护的一段称为内核缓冲区的内存地址空间。这块地址是有限的空间,所以发送的数据以队列的形式进入,而这些数据来自多个进程,每块数据都有一定的额外记号来标记去向。如果发送的数据比较多,那么改系统调用就会进行多次,每次复制一定的数据大小,这个大小取决于网络数据包的大小以及内核区的承载 ...
                                                           搭建https服务   如何搭建https服务?   网站的架构模式一般是nginx+tomcat,本文章搭建的https环境是在nginx上搭建。   1、/opt/nginx-1.0.6/sbin/nginx -V 查看nginx有没有装http_ssl_module模块 ,如果没有装那么需要装一个该模块   2、创建证书 openssl genrsa -des3 -out login.key 1024 openssl req -new -key ...

Linux命令集1

df查看系统磁盘的使用率               -k 以千字节 KB 为单位显示各分区的信息              -a 显示所有分区 包括大小为0 的分区        2、系统的运行状况          /proc/cpuinfo 本机 CPU的相关信息        /proc/meminfo 本机内存及交换分区的使用信息      /proc/modules 本机已安装的硬件模块信息     /proc/mounts 本机已挂载 mount 上的设备信息          3、查看文件或文件夹的大小              du - ...

shell基础

shell基础语法 数组的使用               定义:ARRAY_NAME=(value0 value1 value2 value3 ...)                取得数组中某个元素:valuen=${ARRAY_NAME[n]}               一次性获得数组全部元素:${ARRAY_NAME[@]}               取得数组元素的长度:length=${#ARRAY_NAME[*]}                数组元素的变量:for value in ${ARRAY_NAME[*]} ; do                ...
内部系统开发总结   一、开发环境       rose、Linux、resin、eclipse、maven、svn       rose框架使用的个人理解的: 约定大于配置,如:controller类必须放在*.controllers包下面,由于rose框架有一套完善的对包扫描服务 注解优势对于dao层非常好,程序员只需要写dao接口然后在接口中方法写上sql的注解就可以,这样对于ibatis一系列的配置文件来说是非常的便捷。但是有一点劣势就是系统中大量使用注解会不会对性能产生影响呢?事务的支持不是很好 在controller方法中可以支持多个url的匹配,核心 ...

java 代码规范

    博客分类:
  • Java
java  代码规范 一、方法的规范   下面呈现一段代码: /** * 收集类的所有常量。 * * @param clazz - 收集目标 * @param findAncestor - 是否查找父类 * @param findInterfaces - 是否查找接口 * * @return {@link Map} 包含类的所有常量 */ public static Map<String, ?> getConstantFrom(Class& ...

Nginx

nginx读书总结   一、nginx启动、停止、平滑停止    配置文件nginx.conf改变,也可以不需要让nginx运行的进程自动关闭,也就是可以自动感应配置文件的变化 可以安全的对nginx进行升级和删除相关的模块 二、nginx的配置文 ...

Redis细节积累

Redis细节积累                                  本文主要说明一些redis优点和缺点以免网站架构时乱用 一、优点   key/value存储支持丰富的数据结构操作(list、set、map等操作) 支持批量的操作,减少网络的开销 支持replication机制,弥补了aof、snapshot性能上不足,达到了数据可持久化 支持虚拟内存,没有开来操作系统的虚拟内存管理,而是自己开发封装,具体原因参考:http://blog.nosqlfan.com/html/868.html?ref=rediszt   二、缺点 ...
  Redis中hashtable内部实现的细节    针对上图,对于四个知识点进行讲解,本文参考了其他博客的文章,有的知识点需要看详细的博客,我会列出博客的链接。上面四个知识点应该涵盖redis涉及到的所有细节,如何还有,请大家多多提出,一起探讨。。。 博客链接:http://www.hoterran.info/redis_dict   一、hashtable的内存结构   总结就是:两个数组链表的数据结构,请看网友画的图:   问题提出: 1、dict 包含了2个dictht hashtable ht[0], ht[1],为什么要包含两个hash ...
该文章是转载链接是:http://www.cellphp.com/article-read-nosql-20-handlersocket-nosql-zeromq-micro-blog-gps-tokyocabinet.html ,在强调不是本人创新 ,只是感觉写的好用来借鉴一下经验     12月19日很荣幸的参加了CU举办的PHP交流会,可能准备的时间比较仓促我写的《完全用nosql轻松打造千万级数据量的微博系统》ppt,大家可能不能很好的理解。我现在整理一下重新分享给大家,有什么问题,可以加我的QQ或者发mail跟我讨论.     其实微博是一个结构相对简单,但数据量却是很庞大的一 ...
java集合类的源代码进行剖析   关于集合之间的继承关系这里不会详细的介绍,现在主要分析的集合类是:   ArrayList、LinkedList、HashMap、ConncurrentHashMap等集合类     一、ArrayList源代码        
转载别人的博客内容:这个是url地址:http://www.ccvita.com/94.html 一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类、Hashtable类等等。 目前在Javascript中,已经存在一些标准的类,例如Date、Array、RegExp、String、Math、Number等等,这为我们编程提供了许多方便。但对于复杂的客户端程序而言,这些还远远不够。 与Java不同,Java2提供给我们的标准类很多,基本上满足了我们的编程需求,但是Javascrip ...
Global site tag (gtag.js) - Google Analytics