- 博客(144)
- 资源 (28)
- 收藏
- 关注
转载 正则表达式入门
Jan Goyvaerts为RegexBuddy写的教程的译文在java中使用正则表达式返回符合正则表达式的字符串就要用到group(),group中记录了所有符合指定表达式的字符串,下面我通过一段代码讲解如何使用group public static void main(String[] args) { Pattern p = Pattern.compile
2015-12-10 13:57:31 773
转载 HashMap遍历性能对比
public static void main(String[] args) { Map map = new TreeMap(); int num = 1000000; String key, value; // 存放100万条数据 for (int i = 1; i <= num; i++) { key = "" + i; value = "value";
2015-10-22 15:49:17 1055
转载 Java Memcached使用
1.加载commons-pool-1.5.6.jar、java_memcached-release_2.6.6.jar、slf4j-api-1.6.1.jar、slf4j-simple-1.6.1.jar2.创建memcached工具类:[java] view plaincopypublic class MemcachedUtil {
2015-07-20 15:25:34 716
转载 Memcached简单介绍
memcached 是一套分布式的高速缓存系统由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用。这是一套开放源代码软件,以BSD license授权发布。memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。memcached的API使用三十二比特的循环冗余校验(CRC-32)计算键值后,将数据分散在
2015-07-20 15:24:24 611
转载 Redis总体介绍
目录[-]1、Redis是什么:2、Redis的优点:3、数据类型:3.1、String类型3.2、List类型3.3、Set类型3.4、Sorted Sets 类型3.5、Hash类型4、Publish/Subscribe:4.1、订阅信息管道4.2、按一定模式批量订阅5、数据过期设置:6、事务性:7、持久化:7.1、数据快照
2015-07-20 15:23:07 597
转载 Is memcached a dinosaur in comparison to Redis?
相比Redis,Memcached真的过时了吗?Redis最近很火,也经常被当作Memcached的挑战者被提到桌面上来。关于Redis与Memcached的比较更是比比皆是。然而,Redis真的在功能、性能以及内存使用效率上都超越了Memcached吗?下面内容来自Redis作者在stackoverflow上对于这个问题的一个回答。《Is memcached a dinosaur
2015-07-20 15:21:39 535
转载 Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍
[-]一普通同步方式二事务方式Transactions三管道Pipelining四管道中调用事务五分布式直连同步调用六分布式直连异步调用七分布式连接池同步调用八分布式连接池异步调用九需要注意的地方十测试十一完整的测试代码redis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务、管道及有jedis自身实现的分布式。
2015-07-16 15:37:51 778
原创 Netty学习资源
Netty源码解读 https://github.com/zcgsdu/netty-learningNetty User Guide http://netty.io/wiki/user-guide-for-5.x.html IO - 同步,异步,阻塞,非阻塞 http://blog.csdn.net/historyasamirror/article/details/
2015-07-16 14:14:46 500
转载 Apache服务的工作原理
服务器提供服务的方式 网络服务器由于要同时为多个客户提供服务,就必须使用某种方式来支持这种多任务的服务方式。一般情况下可以有三种方式来选择,多进程方式、多线程方式及异步方式。其中,多进程方式中服务器对一个客户要使用一个进程来提供服务,由于在操作系统中,生成一个进程需要进程内存复制等额外的开销,这样在客户较多时的性能就会降低。为了克服这种生成进程的额外开销,可以使用多线程方式或异步方式
2015-04-11 21:02:19 1019
转载 Apache与Nginx网络模型
Nginx的高并发得益于其采用了epoll模型,与传统的服务器程序架构不同,epoll是linux内核2.6以后才出现的。下面通过比较Apache和Nginx工作原理来比较。 传统Apache都是多进程或者多线程来工作,假设是多进程工作(prefork),apache会先生成几个进程,类似进程池的工作原理,只不过这里的进程池会随着请求数目的增加而增加。对于每一个连接,a
2015-04-11 21:00:33 525
转载 Java虚拟机工作原理详解
一、类加载器首先来看一下java程序的执行过程。 从这个框图很容易大体上了解java程序工作原理。首先,你写好java代码,保存到硬盘当中。然后你在命令行中输入[java] view plaincopyjavac YourClassName.java
2015-04-10 14:25:16 542
转载 Java类的生命周期详解
引言最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成大家在基础和原理方面的知识比较匮乏,所以笔者今天就斗胆来讲一下这个问题,权当抛砖引玉,希望对在这个问题上有疑惑的朋友有所帮助,文中有说的不
2015-04-10 14:24:15 555
转载 为什么重写equals方法,一定要重写HashCode方法?
主要原因是默认从Object继承来的hashCode是基于对象的ID实现的。如果你重载了equals,比如说是基于对象的内容实现的,而保留hashCode的实现不变,那么很可能某两个对象明明是“相等”,而hashCode却不一样。这样,当你用其中的一个作为键保存到hashMap、hasoTable或hashSet中,再以“相等的”找另一个作为键值去查找他们的时候,则根本找不到。
2015-04-09 21:35:45 859
转载 Innodb中的事务隔离级别和锁的关系
前言:我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎的加锁机制,来抛砖引玉,让读者更好的理解,在事务处理中数据库到底做了什么。一次封锁
2015-04-09 21:22:08 1097
转载 [MySQL] InnoDB三大特性之 - 自适应哈希索引
哈希索引是一种非常快的等值查找方法(注意:必须是等值,哈希索引对非等值查找方法无能为力),它查找的时间复杂度为常量,InnoDB采用自适用哈希索引技术,它会实时监控表上索引的使用情况,如果认为建立哈希索引可以提高查询效率,则自动在内存中的“自适应哈希索引缓冲区”(详见《MySQL - 浅谈InnoDB体系架构》中内存构造)建立哈希索引。之所以该技术称为“自适应”是因为完全由InnoDB
2015-04-08 16:07:51 2058 1
转载 [MySQL] InnoDB三大特性之 - 两次写
目录(?)[-]部分写失效两次写机制今天我们来介绍InnoDB存储引擎的第二个特性 - 两次写(doublewrite),如果说插入缓冲是为了提高写性能的话,那么两次写是为了提高可靠性,牺牲了一点点写性能。部分写失效想象这么一个场景,当数据库正在从内存向磁盘写一个数据页时,数据库宕机,从而导致这个页只写了部分数据,这就是部分写失效,它会导致数据丢失。
2015-04-08 16:00:36 3237 2
转载 [MySQL] InnoDB三大特性之 - 插入缓冲
目录(?)[-]非聚集索引写性能问题插入缓冲技术机制插入缓冲带来的问题InnoDB存储引擎有三大特性非常令人激动,它们分别是插入缓冲、两次写和自适应哈希,本篇文章先介绍第一个特性 - 插入缓冲(insert buffer)在上一篇《MySQL - 浅谈InnoDB存储引擎》中,我们可以看到在InnoDB的内存中有单独一块叫“插入缓冲”的区域,下面我们详细
2015-04-08 15:24:25 1034
转载 MySQL 体系结构以及各种文件类型学习汇总
目录(?)[-]1mysql体系结构2mysql文件类型3参数文件mycnf4日志文件错误日志6慢查询日志slow log全查询日志8二进制日志9套接字socket文件10pid文件11表结构文件12innodb存储文件13redo文件14undo日志1,mysql体系结构由数据库和数据库实例组成,是单进场多线程架构。数据库:物理操作系统文件或者其它文件
2015-04-08 13:23:15 489
转载 JAVA内部类使用,什么时候该使用内部类及使用内部类的好处
转载自:http://blog.csdn.net/qq7342272/article/details/6671433提起Java内部类(Inner Class)可能很多人不太熟悉,实际上类似的概念在C++里也有,那就是嵌套类(Nested Class),关于这两者的区别与联系,在下文中会有对比。内部类从表面上看,就是在类中又定义了一个类(下文会看到,内部类可以在很多地方定义),而实际上
2015-04-06 21:57:34 539
转载 TCP建立,释放连接
原文链接:http://blog.chinaunix.net/uid-26413668-id-3376762.htmlTCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机)
2015-04-06 21:46:02 1029
转载 HTTP协议详解
原文链接:http://blog.csdn.net/gueter/article/details/1524447引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP
2015-04-06 21:43:29 381
转载 浅析index condition pushdown
原文链接:http://blog.csdn.net/zbszhangbosen/article/details/7463382另一篇文章讲叙了 MRR和BKA 什么是indexcondition pushdown(ICP)?在数据库中pushdown表示某些操作“下推”,也就是某些操作提前执行,在生成执行计划时某些操作下推可以大大提升效率(为什么叫下推,因为优化器在生成的计
2015-04-06 21:37:45 579
转载 浅析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 559
转载 MySQL索引与Index Condition Pushdown
原文链接:http://blog.codinglabs.org/articles/index-condition-pushdown.html大约在两年前,我写了一篇关于MySQL索引的文章。最近有同学在文章的评论中对文章的内容提出质疑,质疑主要集中在联合索引的使用方式上。在那篇文章中,我说明联合索引是将各个索引字段做字符串连接后作为key,使用时将整体做前缀匹配。而这名同学在这个页
2015-04-06 21:33:07 479
转载 MySQL索引背后的数据结构及算法原理
原文链接:http://blog.codinglabs.org/articles/theory-of-mysql-index.html摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本
2015-04-06 21:31:07 623
转载 浅析JVM垃圾回收机制
首先我们需要知道Java的内存分配与回收全部由JVM垃圾回收机制自动完成。每种JVM实现可能采用不同的方法实现垃圾回收机制。在收购SUN之前,Oracle使用的是JRockit JVM,收购之后使用HotSpot JVM。目前Oracle拥有两种JVM实现并且一段时间后两个JVM实现会合二为一。HotSpot JVM是目前Oracle SE平台标准核心组件的一部分。市面上探讨垃圾回收机制,默认都是
2015-04-06 21:29:04 399
转载 地址解析协议ARP
地址解析协议(Address Resolution Protocol),其基本功能为通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。基本功能在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP
2015-04-02 15:27:56 593
转载 TCP、UDP、IP报头结构体分析
TCP首部格式格式字段详解源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通信。源端口、目标端口是用16位表示的,可推算计算机的端口个数为2^16个。序列号:表示本报文段所发送数据的第一个字节的编号。在TCP连接中
2015-04-02 15:06:03 1232
转载 DNS使用的是TCP协议还是UDP协议
DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类。但很少有人知道DNS分别在什么情况下使用这两种协议。 先简单介绍下TCP与UDP。 TCP是一种面向连接的协议,提供可靠的数据传输,一般服务质量要求比较高的情况,使用这个协议。UDP---用户数据报协议,是一种无连接的传输层协议,提供面向事务的简单不可靠信息
2015-04-01 18:55:49 931
转载 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 2708
转载 详细介绍Java垃圾回收机制
垃圾收集GC(Garbage Collection)是Java语言的核心技术之一,之前我们曾专门探讨过Java 7新增的垃圾回收器G1的新特性,但在JVM的内部运行机制上看,Java的垃圾回收原理与机制并未改变。垃圾收集的目的在于清除不再使用的对象。GC通过确定对象是否被活动对象引用来确定是否收集该对象。GC首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。引用计
2015-03-30 19:38:00 565
转载 Java HashMap实现详解
原文地址:http://beyond99.blog.51cto.com/1469451/429789/1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2. HashMap的数据结构:
2015-03-30 19:01:31 371
转载 java多线程例子
目录(?)[-]线程的互斥控制synchornized关键字synchornized方法为什么真正的应用都是用while条件而不用if条件notifynotifyAll方法 这里我们做一个完整的例子来说明线程产生的方式不同而生成的线程的区别:package debug;import java.io.*;import java.lang.Thread;class
2015-03-30 15:24:40 388
转载 用 new 关键字对一个String 变量赋值和直接赋值有什么不同
String str1="ABC"; 和String str2 = new String("ABC"); 有什么区别。 String str1="ABC" 可能创建一个对象或者不创建对象,如果"ABC"这个字符串在java String池里不存在,会在java String池创建这个一个String对象("ABC").如果已经存在,str1直接reference to 这个String池里
2015-03-30 13:27:22 1661
转载 Java中 HashSet与HasnMap区别和方法
HashSet与HasnMap区别和方法区别:1. HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的,只不过Set用的只是Map的key 2. Map的key和Set都有一个共同的特性就是集合的唯一性.TreeMap更是多了一个排序的功能.3. hashCode和equal()是HashMap用的, 因为无需排序所以只需要关注定位和
2015-03-30 13:25:36 839
转载 Java Thread类的yield()和join()的区别和用法
yield:解释它之前,先简述下,多线程的执行流程:多个线程并发请求执行时,由cpu决定优先执行哪一个,即使通过thread.setPriority(),设置了线程的优先级,也不一定就是每次都先执行它yield,表示暂停当前线程,执行其他线程(包括自身线程) 由cpu决定[java] view plaincopy
2015-03-29 20:50:03 1160
转载 Java常见面试题
1. Java中sleep和wait的区别① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。② 锁: 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以
2015-03-29 20:33:11 476
转载 Spring AOP 的实现原理----动态代理
原文链接:http://www.blogjava.net/DoubleJ/archive/2008/03/04/183796.html好长时间没有用过Spring了. 突然拿起书.我都发现自己对AOP都不熟悉了.其实AOP的意思就是面向切面编程.OO注重的是我们解决问题的方法(封装成Method),而AOP注重的是许多解决解决问题的方法中的共同点,是对OO思想的一种补充!还
2015-03-29 20:19:00 607
转载 Java反射机制详解
原文链接:http://blog.csdn.net/yongjian1092/article/details/7364451首先,我们在开始前提出一个问题:1.在运行时,对于一个java类,能否知道属性和方法;能否去调用它的任意方法? 答案是肯定的。本节所有目录如下:什么是JAVA的反射机制JDK中提供的Reflection APIJ
2015-03-29 19:08:16 339
转载 spring mvc DispatcherServlet详解之interceptor和filter的区别
首先我们看一下spring mvc Interceptor的功能及实现:http://wenku.baidu.com/link?url=Mw3GaUhCRMhUFjU8iIDhObQpDcbmmRy_IPeumazg0ppnbmwqFUtLp9kSpuPPpeysf6EnHBLYFeWrbjqMq8BlWKQz_7MSDhGQTVl32fpxCMmSpringMVC 中
2015-03-29 18:38:02 933
深入理解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关注的人