- 博客(22)
- 资源 (28)
- 收藏
- 关注
转载 Apache服务的工作原理
服务器提供服务的方式 网络服务器由于要同时为多个客户提供服务,就必须使用某种方式来支持这种多任务的服务方式。一般情况下可以有三种方式来选择,多进程方式、多线程方式及异步方式。其中,多进程方式中服务器对一个客户要使用一个进程来提供服务,由于在操作系统中,生成一个进程需要进程内存复制等额外的开销,这样在客户较多时的性能就会降低。为了克服这种生成进程的额外开销,可以使用多线程方式或异步方式
2015-04-11 21:02:19 1006
转载 Apache与Nginx网络模型
Nginx的高并发得益于其采用了epoll模型,与传统的服务器程序架构不同,epoll是linux内核2.6以后才出现的。下面通过比较Apache和Nginx工作原理来比较。 传统Apache都是多进程或者多线程来工作,假设是多进程工作(prefork),apache会先生成几个进程,类似进程池的工作原理,只不过这里的进程池会随着请求数目的增加而增加。对于每一个连接,a
2015-04-11 21:00:33 513
转载 Java虚拟机工作原理详解
一、类加载器首先来看一下java程序的执行过程。 从这个框图很容易大体上了解java程序工作原理。首先,你写好java代码,保存到硬盘当中。然后你在命令行中输入[java] view plaincopyjavac YourClassName.java
2015-04-10 14:25:16 532
转载 Java类的生命周期详解
引言最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成大家在基础和原理方面的知识比较匮乏,所以笔者今天就斗胆来讲一下这个问题,权当抛砖引玉,希望对在这个问题上有疑惑的朋友有所帮助,文中有说的不
2015-04-10 14:24:15 543
转载 为什么重写equals方法,一定要重写HashCode方法?
主要原因是默认从Object继承来的hashCode是基于对象的ID实现的。如果你重载了equals,比如说是基于对象的内容实现的,而保留hashCode的实现不变,那么很可能某两个对象明明是“相等”,而hashCode却不一样。这样,当你用其中的一个作为键保存到hashMap、hasoTable或hashSet中,再以“相等的”找另一个作为键值去查找他们的时候,则根本找不到。
2015-04-09 21:35:45 849
转载 Innodb中的事务隔离级别和锁的关系
前言:我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎的加锁机制,来抛砖引玉,让读者更好的理解,在事务处理中数据库到底做了什么。一次封锁
2015-04-09 21:22:08 1081
转载 [MySQL] InnoDB三大特性之 - 自适应哈希索引
哈希索引是一种非常快的等值查找方法(注意:必须是等值,哈希索引对非等值查找方法无能为力),它查找的时间复杂度为常量,InnoDB采用自适用哈希索引技术,它会实时监控表上索引的使用情况,如果认为建立哈希索引可以提高查询效率,则自动在内存中的“自适应哈希索引缓冲区”(详见《MySQL - 浅谈InnoDB体系架构》中内存构造)建立哈希索引。之所以该技术称为“自适应”是因为完全由InnoDB
2015-04-08 16:07:51 2041 1
转载 [MySQL] InnoDB三大特性之 - 两次写
目录(?)[-]部分写失效两次写机制今天我们来介绍InnoDB存储引擎的第二个特性 - 两次写(doublewrite),如果说插入缓冲是为了提高写性能的话,那么两次写是为了提高可靠性,牺牲了一点点写性能。部分写失效想象这么一个场景,当数据库正在从内存向磁盘写一个数据页时,数据库宕机,从而导致这个页只写了部分数据,这就是部分写失效,它会导致数据丢失。
2015-04-08 16:00:36 3219 2
转载 [MySQL] InnoDB三大特性之 - 插入缓冲
目录(?)[-]非聚集索引写性能问题插入缓冲技术机制插入缓冲带来的问题InnoDB存储引擎有三大特性非常令人激动,它们分别是插入缓冲、两次写和自适应哈希,本篇文章先介绍第一个特性 - 插入缓冲(insert buffer)在上一篇《MySQL - 浅谈InnoDB存储引擎》中,我们可以看到在InnoDB的内存中有单独一块叫“插入缓冲”的区域,下面我们详细
2015-04-08 15:24:25 1023
转载 MySQL 体系结构以及各种文件类型学习汇总
目录(?)[-]1mysql体系结构2mysql文件类型3参数文件mycnf4日志文件错误日志6慢查询日志slow log全查询日志8二进制日志9套接字socket文件10pid文件11表结构文件12innodb存储文件13redo文件14undo日志1,mysql体系结构由数据库和数据库实例组成,是单进场多线程架构。数据库:物理操作系统文件或者其它文件
2015-04-08 13:23:15 476
转载 JAVA内部类使用,什么时候该使用内部类及使用内部类的好处
转载自:http://blog.csdn.net/qq7342272/article/details/6671433提起Java内部类(Inner Class)可能很多人不太熟悉,实际上类似的概念在C++里也有,那就是嵌套类(Nested Class),关于这两者的区别与联系,在下文中会有对比。内部类从表面上看,就是在类中又定义了一个类(下文会看到,内部类可以在很多地方定义),而实际上
2015-04-06 21:57:34 528
转载 TCP建立,释放连接
原文链接:http://blog.chinaunix.net/uid-26413668-id-3376762.htmlTCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机)
2015-04-06 21:46:02 1013
转载 HTTP协议详解
原文链接:http://blog.csdn.net/gueter/article/details/1524447引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP
2015-04-06 21:43:29 371
转载 浅析index condition pushdown
原文链接:http://blog.csdn.net/zbszhangbosen/article/details/7463382另一篇文章讲叙了 MRR和BKA 什么是indexcondition pushdown(ICP)?在数据库中pushdown表示某些操作“下推”,也就是某些操作提前执行,在生成执行计划时某些操作下推可以大大提升效率(为什么叫下推,因为优化器在生成的计
2015-04-06 21:37:45 569
转载 浅析multi range read(MRR) & batch key access(BKA) & block nested loop(BNL)
原文链接:http://blog.csdn.net/zbszhangbosen/article/details/7463394另一篇文章介绍了index condition pushdown(ICP) 这篇讲叙的是MRR和与之相关的BKA什么是MRR?MRR:multi range read。不好解释,先来看个例子:select * from tb wh
2015-04-06 21:35:24 550
转载 MySQL索引与Index Condition Pushdown
原文链接:http://blog.codinglabs.org/articles/index-condition-pushdown.html大约在两年前,我写了一篇关于MySQL索引的文章。最近有同学在文章的评论中对文章的内容提出质疑,质疑主要集中在联合索引的使用方式上。在那篇文章中,我说明联合索引是将各个索引字段做字符串连接后作为key,使用时将整体做前缀匹配。而这名同学在这个页
2015-04-06 21:33:07 470
转载 MySQL索引背后的数据结构及算法原理
原文链接:http://blog.codinglabs.org/articles/theory-of-mysql-index.html摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本
2015-04-06 21:31:07 609
转载 浅析JVM垃圾回收机制
首先我们需要知道Java的内存分配与回收全部由JVM垃圾回收机制自动完成。每种JVM实现可能采用不同的方法实现垃圾回收机制。在收购SUN之前,Oracle使用的是JRockit JVM,收购之后使用HotSpot JVM。目前Oracle拥有两种JVM实现并且一段时间后两个JVM实现会合二为一。HotSpot JVM是目前Oracle SE平台标准核心组件的一部分。市面上探讨垃圾回收机制,默认都是
2015-04-06 21:29:04 387
转载 地址解析协议ARP
地址解析协议(Address Resolution Protocol),其基本功能为通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。基本功能在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP
2015-04-02 15:27:56 578
转载 TCP、UDP、IP报头结构体分析
TCP首部格式格式字段详解源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通信。源端口、目标端口是用16位表示的,可推算计算机的端口个数为2^16个。序列号:表示本报文段所发送数据的第一个字节的编号。在TCP连接中
2015-04-02 15:06:03 1214
转载 DNS使用的是TCP协议还是UDP协议
DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类。但很少有人知道DNS分别在什么情况下使用这两种协议。 先简单介绍下TCP与UDP。 TCP是一种面向连接的协议,提供可靠的数据传输,一般服务质量要求比较高的情况,使用这个协议。UDP---用户数据报协议,是一种无连接的传输层协议,提供面向事务的简单不可靠信息
2015-04-01 18:55:49 914
转载 dos攻击--tcp
攻击流程要理解dos攻击,首先要理解TCP连接的三次握手过程(Three-wayhandshake)。在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送SYN包((SYN=i)到服务器,并进入SYN SEND状态,等待服务器确认;第二次握手:服务器收到SYN包,必须确认客户的SYN (ACK=i+1 ),同时
2015-04-01 18:50:54 2687
深入理解java虚拟机
2015-09-16
JavaScript权威指南(第6版)中文高清版
2015-09-15
最新spring-data-mongo
2014-11-24
google-gson-2.2.2-release
2014-08-21
Android 记住密码和自动登录界面的实现(SharedPreferences 的用法)
2014-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人