自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(406)
  • 资源 (14)
  • 收藏
  • 关注

原创 Hadoop2.7.2之集群搭建(单机)

下载安装Hadoop1、下载地址http://hadoop.apache.org/releases.html1我下载的是2.7.2,官网在2.5之后默认提供的就是64位的,这里直接下载下来用即可2、安装Hadooptar -zxvf hadoop-2.7.2.tar.gz -C /opt/soft13、查看Hadoop是32 or 64 位 参考

2017-11-02 15:15:21 250

原创 Mysql常用30种SQL查询语句优化方法

1、应尽量避免在 where 子句中使用!=或2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中n

2017-11-01 09:39:53 262

原创 VirtualBox中克隆出现的eth0错误的问题

CentOS6.7安装中出现的问题解决解决办法: 首先,打开/etc/udev/rules.d/70-persistent-net.rules内容如下面例子所示:vi /etc/udev/rules.d/70-persistent-net.rulesThis file was automatically generated by the /lib/udev/

2017-10-31 17:10:47 656

原创 Linux下安装jdk8步骤详述

登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择对应jdk版本下载。(可在Windows下下载完成后,通过文件夹共享到Linux上)1. 登录Linux,切换到root用户su root 获取root用户权限,当前工作目录不变(需要ro

2017-10-31 16:39:23 313

原创 VirtualBox + CentOS 使用 NAT + Host-Only 方式联网

① 安装完 CentOS 6.6 之后,关闭系统② 在 VirtualBox 主控制界面点击 【管理】--【全局设定】--【网络】--【添加新NAT网络】③ 在弹出的对话框中,设置【网络CIDR】为【192.168.100.0/24】,【确定】④ 在管理界面点击【设置】--【网络】--【网卡1】,【连接方式】选择【NAT网络】,【界面名称】选【NATNetwork】,【确定】...

2017-10-31 15:47:21 781

转载 Java 集合深入理解(14):Map 概述

什么是 MapJava 中的 Map 接口 是和 Collection 接口 同一等级的集合根接口,它 表示一个键值对 (key-value) 的映射。类似数学中 函数 的概念。数学中的函数:一个 Map 中,任意一个 key 都有唯一确定的 value 与其对应,这个 key-value 的映射就是 map。Map 中元素的顺序取决于迭代器迭代时的顺序,有

2017-10-31 10:11:32 193

转载 Java 集合深入理解(12):古老的 Vector

都说 Vector 是线程安全的 ArrayList,今天来根据源码看看是不是这么相似。什么是 VectorVector 和 ArrayList 一样,都是继承自 AbstractList。它是 Stack 的父类。英文的意思是 “矢量”。Vector 成员变量1.底层也是个数组protected Object[] elementDa

2017-10-31 09:54:16 203

转载 重温数据结构:哈希 哈希函数 哈希表

什么是 HashHash(哈希),又称“散列”。散列(hash)英文原意是“混杂”、“拼凑”、“重新表述”的意思。在某种程度上,散列是与排序相反的一种操作,排序是将集合中的元素按照某种方式比如字典顺序排列在一起,而散列通过计算哈希值,打破元素之间原有的关系,使集合中的元素按照散列函数的分类进行排列。在介绍一些集合时,我们总强调需要重写某个类的 equlas() 方法

2017-10-31 09:50:36 287

转载 Java 集合深入理解(10):Deque 双端队列

什么是 DequeDeque 是 Double ended queue (双端队列) 的缩写,读音和 deck 一样,蛋壳。Deque 继承自 Queue,直接实现了它的有 LinkedList, ArayDeque, ConcurrentLinkedDeque 等。Deque 支持容量受限的双端队列,也支持大小不固定的。一般双端队列大小不确定。Dequ

2017-10-31 09:44:12 237

转载 Java 集合深入理解(8):AbstractSequentialList

AbstractSequentialList 没有什么特别的,这里介绍是为了理解 LinkedList 更容易。什么是 AbstractSequentialList( Sequential 相继的,按次序的)AbstractSequentialList 继承自 AbstractList,是 LinkedList 的父类,是 List 接口 的简化版实现。

2017-10-31 09:28:11 1723

转载 Java 集合深入理解(7):ArrayList

什么是 ArrayList ArrayList 是 Java 集合框架中 List接口 的一个实现类。可以说 ArrayList 是我们使用最多的 List 集合,它有以下特点:容量不固定,想放多少放多少(当然有最大阈值,但一般达不到)有序的(元素输出顺序与输入顺序一致)元素可以为 null效率高 size(), isEmpty(), get(), se

2017-10-31 09:01:26 249

原创 ZooKeeper常见面试题

Zookeeper是什么框架分布式的、开源的分布式应用程序协调服务,原本是Hadoop、HBase的一个重要组件。它为分布式应用提供一致性服务的软件,包括:配置维护、域名服务、分布式同步、组服务等。应用场景Zookeeper的功能很强大,应用场景很多,结合我实际工作中使用Dubbo框架的情况,Zookeeper主要是做注册中心用。基于Dubbo框架开发的提供者、消费者都向Zookeep

2017-10-30 17:30:53 573

原创 谈谈Memcached与Redis

1. Memcached简介Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器。其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数 据全部丢失。Memcached使用C语言开发,在大多数像Linux、BSD和Solaris等POSIX系统上,只要安装了lib

2017-10-27 15:17:49 240

原创 我们究竟什么时候可以使用Ehcache缓存

一、Ehcache是什么EhCache是Hibernate的二级缓存技术之一,可以把查询出来的数据存储在内存或者磁盘,节省下次同样查询语句再次查询数据库,大幅减轻数据库压力。二、Ehcache的使用场景是什么1、首先最主要就是页面缓存。 网站页面的数据来源非常广泛的,大多数来自不同的对象,而且有可能来自不同的db,所以给页面做缓存是一个不错的主意。 2、常用数据的缓

2017-10-27 14:49:57 290

原创 System.arraycopy()方法详解

一、深度复制和浅度复制的区别         Java数组的复制操作可以分为深度复制和浅度复制,简单来说深度复制,可以将对象的值和对象的内容复制;浅复制是指对对象引用的复制。二、System.arraycopy()方法实现复制1、System中提供了一个native静态方法arraycopy(),可以使用这个方法来实现数组之间的复制。对于一维数组来说,这种复制属性值传递

2017-10-26 18:39:17 148981 8

转载 Java 集合深入理解(6):AbstractList

什么是 AbstractListAbstractList 继承自 AbstractCollection 抽象类,实现了 List 接口 ,是 ArrayList 和 AbstractSequentiaList 的父类。它实现了 List 的一些位置相关操作(比如 get,set,add,remove),是第一个实现随机访问方法的集合类,但不支持添加和替换。在 A

2017-10-26 11:31:32 324

转载 Java 集合深入理解(5):AbstractCollection

什么是 AbstractCollectionAbstractCollection 是 Java 集合框架中 Collection 接口 的一个直接实现类, Collection 下的大多数子类都继承 AbstractCollection ,比如 List 的实现类, Set的实现类。 它实现了一些方法,也定义了几个抽象方法留给子类实现,因此它是一个抽象类。抽象方法

2017-10-26 10:26:31 186

转载 Java 集合深入理解(4):List<E> 接口

在 Java 集合深入理解:Collection 中我们熟悉了 Java 集合框架的基本概念和优点,也了解了根接口之一的 Collection,这篇文章来加深 Collection 的子接口之一List 的熟悉。List 接口一个 List 是一个元素有序的、可以重复、可以为 null 的集合(有时候我们也叫它“序列”)。Java 集合框架中最常使用的几种 Li

2017-10-26 10:07:26 305

转载 Java 集合深入理解(3):Collection

什么是集合?集合,或者叫容器,是一个包含多个元素的对象;集合可以对数据进行存储,检索,操作;它们可以把许多个体组织成一个整体: 比如一副扑克牌(许多牌组成的集合);比如一个电话本(许多姓名和号码的映射)。什么是集合框架?集合框架是一个代表、操作集合的统一架构。所有的集合框架都包含以下几点:接口:表示集合的抽象数据类型。接口允许我们操作集合时不必关注具体实

2017-10-26 10:01:52 302

转载 Java 集合深入理解(7):ArrayList

什么是 ArrayList ArrayList 是 Java 集合框架中 List接口 的一个实现类。可以说 ArrayList 是我们使用最多的 List 集合,它有以下特点:容量不固定,想放多少放多少(当然有最大阈值,但一般达不到)有序的(元素输出顺序与输入顺序一致)元素可以为 null效率高 size(), isEmpty(), get(), se

2017-10-26 09:55:30 172

转载 Java 集合深入理解(11):LinkedList

我们知道 ArrayList 是以数组实现的,遍历时很快,但是插入、删除时都需要移动后面的元素,效率略差些。而LinkedList 是以链表实现的,插入、删除时只需要改变前后两个节点指针指向即可,省事不少。今天来看下 LinkedList 源码。#LinkedList 继承结构LinkedList 继承自 AbstractSequentialList

2017-10-26 09:54:37 179

转载 重温数据结构:二叉排序树的查找、插入、删除

现在我们来介绍二叉树的一种特殊形式 — 二叉排序树,了解它的区分策略及常用操作。什么是二叉排序树 Binary Sort Tree, BST二叉排序树,又称二叉查找树、二叉搜索树、B树。二叉排序树是具有下列性质的二叉树:若左子树不空,则左子树上所有结点的值均小于它的根结点的值;若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;左、右子树也分别为二叉排序

2017-10-25 19:12:50 253

转载 重温数据结构:二叉树的常见方法及三种遍历方式 Java 实现

什么是二叉树 Binary Tree先来个定义:二叉树是有限个节点的集合,这个集合可以是空集,也可以是一个根节点和至多两个子二叉树组成的集合,其中一颗树叫做根的左子树,另一棵叫做根的右子树。简单地说,二叉树是每个节点至多有两个子树的树,下面的家谱就是一个形象的二叉树:二叉树的定义是一个递归的定义,其中值得注意的是左右子树的概念,因为有左、右之分,下面

2017-10-25 19:11:19 226

转载 重温数据结构:树 及 Java 实现

数据结构,指的是数据的存储形式,常见的有线性结构(数组、链表,队列、栈),还有非线性结构(树、图等)。今天我们来学习下数据结构中的 树。什么是树线性结构中,一个节点至多只有一个头节点,至多只有一个尾节点,彼此连接起来是一条完整的线。比如链表和数组:而树,非线性结构的典型例子,不再是一对一,而变成了一对多(而图则可以是 多对多),如下图所示:

2017-10-25 19:10:30 188

转载 重温数据结构:哈希 哈希函数 哈希表

什么是 HashHash(哈希),又称“散列”。散列(hash)英文原意是“混杂”、“拼凑”、“重新表述”的意思。在某种程度上,散列是与排序相反的一种操作,排序是将集合中的元素按照某种方式比如字典顺序排列在一起,而散列通过计算哈希值,打破元素之间原有的关系,使集合中的元素按照散列函数的分类进行排列。在介绍一些集合时,我们总强调需要重写某个类的 equlas() 方法

2017-10-25 14:23:16 307

原创 解决Hash冲突的几种方法

开放地址法:1.线性探测法:ThreadLocalMap       线性再散列法是形式最简单的处理冲突的方法。插入元素时,如果发生冲突,算法会简单的从该槽位置向后循环遍历hash表,直到找到表中的下一个空槽,并将该元素放入该槽中(会导致相同hash值的元素挨在一起和其他hash值对应的槽被占用)。查找元素时,首先散列值所指向的槽,如果没有找到匹配,则继续从

2017-10-24 10:20:07 675

原创 十道海量数据处理面试题与十个方法大总结

第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。      首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率

2017-10-24 08:56:45 215

原创 当笔记本是无线连接网络时,如何正确配置virtualbox的上网问题

当笔记本是无线连接网络时,如何正确配置virtualbox的上网问题Virtualbox很多的时候需要配置网络,现在给出我自己的一些配置经验。 其实virtualbox的网络连接上网的方式有很多种,大家可以度娘具体知晓,本人比较中意桥接方式,因为它可以使虚机具体独立同级别的网络环境。废话少说,言归正转。如下图所示,我们采用桥接网卡的连接方式,并选中具体的无线

2017-10-23 20:53:26 589

原创 spring 3以及之后版本的异步方法

这里我们来看看spring 3.0 以及以后版本中支持的@Async (方法异步)其实在之前的程序中也没看到过有使用@Async 的,最近才接触到,想着如果使用异步缓存是不是响应速度会大幅提升那,就比如你去查询,发现缓存中没有数据,你要从数据库中获取数据,然后要把数据放到缓存中然后才能将数据展示到前台,其中将数据放到缓存的这个步骤占用了一部分时间,这样的话前台展示就比较慢了,所以如果保存到

2017-10-16 09:30:49 276

原创 RabbitMQ安装教程(Windows/Linux都有)

RabbitMQ安装教程简介:RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。如果不熟悉AMQP,直接看RabbitMQ的文档会比较困难。不过它也只有几个关键概念,这里简单介绍。安装:首先需要安装 Erlang环境官网: http://www.erlang.org/Windows版下载地址:

2017-10-12 20:56:34 187

原创 Error creating bean with name 'org.springframework.validation.beanvalidation.LocalValidatorFactoryBe

Error creating bean with name ‘org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0’Caused by: javax.validation.ValidationException: Unable to create a Configuration, because

2017-10-07 20:43:06 2033

原创 Spring 源码解析之DispatcherServlet源码解析(五)

Spring 源码解析之DispatcherServlet源码解析(五)前言本文需要有前四篇文章的基础,才能够清晰易懂,有兴趣可以先看看详细的流程,这篇文章可以说是第一篇文章,也可以说是前四篇文章的的汇总,Spring的整个请求流程都是围绕着DispatcherServlet进行的类结构图根据类的结构来说DispatcherServlet本身也是继承

2017-09-28 09:20:31 242

原创 Spring 源码解析之ViewResolver源码解析(四)

Spring 源码解析之ViewResolver源码解析(四)1 ViewResolver类功能解析1.1 ViewResolverInterface to be implemented by objects that can resolve views by name. View state doesn’t change during the running of

2017-09-28 09:19:20 427

原创 Spring 源码解析之HandlerAdapter源码解析(三)

Spring 源码解析之HandlerAdapter源码解析(三)前言这篇文章主要是解决上篇遗留的问题,主要是因为内容比较多Spring 源码解析之HandlerAdapter源码解析(二)遗留问题1. WebAsyncManager 和AsyncWebRequest 这些都是异步请求的管理?先来看看使用的方式上有什么不同 @Re

2017-09-28 09:18:26 214

原创 Spring 源码解析之HandlerAdapter源码解析(二)

Spring 源码解析之HandlerAdapter源码解析(二)前言看这篇之前需要有Spring 源码解析之HandlerMapping源码解析(一)这篇的基础,这篇主要是把请求流程中的调用controller流程单独拿出来了解决上篇文章遗留的问题getHandler(processedRequest) 这个方法是如何查找到对应处理的HandlerExec

2017-09-28 09:17:28 236

原创 Spring 源码解析之HandlerMapping源码解析(一)

Spring 源码解析之HandlerMapping源码解析(一)前言这个是spring源码解析的第一篇,全文围绕着DispatcherServlet进行展开,Spring 的初始化基本都是通过DispatcherServlet进行初始化的,Spring boot除外,Spring boot是先初始化一个容器之后再初始化的DispatcherServlet,本文首先介绍Spri

2017-09-28 09:15:58 402

原创 《Java虚拟机原理图解》 1.2.2、Class文件中的常量池详解(上)

NO1.常量池在class文件的什么位置?          我的上一篇文章《Java虚拟机原理图解》 1、class文件基本组织结构中已经提到了class的文件结构,在class文件中的魔数、副版本号、主版本之后,紧接着就是常量池的数据区域了,如下图用红线包括的位置:       知道了常量池的位置后,然后让我们来揭秘常量池里究竟有什么东西吧~

2017-09-27 14:32:01 441

原创 《Spring设计思想》AOP实现原理(基于JDK和基于CGLIB)

0、前言     在上篇文章《Spring设计思想》AOP设计基本原理 中阐述了Spring AOP 的基本原理以及基本机制,本文将深入源码,详细阐述整个Spring AOP实现的整个过程。    读完本文,你将了解到:1、Spring内部创建代理对象的过程2、Spring AOP的核心---ProxyFactoryBean3、基于J

2017-09-27 10:25:49 263

原创 Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)

