自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (16)
  • 收藏
  • 关注

原创 linux 常用命令学习

1、ls命令         就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等         常用参数搭配:         ls -a 列出目录所有文件,包含以.开始的隐藏文件         ls -A 列出除.及..的其它文件         ls -r 反

2017-02-28 17:00:05 336

转载 MySQL优化必须调整的10项配置

当我们被人雇来监测MySQL性能时,人们希望我们能够检视一下MySQL配置然后给出一些提高建议。许多人在事后都非常惊讶,因为我们建议他们仅仅改动几个设置,即使是这里有好几百个配置项。这篇文章的目的在于给你一份非常重要的配置项清单。我们曾在几年前在博客里给出了这样的建议,但是MySQL的世界变化实在太快了!写在开始前…即使是经验老道的人也会犯错,会引起很多麻烦。所以在盲目的运用这些推

2017-02-28 16:50:57 178

转载 MySQL 性能优化

当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了

2017-02-28 15:35:33 281

转载 Mysql占用CPU过高如何优化,如何解决

MySQL占用CPU过高如何优化一次生产DB服务器的 超负荷运行问题解决:1.查看生产DB服务器top列表,执行 top 命令查看Cpu(s) 参数一直处于 98% 状态 ,load average达到了 5  (4核服务器)可见DB已经超负荷运行了2.使用root用户登录mysql 执行 sh

2017-02-28 15:13:44 5092

转载 SpringMVC工作原理

上面的是springMVC的工作原理图:1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.2、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数C

2017-02-27 11:02:06 210

原创 Spring MVC原理及配置

【spring】Spring MVC原理及配置1.Spring MVC概述:Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。

2017-02-27 10:43:39 281

转载 Spring MVC入门 —— 跟开涛学SpringMVC

2.1、Spring Web MVC是什么Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 另外还有一种基于组件的、事件驱动的W

2017-02-27 10:25:10 2060

原创 Java关键字new-----对象的内存分配原理

