- 博客(73)
- 资源 (1)
- 收藏
- 关注
转载 MySQL索引原理及慢查询优化
MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问
2015-01-24 22:31:03
297
转载 浅谈mysql配置优化和sql语句优化
做优化,我在这里引用淘宝系统分析师蒋江伟的一句话:只有勇于承担,才能让人有勇气,有承担自己的错误的勇气。有承担错误的勇气,就有去做事得勇气。无论做什么事,只要是对的,就要去做,勇敢去做。出了错误,承担错误,改正错误,这样的人没有人会去责怪。 很久之前就想写一篇关于mysql优化方面的文章了,忙于工作,在着也比较懒散。现在网上mysql优化方面的帖子很多,也不乏精品。很早听一DBA
2015-01-24 22:29:02
243
转载 应对面试:《TCP/IP、HTTP、SOCKET的区别》、《HTTP协议详解》、《HTTP头部详解》
本文分三个部分:《TCP/IP、Http、Socket的区别》、《HTTP协议详解》、《HTTP头部详解》 《TCP/IP、Http、Socket的区别》网络由下往上分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层,三者从本质上来说没有可比性
2015-01-21 15:43:34
1305
转载 TCP/IP、Http、Socket的区别
网络由下往上分为 物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层, 三者从本质上来说没有可比性, socket则是对TCP/IP协议的封装和应用(程序员层面上)。 也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,
2015-01-19 16:12:17
285
原创 常见的各种排序
1 、插入排序(直接插入排序,希尔排序)2 、交换排序3 、选择排序4 、归并排序5、分配排序1.1 直接插入排序思想:N个随机数的数组,假设前n-1个数是有序的(n>=2)。将第n个数插入前面有序的数中,使这些数也是有序的,如此循环,知道全部排好顺序。实例: java实现:public void insertSort(){
2015-01-19 16:00:25
339
原创 redis 主从配置
MSS :Master主服务器m ,Slave从服务器s1,Slave从服务器s2;只需将是s1的redis.conf配置文件中: bind 192.168.1.5(从服务器,此处默认是127.0.0.1,请修改成本机的IP地址,要不然,客户端无法进行访问) slaveof 192.168.1.4 6379 (映射到主服务器上);s2 作为s1的从服
2015-01-12 16:37:09
212
转载 Oracle 分区表——Range分区
一、什么是分区表 Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放到不同的表空间中。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直
2015-01-06 11:51:49
401
转载 Java 8:HashMap的性能提升
HashMap是一个高效通用的数据结构,它在每一个Java程序中都随处可见。先来介绍些基础知识。你可能也知道,HashMap使用key的hashCode()和equals()方法来将值划分到不同的桶里。桶的数量通常要比map中的记录的数量要稍大,这样每个桶包括的值会比较少(最好是一个)。当通过key进行查找时,我们可以在常数时间内迅速定位到某个桶(使用hashCode()对桶的数量进行取模)以及要
2015-01-05 17:09:01
260
转载 Java HashMap的工作原理
面试的时候经常会遇见诸如:“java中的HashMap是怎么工作的”,“HashMap的get和put内部的工作原理”这样的问题。本文将用一个简单的例子来解释下HashMap内部的工作原理。首先我们从一个例子开始,而不仅仅是从理论上,这样,有助于更好地理解,然后,我们来看下get和put到底是怎样工作的。我们来看个非常简单的例子。有一个”国家”(Country)类,我们将要用Country
2015-01-05 16:56:50
253
转载 Mysql 分析sql 执行效率
explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:explain select surname,first_name form a,b where a.id=b.id EXPLAIN列的解释:table:显示这一行的数据是关于哪张
2014-12-30 11:52:54
582
转载 Oracle 分析 sql 的执行效率
如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。 如果一条SQL平时执行的好好的,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本可以断定是执行计划出了问题。 看懂执行计划也就成了SQL优化的先决条件。 这里的SQL优化指的是SQL性能问题的定位,定位后就可以解决问题。 一.
2014-12-30 11:50:13
3180
转载 MyISAM InnoDB 区别
http://www.cnblogs.com/youxin/p/3359132.htmlnnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣, 视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比 InnoDB类型更快,但是不提供事务支持,而InnoD
2014-12-25 11:59:28
233
转载 一致性hash
http://wenku.baidu.com/link?url=9Z2InyzUaHhnkvobdM-_rOvGmrguiwRB8sOQ-itIJ1_vyLv4Xfm4Gva0Gm5FGPtf-ScnAgM0u5XUS34HCwINsw1cfut6kn2AKpMlfPr2k1a
2014-12-17 16:35:11
235
转载 Redis + Jedis + Spring 配置&常规操作(GET SET DEL)
http://snowolf.iteye.com/blog/1666908
2014-12-17 15:10:49
242
转载 jquery 弹出div 屏幕正中间
//让指定的DIV始终显示在屏幕正中间 function setDivCenter(divName){ var top = ($(window).height() - $(divName).height())/2; var left = ($(window).width() - $(divName).width())/2;
2014-06-18 18:11:41
342
原创 Myeclipse project红叉
MyEclipse中没有Project Facets配置选项,则需要到当前项目的.settings文件夹下,找到org.eclipse.wst.common.project.facet.core.xml文件,其内容如下: 其中这行就是faceted project的编译级别配置。这行配置在某些情况下也需要修改,比如在MyEclipse中建了个web项目
2014-05-23 09:46:00
339
原创 MyISAM和InnoDB选择
1、MYISAM 只有表级所,InNoDB有行级所,这就意味着当一个用户/客户端在数据库操作时,整张表都会被锁住(被锁的表可能是几百万行),而其他的用户只有等待。2、MYISAM没有事务日志和分类,因此它只将数据写入linux文件缓存,并希望最终写入磁盘,如果系统在这个过程中崩溃或者丢失一些数据,myisam将无法启动或警告你修复表;它恢复数据的方法有限且数据经常丢失。myisam很难备份,并
2014-03-03 11:34:29
328
转载 JSON和XML比较
XML设计了两种解析方式:DOM和SAX。DOM是把一个数据交换格式XML看成一个DOM对象,需要把XML文件整个读入内存,这一点上JSON和XML的原理是一样的,但是XML要考虑 父节点和子节点,这一点上JSON的解析难度要小很多,因为JSON构建于两种结构:key/value,键值对的集合;值的有序集合,可理解为数组;SAX不需要整个读入文档就可以对解析出的内容进行处理,是一种逐步解析
2014-02-26 17:12:19
348
原创 bin_log mysql 数据恢复
1、bin_log 开启: 查看是否开启 show variables like '%bin%' ; 未开启时,设置:vim /etc/my.cnf -->log_bin = mysql_bin,重启mysql;2、查看操作的语句:show binlog events in 'mysql_bin.000001'\G 3、恢复语句1.最长用的就是回复指定数据
2014-02-26 14:12:10
443
转载 Spring MVC启动过程
以Tomcat为例,想在Web容器中使用Spirng MVC,必须进行四项的配置: 修改web.xml,添加servlet定义、编写servletname-servlet.xml( servletname是在web.xm中配置DispactherServlet时使servlet-name的值) 、配置contextConfigLocation初始化参数、配置ContextLoaderListe
2013-08-20 11:51:54
60
原创 web漏洞常见分析
1、xss跨站脚本 攻击过程:类型A:A给B发送了一个恶意构造的URL,B打开了这个URL ,恶意页面中的javascript打开了一个具有漏洞的html,并将其安装在B的电脑上。具有漏洞的html页包含了B电脑本地域执行的javascript。A的恶意脚本可以执行B所持有的权限的命令。类型B:攻击过程: Alice经常浏览某个网站,此网站为Bob所拥有。Bob的站点
2013-08-16 11:20:04
453
原创 linux学习-环境变量
环境变量配置:1、打开环境变量:$ vi /etc/profile2、添加:export JAVA_HOME=/usr/lib/jvm/java-7-sunexport CLASSPATH=$JAVA_HOME/lib/*.*export TOMCAT_HOME=/home/local/tomcat7export CATALINA_HOME=/home/local
2013-08-12 15:11:36
270
转载 Android技术积累:图片缓存管理
转载自Keegan小钢本文链接地址:http://keegan-lee.diandian.com/post/2012-12-06/40047548955 如果每次加载同一张图片都要从网络获取,那代价实在太大了。所以同一张图片只要从网络获取一次就够了,然后在本地缓存起来,之后加载同一张图片时就从缓存中加载就可以了。从内存缓存读取图片是最快的,但是因为内存容量有限,所以最好再加
2013-06-26 09:15:21
324
转载 Android技术积累:图片异步加载
转载自Keegan小钢本文链接地址:http://keegan-lee.diandian.com/post/2012-12-14/40046198902 当在ListView或GridView中要加载很多图片时,很容易出现滑动时的卡顿现象,以及出现OOM导致FC(Force Close)。会出现卡顿现象主要是因为加载数据慢,要等数据加载完才能显示出来。可以通过将数据
2013-06-26 09:11:45
409
转载 Map取值四种方法
public static void main(String[] args) { Map map = new HashMap(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通过
2013-06-17 17:27:48
1926
转载 Memcahce和Redis比较
Memcahce和Redis比较一、Memcache1. memecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小redis有部份存在硬盘上,这样能保证数据的持久性。2. Memcache使用了Slab Allocator的内存分配机制:按照预先规定的大小,将分配的内存分割成特定长度的块,以完全解决内存碎片问题。3.
2013-05-31 10:05:54
417
转载 堆和栈的 区别
堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵
2013-05-23 11:56:48
256
转载 Android 5种方式存储数据
SharedPrefences存储数据、文件存储、SQlite、ContentProvider、网络存储 Preference,File, DataBase这三种方式分别对应的目录是/data/data/Package Name/Shared_Pref, /data/data/Package Name/files, /data/data/Package Name/database 。
2013-05-21 16:22:53
337
转载 后台的Activity被系统回收怎么办:onSaveInstanceState
当你的程序中某一个Activity A 在运行时中,主动或被动地运行另一个新的Activity B 这个时候A会执行void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putLong("id", 1234567890); }B
2013-05-21 11:27:45
434
转载 Dalvik 虚拟机
Dalvik概述Dalvik是Google公司自己设计用于Android平台的Java虚拟机。它可以支持已转换为.dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,可以减少整体文件尺寸,提高I/o操作的类查找速度所以适合内存和处理器速度有限的系统。Dalvik虚拟机(DVM) 和Java 虚拟机(JVM)首要差别
2013-05-21 11:05:47
314
原创 android 耗电量
引起耗电量常见问题:1、频繁的GC,2、开GPS3、频繁的网络连接和网络切换4、后台服务开启过多5、大量文本数据解析解决方法:1、在需要网络连接的程序中,首先检查网络连接是否正常,如果没有网络连接,那么就不需要执行相应的程序。2、使用效率高的数据格式和解析方法。3、使用GZIP压缩方式下载数据,能减少网络流量,下图为使用GZIP方式获取包含1800个主题的RSS
2013-05-17 17:05:03
338
转载 接口和抽象类之间的关系
接口和抽象类之间的关系:相同点:(1)接口和抽象了都不能被实例化,它们都位于继承树的顶端,用于被其他的类实现和继承。(2)接口和抽象类都是可以包含抽象方法的,实现接口或是继承抽象类的普通子类都必须实现这些抽象方法。不同点: (1)接口只能包含抽象方法,不能包含已经提供实现的方法;抽象类则完全可以包含普通的方法(2)接口不能定义静态方法;抽象类完全可以定义静态方法。(3)接口
2013-05-08 15:39:17
298
转载 4种基本的xml解析方案
1、DOM为 XML 文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用 DOM 接口来操作这个树结构。优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;使用场合:一旦解析了文档还需多次访问这些数据;硬件资源充足(内存、CPU)。 import java.
2013-05-07 17:48:54
297
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人