自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(131)
  • 资源 (1)
  • 收藏
  • 关注

转载 详解MySQL中EXPLAIN解释命令

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:explain select surname,first_name form a,b where a.id=b.id EXPLAIN列的解释:table:显示这一行的数据是关于哪张

2015-07-16 17:45:48 556

转载 HashMap 死循环的问题

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java的HashMap是非线程安全的,所以在并发下必然出现问题。但是,我发现近几年,很多人都经历过这个事(在网上查“HashMap Infinite Loo

2015-07-10 10:03:23 768

转载 mysql相关时间函数

区别:FROM_UNIXTIME(time,'%Y-%m-%d'):返回2014-05-19,如果不加'%Y-%m-%d',则默认返回2014-05-19 15:03:06。 其中time是10位时间戳。DATE_FORMAT(date,'%Y-%m-%d'):返回:2014-05-19,如果不加'%Y-%m-%d',则默认返回2014-05-19 15:03:06。 其中date

2015-07-08 20:27:31 1016

转载 java源码分析之ArrayList

一直都知道arraylist的底层实现是用数组。其数组的大概操作原以为都知道,直到同学问了我这样一个问题:如果:刚new了一个arraylist,然后直接set(10, int 1)会出现什么情况?当时我的第一反映就是:这样做应该有问题。很简单的一个问题,如果不设置前面的数据,如果判断这个数组的长度呢?结果代码: List list = new ArrayList(); list.

2015-07-02 22:08:29 505

转载 [多线程_reentrantlock公平锁与非公平锁]

转自:http://www.tuicool.com/articles/niee6vu总括:   在Java的ReentrantLock构造函数中提供了两种锁:创建公平锁和非公平锁(默认)。代码如下:public ReentrantLock() {sync = new NonfairSync();}在公平的锁上,线程按照他们

2015-07-01 13:42:05 786

转载 一致性hash

参考博客:http://www.cnblogs.com/haippy/archive/2011/12/10/2282943.html参考Java实现代码:http://www.blogjava.net/hello-yun/archive/2012/10/10/389289.html.

2015-06-29 20:45:17 352

转载 PHP源码分析

转自博客:http://www.cnblogs.com/xia520pi/p/3695991.html收集一些对PHP研究较深的文章,方便平时的查阅。  1)弱类型变量实现  2)PHP的生命周期  3)变量的引用计数、写时复制(Reference counting & Copy-on-Write)  4)变量的存储方式  5)数组  6)HashTable A

2015-06-22 15:31:11 432

转载 php中 inlcude 与 require 的区别

转自博客:http://www.cnblogs.com/xia520pi/p/3697099.html1、概要   require()语句的性能与include()相类似,都是包括并运行指定文件。不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换require()语句)。这就意味着如果可能执

2015-06-22 15:28:58 1079

原创 【Java转php】数组篇

LZ之前一直学习Java,最近刚转php,将学习的笔记记录下来。1.定义       个人首先觉得,php中的数组与Java相比,有个区别很大的地方就是定义。数组大小:想想,我们在Java要定义一个数组,首先要知道:数组的基本类型、数组的大小。如果定义一个长度为3的int数组:int[] intValue = new int[3];定义之后,我们在向其赋值或者在定义时候

2015-06-20 18:45:11 2247

原创 nginx整合多个tomcat

整了两三天,总算是有点眉目了和经验了。总结下:在这篇文章之前,先看下:http://cxshun.iteye.com/blog/1535188’里面有讲如何整合nginx和单个tomcact!nginx主要的配置都在nginx.conf文件里面。而负载均衡的相关模块主要是在http模块里面。下来看下说明以及配置:http { include mime.types

2015-06-02 16:46:30 4161

原创 【redis入门】 redis常用的键

设置键值:set key valueset name michael获取键值:get keyget name获取制定健的值的序列化版本:dump keydump name判断该健是否存在:exists keyexists name制定键的过期时间:expire key secondsexpire name 3

2015-06-02 10:22:59 895

转载 centos下安装redis,并且设置自启动脚本

1.安装tcl支持yum install tcl  2.安装redis我们以最新的2.8.9为例$ wget http://download.redis.io/releases/redis-2.8.9.tar.gz$ tar xzf redis-2.8.9.tar.gz$ cd redis-2.8.9$ make$ make test$ make instal

2015-06-01 20:27:11 808

转载 tomcat结合nginx使用小结

很经典的一片文章:http://cxshun.iteye.com/blog/1535188

2015-05-31 21:27:09 495

原创 函数的使用

两中格式用来定义函数:fcuntion name {} 注意name和{之间有空格name() {commands}函数的使用:#!/bin/bashfunction fun1 { //一定注意函数名和{之间的空格 echo "this is function"}count=1while [ $count -le 5 ]do fun

2015-05-27 10:12:35 492

原创 数据的重定向

Linux文件的标准文件描述符0          STDIN       标准输入1          STDOUT   标准输出2          STDERR    标准错误重定向标准输出:ls -a > text重定向标准输入:cat 重定向标准错误(将文件描述符放在>之前)ls -al mich 2> error如果将错误和输出同时重定向到一

2015-05-25 15:11:09 874

原创 read命令

read命令接受从标准输入或者另一个文件描述符的输入。下面来看实例。参考自:《shell脚本大全》#!/bin/bashecho -n "input your name"read nameecho "hello $name,welcome当执行时,输入姓名  michael jack(注意之间有空格),输出很好的显示 hello  michael jack,welcome~

2015-05-25 11:58:21 677

原创 【leetcode】 Maximum Subarray

题目描述: Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [−2,1,−3,4,−1,2,1,−5,4],the contiguous subarray [4,−1,2,

2015-05-25 09:51:33 371

原创 【leetcode】 Regular Expression Matching

题目:Implement regular expression matching with support for '.' and '*'.'.' Matches any single character.'*' Matches zero or more of the preceding element.The matching should cover the entire inp

2015-05-25 08:47:32 424

原创 事务的隔离级别

在阐述隔离级别之前,先详细的介绍三个概念:脏读:脏读又称无效数据的读出,是指在数据库访问中,事务T1将某一值修改,然后事务T2读取该值,此后T1因为某种原因撤销对该值的修改,这就导致了T2所读取到的数据是无效的。比如说银行卡转账,A向B转5000元。对于数据库方面的操作是A的账户减少5000,B的账户增加5000.当A给B转帐后,B的账户先增加5000,此时,B去查看账户,发现钱已经收

2015-05-24 12:22:29 493

原创 CentOs开放自己需要的端口

第一次在Centos地下搭建了一个web项目,但是从别的机器上就是无法连接上。但是本地却可以连接。查了查,原来是centos防火墙的问题。#关闭防火墙/etc/init.d/iptables stop#重启防火墙以便改动生效:(或者直接重启系统)/etc/init.d/iptables restart如果想开放某个端口的话,如下操作:/sbin/iptables -I INPU

2015-05-20 14:45:15 20203 3

转载 linux的软连接和硬链接

1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。【硬连接】硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一

2015-05-20 10:04:56 385

转载 su与sudo su之间的区别

转自:http://johnkpaul.tumblr.com/post/19841381351/su-vs-sudo-su-vs-sudo-u-isu 执行该命令,需要输入password,它是中定义的用户的password,即,要变换成的用户的password。(如果已经用root登录,则无需输入password)该命令改变user id,执行过后,以中定义的用户运行sh

2015-05-19 17:41:44 492

原创 【数据库复习_事务】

一.什么是事务事务是指单个逻辑单元执行的一系列操作。当前的mysql中,只有innodb和bdb引擎实现了事务的ACID。所谓ACID,指的是:Atomic(原子性),Consistent(一致性),Isolated(隔离性),Durable(持续性)四个词的首字母所写原子性:组成事务处理的语句形成了一个逻辑单元,不能只执行其中的一部分。换句话说,事务是不可分割的最小单元。比如:银

2015-05-17 13:00:57 587

转载 【数据库复习_自定义函数】

先来一个简单的,创建一个函数将'2009-06-23 00:00:00'这样格式的datetime时间转化为‘2009年6月23日0时0分0秒’这样的格式:delimiter // create function getdate(gdate datetime) returns varchar(255) begin declare x varchar(255) default

2015-05-17 12:08:05 725

原创 【数据库复习_游标】

一,什么是游标(cursor)个人觉得就是一个cursor,就是一个标识,用来标识数据取到什么地方了。你也可以把它理解成数组中的下标。二,游标(cursor)的特性1,只读的,不能更新的。2,不滚动的3,不敏感的,不敏感意为服务器可以活不可以复制它的结果表游标(cursor)必须在声明处理程序之前被声明,并且变量和条件必须在声明游标或处理程序之前被声明。

2015-05-16 14:46:20 561

转载 【多线程_提高】 synchronized VS lock

1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候     线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定,     如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断     如果 使用ReentrantLock,如果A不释放,可以使B在等待了足够长

2015-05-15 10:49:37 461

原创 【多线程_提高篇】 线程的关闭

在之前的JDK版本中,线程的停止可以使用其自带的API,thread.stop、thread.suspend等;然后在之后就被废弃。原因可以看下我转载的blog:thread.stop被废弃的原因。同时在那篇博客中提到了三种停止线程的方法:1. 使用violate boolean变量来标识线程是否停止2. 停止线程时,需要调用停止线程的interrupt()方法,因为线程有可能在wai

2015-05-15 09:05:37 666

转载 【多线程_提高篇】 thread.stop禁用的原因

为什么不能使用Thread.stop()方法?从SUN的官方文档可以得知,调用Thread.stop()方法是不安全的,这是因为当调用Thread.stop()方法时,会发生下面两件事:1. 即刻抛出ThreadDeath异常,在线程的run()方法内,任何一点都有可能抛出ThreadDeath Error,包括在catch或finally语句中。2. 释放该线程所持有的所有的锁

2015-05-15 08:45:58 3744 2

转载 【数据库复习_触发器】

触发器(trigger):监视某种情况,并触发某种操作。.触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete)3.触发时间(after/before) 4.触发事件(insert/update/delete)语法:create trigger triggerNameafter/before insert/update/d

2015-05-13 11:19:58 758

原创 【数据库复习_存储过程】

一.什么事存储过程存储过程:是一组为了完成特定功能的SQL语句集。经编译后存放在数据库中,用户通过指定的存储过程的名字并给定参数来调用执行他。优点:     1 通过把处理封装在容易使用的单元中,简化复杂的操作      2 由于不要求反复建立一系列处理步骤,这保证了数据的完整性。如果开发人员和应用程序都使用了同一存储过程,则所使用的代码是相同的。还有就是防止错误,需要执行的步骤越

2015-05-13 09:18:57 761

原创 【数据库复习_视图】

一.什么是视图视图是从一个或多个表中导出来的表,是一种虚拟存在的表。除非是视图索引,否则视图的数据不会存储在数据库中。二.视图的作用1.使操作简单化,可以对经常使用的查询定义一个视图,使用户不必为同样的查询操作指定条件2.增加数据的安全性,通过视图,用户只能查询和修改指定的数据。3.提高表的逻辑独立性,视图可以屏蔽原有表结构变化带来的影响。

2015-05-12 14:52:25 354

原创 【数据库复习_操作结果集】

1.合并结果集union运算符可以将两个或多个select语句的结果组合成一个结果集。语法格式:select_statement uniom [all] select_statementselect_statement是要组合的select语句,各语句中对应结果集列的顺序必须相同看下事例:        (把两次或多次的查询结果合并起来,要求查询的列数一致,推荐查询

2015-05-12 11:16:53 516

转载 【数据库复习_查询的逻辑处理】

对于一条标准的SQL语句:SELECT DISTINCT FROM table WHERE GROUP BY HAVING ORDER BY查询的逻辑处理过程是分阶段完成的。每个阶段都会产生一张虚拟表,该表会作为下一个阶段的输入。这些中间过程产生的虚拟表不可用。只有最后生成的虚拟表才返回给查询用户。下图说明了执行步骤:下面是对逻辑处理过程中各个步骤的说明,

2015-05-12 10:35:14 866

原创 【数据库复习_基本查询】

基本的select语句包含以下4部分内容:select select_listfrom table_listwhere search_conditions group by group_by_list having search_conditionorder by order_list.下来详细描述下:1、where常用运算符: 比较运算符

2015-05-11 16:22:33 451

原创 【数据库复习_索引】

首先,看下书上写的一句话:如果,你的表数据日常更新比较少,应当使用索引技术。一.索引的类型索引大致可以分为聚集索引、非聚集索引、全文索引、xml索引和空间索引5大类型。此外包括唯一索引、列索引、索引视图、筛选索引。1.聚集索引:表中数据行的物理顺序与聚集索引的物理顺序一致。因此每张表只能有一个聚集索引。2.非聚集索引非聚集索引具有独立于数据行的结构。非聚集索引包含的

2015-05-11 10:15:23 639

原创 【多线程_提高篇】 创建高效且可伸缩的结果缓存

本文摘自看下面的例子:public interface Computable{ V computer(A args) throws InterruptedException ;}public class ExtensiveFunction implements Computable { @Override public BigInteger computer(String a

2015-05-06 22:25:14 560

原创 【多线程_并发工具】 信号量_Semaphore

信号量可以用来限制访问公共资源。在访问公共资源之前,线程必须从信号量获取许可。在访问资源之后,这个线程必须将许可返回给信号量.主要方法: void acquire() 从此信号量获取一个许可,在提供一个许可前一直将线程阻塞,否则线程被中断。 void release() 释放一个许可,将其返回给信号量。 Semaphore可以用于实现资

2015-05-06 21:36:50 549

转载 【多线程_提高】 Java中断机制

1. 引言当我们点击某个杀毒软件的取消按钮来停止查杀病毒时,当我们在控制台敲入quit命令以结束某个后台服务时……都需要通过一个线程去取消另一个线程正在执行的任务。Java没有提供一种安全直接的方法来停止某个线程,但是Java提供了中断机制。如果对Java中断没有一个全面的了解,可能会误以为被中断的线程将立马退出运行,但事实并非如此。中断机制是如何工作的?捕获或检测到中断后,是抛出Inte

2015-04-28 15:04:59 401

原创 【数据库复习_表管理】

1.数据页           数据页是存储的基本单位。           表数据都存储在数据页中。在Sql Server中页的大小为8KB。每个数据页中包含页标头、数据行以及行偏移量。          页标头:使用每页开头的前96个字节,用于存储有关页的系统信息。其余用于存储数据行和行偏移量。2.区         区是管理空间的基本单位。

2015-04-27 21:21:47 428

原创 【多线程_并发工具】 栅栏_CyclicBarrier

栅栏:阻塞一组线程直到某个事件发生。从概念理解起来,你可能会说:这不和闭锁一样吗?栅栏和闭锁的最大区别就是:所有线程必须同时到达栅栏位置,才能执行。闭锁:用于等待时间。栅栏:用于等待其他线程。除此之外,闭锁是一次性对象,一旦进入终止状态,就不能重置。而栅栏可以使一定数量的参入方反复的在栅栏位置汇集。栅栏的主要方法:await()awa

2015-04-27 16:54:54 989

dwr单点推送

dwr实现精确推送源码

2014-12-13

空空如也

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

TA关注的人

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