一、关键字new概述        "new"可以说是Java开发者最常用的关键字,我们使用new创建对象,使用new并通过类加载器来实例化任何我们需要的东西,但你是否深入了解过new在编译的瞬间都做了什么?        在Java中使用new关键字创建对象变得很容易了,事实上,对这些事情你是不需要考虑的。需要访问一个文件吗?只需要创建一个新的File实例:new File(“j

2017-02-23 16:52:48 1966

原创 聊聊并发(四)深入分析ConcurrentHashMap

术语定义术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。 哈希表hash table根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称

2017-02-23 14:39:50 203

原创 LRU缓存实现(Java)

LRU Cache的LinkedHashMap实现LRU Cache的链表+HashMap实现LinkedHashMap的FIFO实现调用示例LRU是Least Recently Used 的缩写,翻译过来就是“最近最少使用”,LRU缓存就是使用这种原理实现,简单的说就是缓存一定量的数据,当超过设定的阈值时就把一些过期的数据删除掉,比如我们缓存10000条数据,当数据小于10000

2017-02-23 10:54:00 274

原创 java中的类加载器,与tomcat自己又做了一些类加载器的不同

52.  现在来讲一下java中的类加载器的原理(双亲委派机制),在java中主要有三个加载器,启动类加载器,还有扩展类,还有系统类或者叫应用类加载器都行。不同的加载器啊,他找的东西不一样。53.  那些核心啦,比如  java核心 java.开头那些,那些api他都是BootStrap加载的。54.  Ext扩展类加载器,他可以加载,你到java的安装目录下   jdk\

2017-02-17 16:59:16 897

原创 图解Tomcat类加载机制

说到本篇的tomcat类加载机制,不得不说翻译学习tomcat的初衷。  之前实习的时候学习javaMelody的源码,但是它是一个Maven的项目,与我们自己的web项目整合后无法直接断点调试。后来同事指导,说是直接把java类复制到src下就可以了。很纳闷....为什么会优先加载src下的java文件(编译出的class),而不是jar包中的class呢?  现在了解tomca

2017-02-17 16:57:50 215

原创 Redis 缓存失效机制

Redis缓存失效的故事要从EXPIRE这个命令说起,EXPIRE允许用户为某个key指定超时时间,当超过这个时间之后key对应的值会被清除,这篇文章主要在分析Redis源码的基础上站在Redis设计者的角度去思考Redis缓存失效的相关问题。Redis缓存失效机制Redis缓存失效机制是为应对缓存应用的一种很常见的场景而设计的,讲个场景:我们为了减轻后端数据库的压力,

2017-02-17 16:35:46 2161

原创 跳表SkipList

1.聊一聊跳表作者的其人其事2. 言归正传,跳表简介3. 跳表数据存储模型4. 跳表的代码实现分析5. 论文,代码下载及参考资料 . 聊一聊作者的其人其事 跳表是由William Pugh发明。他在 Communications of the ACM June 1990, 33(6) 668-676 发表了Skip lists: a probabilistic

2017-02-17 16:02:28 296

原创 skiplist 跳表详解及其编程实现

skiplist介绍跳表(skip List)是一种随机化的数据结构,基于并联的链表,实现简单,插入、删除、查找的复杂度均为O(logN)。跳表的具体定义,请参考参考维基百科 点我 , 中文版 。跳表是由 William Pugh 发明的,这位确实是个大牛,搞出一些很不错的东西。简单说来跳表也是链表的一种,只不过它在链表的基础上增加了跳跃功能,正是这个跳跃的功能,使得在查找

2017-02-17 16:00:44 341

转载 HashMap实现原理分析

1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。      数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难

2017-02-14 08:52:12 216

原创 redis 与memcache 比较及优化

1、与memcache比较性能方面:没有必要过多的关心性能,因为二者的性能都已经足够高了。由于Redis只使用单核,而Memcached可以使用多核,所以在比较上,平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是

2017-02-13 11:21:58 995 1

原创 tomcat架构分析 (connector NIO 实现)

简单记录了缺省配置的connector的内部构造及消息流,同时此connector也是基于BIO的实现。除了BIO外,也可以通过配置快速部署NIO的connector。在server.xml中如下配置; Xml代码  Connector port="80" URIEncoding="UTF-8" protocol="org.apache.coyote.http11.Ht

2017-02-08 14:11:37 327

原创 Tomcat工作原理

1 - Tomcat Server的组成部分1.1 - ServerA Server element represents the entire Catalina servlet container. (Singleton)1.2 - ServiceService是一个集合:它由一个或者多个Connector组成,以及一个Engine,负责处理所有Conne

2017-02-08 11:27:35 812

原创 深入理解volitale关键字

我们继续来讨论Java的多线程编程,今天我们一起来学习一下java多线程中的另一个关键字——volitale。一、java内存模型与多线程编程中的三个感念1、原子性原子性是指一些操作或者全都执行,要么或者全都不执行,整个操作作为一个整体是不可分割的,例如,一个银行中有两个账户A,B,现在要从A账户中转账500元到B账户,那么一共可以分为两个步骤: 1、从A账户取出500

2017-02-08 10:00:20 496

kafka 技术内幕 图文详解Kafka源码设计与实现

kafka 技术内幕 图文详解Kafka源码设计与实现 kafka 源码

2018-04-09

disruptor 实例

disruptor 缓冲队列 高效

2017-05-17

netty 架构剖析 和源码解读

netty 架构剖析 和源码解读

2017-05-16

zookeeper 分布式锁

利用zookeeper 实现分布式锁

2017-05-10

令牌桶Java实现

令牌桶 Java 源码 不限制桶大小

2017-05-05

turbine-web-1.0.0.war

hystrix turbine 服务监控 服务降级

2017-04-12

MySQL编译安装、主从复制的配置(CentOS-6.6+MySQL-5.6)

MySQL编译安装、主从复制的配置(CentOS-6.6+MySQL-5.6)

2017-01-06

Redis集群的安装、高可用测试、扩展测试---带源码

Redis集群的安装、高可用测试、扩展测试---带源码

2017-01-04

ActiveMQ高可用+负载均衡集群的安装、配置、高可用测试

ActiveMQ高可用+负载均衡集群的安装、配置、高可用测试

2017-01-03

ActiveMQ的安装与使用

ActiveMQ的安装与使用

2016-12-27

Hudson持续集成服务器的安装与配置

Hudson持续集成服务器的安装与配置

2016-12-27

SonarQube代码质量管理平台的介绍与安装

SonarQube代码质量管理平台的介绍与安装

2016-12-27

svn jsvnadmin 搭建 svn服务器

svn jsvnadmin 搭建 svn服务器

2016-12-27

tomcat 启动 重启 shell 脚本

tomcat 启动 停止 重启 shell 脚本

2016-12-27

redis 单点登录

tomcat redis session manager 实现session共享单点登录

2016-12-23

tika-app-1.0

tika-app-1.0.jar 用于lucene 解析文档

2015-11-09

空空如也

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

TA关注的人

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