- 博客(20)
- 资源 (16)
- 收藏
- 关注
原创 linux 常用命令学习
1、ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等 常用参数搭配: ls -a 列出目录所有文件,包含以.开始的隐藏文件 ls -A 列出除.及..的其它文件 ls -r 反
2017-02-28 17:00:05 337
转载 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 5093
转载 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 1968
原创 聊聊并发(四)深入分析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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人