class文件简介及加载     Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象:      class字节码文件是根据JVM虚拟机规范中规定的

2017-09-27 10:21:03 211

原创 《Spring设计思想》AOP设计基本原理

0、前言Spring 提供了AOP(Aspect Oriented Programming) 的支持, 那么,什么是AOP呢?本文将通过一个另外一个角度来诠释AOP的概念,帮助你更好地理解和使用Spring AOP。读完本文,你将了解到:1.    Java程序运行在JVM中的特征2.    Java程序的执行流【了解AOP、连接点(Join Poi

2017-09-27 09:50:28 234

物流跟踪查询快递鸟

java实现物流跟踪查询。Demo写好了,测试方法有两个参数。1:物流公司的简称(SF),2:需要查询的物流单号。你们需要申请物流接口的商户Id和api key值,申请步骤word文档有详细介绍

2018-10-07

IKAnalyzer2012

IKAnalyzer2012_u3

2017-10-30

IKAnalyzer2012_u3

IKAnalyzer2012_u3

2017-10-30

sessionDemo.zip

用于测试Nginx分发请求的案例demo

2017-09-26

tomcat-redis-session.zip

使用tomcat-redis-session-manager开源框架实现使用Redis存储Nginx+Tomcat负载均衡集群的Session所需要的3个jar:tomcat-redis-session-1.0-SNAPSHOT.jar、jedis-2.7.2.jar、commons-pool2-2.0.jar

2017-09-26

HiJson 2.1.2_jdk64

json 离线格式化工具

2017-09-14

JAVA利用HttpClient进行HTTPS接口调用

JAVA利用HttpClient进行HTTPS接口调用

2017-09-14

Java数据结构和算法

Java数据结构和算法

2017-09-14

python-3.6.0-amd64.exe

python-3.6.0-amd64.exe

2017-09-13

jdk1.8中文api

jdk1.8中文api

2017-08-30

pcre-8.39.tar.gz

pcre-8.39.tar.gz

2017-08-18

mybatis-spring-1.3.1

mybatis-spring-1.3.1

2017-05-19

apache-activemq-5.9.0-bin.zip

apache-activemq-5.9.0-bin.zip

2017-05-16

TortoiseGit-1.8.14.0_64bit.

TortoiseGit-1.8.14.0_64bit

2017-05-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除