- 博客(325)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 MySQL的sql查询语句优化
mysql中优化sql语句查询的30种方法:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from...
2017-02-24 13:51:47 330
原创 阿里巴巴内推P6 、P7,快来啊啊
钱多,富有梦想的公司,阿里招人招人招人啦。站内联系我或者简历到我邮箱都可以:[b]email:liliugen1984@163.com[/b]岗位描述:1.主导业务、技术改造类项目的系统分析、设计工作,承担核心功能、公共核心模块的代码编写。确保项目进度和质量。2.主导团队开发人员code review工作,并能提供性能优化、安全性建议。3.参与系统架构设计、
2016-08-23 22:06:58 3703
原创 阿里巴巴内推P6 、P7,快来啊啊
钱多,富有梦想的公司,阿里招人招人招人啦[b]简历请email给我,email :liugen.lilg@alibaba-inc.com岗位描述:1.主导业务、技术改造类项目的系统分析、设计工作,承担核心功能、公共核心模块的代码编写。确保项目进度和质量。2.主导团队开发人员code review工作,并能提供性能优化、安全性建议。3.参与系统架构设计、接口规范制定、...
2016-08-23 10:07:29 742
原创 性能分析的几个必读的帖子:
几个必读的帖子: JVM调优的"标准参数"的各种陷阱:http://hllvm.group.iteye.com/group/topic/27945Java Crash分析:http://www.slideshare.net/RednaxelaFX/java-crashjstat显示的full GC次数与CMS周期的关系:http://rednaxelafx.iteye.com/...
2012-09-29 13:04:23 177
原创 使用jmap和MAT定位内存泄漏OOM
[size=large][color=red] 注意分析 heap profile 文件[/color][/size][b]1 运行应用程序(使用jre版本为1.6以上)[/b][b]2 命令行执行[/b] jmap -dump:format=b,file=/tmp/mem4.hprof 其中/tmp/mem4.hprof 是dump出来...
2012-09-28 16:41:06 254
原创 CallableAndFuture
[code="java"]import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; /** *//**...
2012-07-24 11:31:03 127
原创 CountDownLatch
concurrent包里面的CountDownLatch其实可以把它看作一个计数器,只不过这个计数器的操作是原子操作,同时只能有一个线程去操作这个计数器,也就是同时只能有一个线程去减这个计数器里面的值。 CountDownLatch的一个非常典型的应用场景是:有一个任务想要往下执行,但必须要等到其他的任务执行完毕后才可以继续往下执行。假如我们这个想要继续往下执行的任务调用一个CountDown...
2012-07-24 11:00:36 100
原创 logstash 安装
[url]http://logstash.net/docs/1.1.0/tutorials/getting-started-simple[/url][url]http://blog.sina.com.cn/s/blog_51103a35010104a7.html[/url]wget http://dl.fedoraproject.org/pub/epel/5/x86_64/ep...
2012-05-23 11:40:24 117
原创 Hdfs-site.xml
Hdfs-site.xml //指定name镜像文件存放目录,如不指定则 //默认为core-site中配置的tmp目录 dfs.name.dir /usr/local/hadoop/hdfs/name //数据节点冗余备份的数量,由于实验只有2个// NN顾设置唯一,实际配置是可由实际情况//...
2012-02-15 19:55:01 267
原创 hbase java编程实例
HBase提供了java api来对HBase进行一系列的管理涉及到对表的管理、数据的操作等。常用的API操作有: 1、 对表的创建、删除、显示以及修改等,可以用HBaseAdmin,一旦创建了表,那么可以通过HTable的实例来访问表,每次可以往表里增加数据。 2、 插入数据 创建一个Put对象,在这个Put对象里可以指定要给哪个列增加数据,以及当前的时间戳等值,然后通...
2012-02-13 16:02:19 277
原创 MySQL 优化索引 —— Using filesort
用Explain分析SQL语句的时候,经常发现有的语句在Extra列会出现Using filesort,根据mysql官方文档对他的描述:引用MySQL must do an extra pass to find out how to retrieve the rows in sorted order. The sort is done by going through all row...
2012-01-06 11:00:48 151
原创 SQL 中having 和where的区别
group by 在select 语句中可以使用group by 子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果。 [color=red] 在带有group by...
2011-12-20 13:56:27 128
原创 认识理解Java中native方法
Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。 可以将native方法比作Java程序同C程序的接口,其实现步骤: 1、在Java中声明native()方法,然后编译; 2、用javah产生一个.h文件; ...
2011-11-02 16:35:29 155
原创 java 数组复制:System.arrayCopy 深入解析
转载:[url]http://happyjin2010.iteye.com/blog/1073195[/url]先看ArrayList源码中数组复制的代码: 其实ArrayList 就是一个数组的形式存放数据的. 没有高深的地方.他的性能在于他的索引能力, 正因为他是数组形式,所以索引元素的时候他表现得非常的快速成,试想一下, 只要知道这个元素的索引,E[2] 你看对...
2011-11-02 10:02:24 279
原创 java 线程 整理
1,简述 synchronized 和 java.util.concurrent.locks.Lock 的异同?答: 主要相同点: Lock能完成synchronized所实现的所有功能主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。2,同步有几...
2011-10-26 10:30:08 126
原创 bitmap思想及其在java中的相关实现
先看一个题目:给你一堆西安市的电话号码列表,数量大概在千万级,要求从中找出所有重复的电话号码,需要时间复杂度尽可能小。目前西安市的电话号码大概都以8开头,为8位,也就是类似于82678578这样子二重暴力搜索时间复杂度太高,这里我们不予考虑。容易想到的办法就是建立一个标志数组,int boolean都行,用相应的位置值来代替这个号码是否出现,...
2011-10-21 10:51:07 127
二分排序 例子
题目:一个有序的数组,里面是一万个整数。随机切分两部分,然后互换位置。求一个数的位置for example:[code="java"]int[] numbers = {92, 99,101,102,104,105,109,110,115,166,300,400,500, 1, 12, 13, 34, 35, 56, 57};[/code][code="java"]publi...
2011-10-19 11:16:40 178
原创 希尔排序
希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 希尔排序基本思想: [color=red] 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2...
2011-10-10 15:11:19 89
原创 二分查找
二分查找又称折半查找,[color=red]优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难[/color]。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则...
2011-10-09 14:13:48 82
原创 快速排序算法
快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。link:[url]http://baike.baidu.c...
2011-10-09 13:17:41 121
原创 归并排序
[url] http://baike.baidu.com/view/90797.htm[/url] [color=red] 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。[/color] 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治...
2011-09-30 15:01:57 78
原创 冒泡排序
冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第...
2011-09-30 13:27:14 114
原创 选择排序
[url]http://baike.baidu.com/view/547263.htm[/url] 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。分析: 选择排序(Select Sort)算法的基本思想是:在待排序的无序数组中找出最小数(或最大数)并...
2011-09-30 12:55:35 988
原创 插入排序
有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但...
2011-09-30 12:10:05 88
原创 Java:synchronized修饰符在静态方法与非静态方法上的区别
synchronized在静态方法上表示调用前要获得类的锁,而在非静态方法上表示调用此方法前要获得对象的锁。public class StaticSynDemo {private static String a="test";//等同于方法print2public synchronized void print1(String b){ //调用前要取得StaticSynDe...
2011-09-22 22:18:35 396
原创 编码之前,请想一想 zz
第 I 条(a) 这个功能是干什么的?它跟哪些功能有关联关系?客户是否真的有必要需要这个功能?是否合情合理?(b) 一个方法,尽量只能完成一个功能,客户如果以后扩展怎么办?有时间,尽量把代码重构。(c) 如果别人可能也调用这个方法,就把它封装成另一个方法,让别人再调用这个封装的方法。(原因是方便扩展,如果以后修改了这个方法,不会影响别人的方法...
2011-09-22 13:40:11 131
原创 性能调优学习笔记zz
1、性能调优的步骤1.1、衡量系统现状包括请求次数、响应时间、资源消耗等;如:A系统目前95%的请求响应为1s。1.2、设定调优目标根据用户所能接受的响应速度、系统现有的机器、所支撑的用户量制定出来的,因此通常会设定调优目标:95%的 请求在500ms内返回。1.3、寻找性能瓶颈在【2、寻找性能瓶颈】会专门介绍。通常性能瓶颈的表像是:1.3.1、资源消耗过多(C...
2011-09-02 12:42:40 111
原创 Java Thread Dump – 系統卡死、CPU 100%等問題的診斷工具
[b]什么是Thread Dump?[/b] Thread Dump是非常有用的诊断Java应用问题的工具,每一个Java虚拟机都有及时生成显示所有线程在某一点状态的thread-dump的能力。虽然各个 Java虚拟机thread dump打印输出格式上略微有一些不同,但是Thread dumps出来的信息包含线程;线程的运行状态、标识和调用的堆栈;调用的堆栈包含完整的类名,所执行的方法,...
2011-08-24 13:56:58 340
原创 通过force index了解的MySQL查询的性能优化
查询是数据库技术中最常用的操作。查询操作的过程比较简单,首先从客户端发出查询的SQL语句,数据库服务端在接收到由客户端发来的SQL语句后, 执行这条SQL语句,然后将查询到的结果返回给客户端。虽然过程很简单,但不同的查询方式和数据库设置,对查询的性能将会有很在的影响。因此,本文就在MySQL中常用的查询优化技术进行讨论。讨论的内容如:通过查询缓冲提高查询速度;MySQL对查询的自动优化;基...
2011-07-14 15:46:01 135
原创 equals hashcode 深度分析
1.hashcode是用来查找的,如果你学过数据结构就应该知道,在查找和排序这一章有 例如内存中有这样的位置 0 1 2 3 4 5 6 7 而我有个类,这个类有个字段叫ID,我要把这个类存放在以上8个位置之一,如果不用hashcode而任意存放,那么当查找时就需要到这八个位置里挨个去找,或者用二分法一类的算法。 但如果用hashcode那就会使效率提高很多。 我 们这个类中有...
2011-07-14 13:17:39 183
原创 java proxy
代理?就是别人帮你管理叫代理. 举个例子 你是家里的主人,但是呢.家里有个活儿是开门的活儿..这个活儿呢,你可以招聘一个管家.来做这个开门的活儿.这个管家就是等于代理. 那为什么需要这个管家(代理)呢? 比如没有管家的时候,你做饭的时候有人来了,是你自己去开门,或者洗澡的时候来人了,也是你去开门,或者你大便的时候人来了也需要你自己去开门,但是呢有了管家之后你不需要做这个开门的活儿....
2011-07-12 16:31:38 85
原创 数据库索引优缺点
创建索引可以大大[color=red]提高[/color]系统的[color=red]性能[/color]:第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中...
2011-07-06 22:01:06 111
原创 tomcat jvm的问题~~~~~~
这里有个jvm的问题,由于对这个理解不是深。希望大家来讨论~~~~~~tomcat下面有2个projects,每个project都有com.xx.Test.java (注意:包都是一样)这个类。请问tomcat在加载这2个projects的时候,是怎么区分Test这个类的!求解 ...
2011-07-05 10:15:03 84
原创 某牛企一sql面试题目~~~~~~~~
有report表:它里面 id name state customerid 四个字段,id为主键 ,customerid为外键state 0, 1,2 // 未使用 更新 删除根据customerid写一条sql (注意是一条)生成表的结构如下: customerid state-0 state-1 state-2 001 1...
2011-07-01 15:21:22 83
原创 Linux命令free详解
前段时间有个项目的用C写的,性能测试时发现内存泄露问题。关于怎么观察内存使用问题,free是很好用的一个命令。bash-3.00$ freetotal used free shared buffers cachedMem: 1572988 1509260 63728 0 62800...
2011-06-29 10:10:06 121
原创 Linux之VI命令详解
vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人,或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必将畅行无阻、游刃有余,因为其他几种文本处理器并非UNIX标准配备。说不定别人的Linux机器没安装joe或pico,如果您不会vi,那您可能就没辄了。vi的基本...
2011-06-16 15:30:43 108
原创 如何用IN、LIMIT、CONCAT、DISTINCT等MySQL关键字
记录一些select的技巧:1、select语句可以用回车分隔$sql="select * from article where id=1"和 $sql="select * from articlewhere id=1",都可以得到正确的结果,但有时分开写或许能更明了一点,特别是当sql语句比较长时2、批量查询数据可以用in来实现$sql...
2011-06-14 11:11:04 182
原创 linux 问题
shell入门的拦路虎 syntax error: unexpected end of file问题的解决办法 dos文件转换成 unix 文件格式 dos 格式 文件 传输到 unix 系统时 , 会在每行的结尾多一个 ^M , 当然也有可能看不到 , 但是在 vi 的时候 , 会在下面显示此文件的格式 , 比如 "dos.txt" [dos] 120L, 2532...
2011-04-27 17:56:29 93
原创 javascript基础知识大集锦(1)
转载:http://www.iteye.com/topic/867588主要知识点:js数组,数字函数,字符串函数,表单验证,hashMap,堆栈,日期函数,call函数 等。next:js正则表达式,闭包,apply,callee,事件相关函数,Cookie等1.javascript的数组API[code="java"]//定义数组 var pageId...
2011-04-02 10:52:36 91
原创 清空数组的两种方式
link: http://www.iteye.com/topic/893955方式一,length赋值为0 这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值。如 [code="java"]int[] ary = {1,2,3,4};ary.length = 0; [/code]Java中会报错,编译通不过。而JS中则可以,且...
2011-04-02 09:27:58 250
出血推荐-使用Struts上传文件
2007-06-04
sql 性能优化,求教~~
2012-01-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人