自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Tengine简介和安装使用方法

Tengine是淘宝开发的基于nginx的应用服务器,反向代理服务器。它兼容nginx的所有配置,并且在其上增加了很多实用的功能,例如动态模块加载,集成lua语言进行扩展等,在性能方面有了比较大的改进。下面是Tengine独有的部分功能,查看全部等前往官网,地址是http://tengine.taobao.org/。一、Tengine部分特性1.nginx -m 查看所有已经加载的模块...

2015-05-31 16:50:55 2899

原创 MySQL B+树索引及索引优化

    MySQL的索引实现由很多种实现,包括hash索引,B+索引,全文索引等,本文只讨论B+树索引。为什么使用B+树索引?1.评价一个索引好坏主要看IO的访问次数,B+树红黑树来说,树高很小(出度很大)即可以有效降低IO的访问次数。B+数的高度h=logd(n),d越大,h越小,查询效率越高。相对B树,B+树d可以很大,因为非叶子节点不存储数据,只存储key,在一个存储页上可以存储...

2015-05-31 16:18:27 421

原创 一个简单的php例子

    最近工作中要快速开发个小程序,简单的提供http服务,解析参数,并且存到数据库,同事建议不用java,使用php来完成。果然开发十分快速,从一点不懂到开发完成两个小时。个人感觉php有如下特点:1.弱类型语言,没有变量类型,数据类型有字符串,整数,浮点数,数组,对象等;2.php只能开发服务器程序,不能开发桌面程序;3.php没有程序包的概念;4.php执行热部署,运...

2015-05-28 18:43:55 248

原创 shell实现查询数据库发送邮件和短信报警

    使用shell脚本编写程序定时查询数据库,根据数据库结果发送短信和邮件。定时任务使用crontab实现,具体实现如下。1. crontab 定时执行任务crontab -e进行编辑,使用方法类似于vi,例子:0 * * * * bash /home/work/opt/nginx/sbin/nginx_log.sh2. 完整脚本#!/bin/bashif [ $# ...

2015-05-28 18:31:40 1027

原创 shell从svn远程打包部署工程

    通过SVN的分支功能,实现同套代码进行测试和上线,有效提高开发自动化和上线质量。    qa在客户端执行部署脚本(xxx.sh tagxxx),部署脚本能够执行中间机上的远程脚本实现从SVN下载指定分支代码,编译,打包,发送部署包到本地,然后在本地部署,重启服务器。 1客户端执行的shell脚本 #!/bin/sh#set dir [index $argv 0]...

2015-05-28 18:25:29 472

原创 常用shell脚本,持续添加中

1.tail -f filename 将文件最后内容显示出来。适用于查看动态改变内容的文件。2.netstat -nl|grep 8080 查看某个端口是否被占用。3.jps 查看所有java进程及进程号。4.ps aux|grep java5.top 实时查看进程运行状态的命令。6.lsof -i:  查看端口被占用。7.netstat -nlp|grep 端口 查看...

2015-05-28 17:34:40 148

原创 Java多线程编程线程的协同、停止、暂停、继续等操作实现

      Java线程是Java执行的基本单元,单线程程序编写比较简单,但是处理效率不高。随着CPU核心数量的增加和对程序高性能的要求,多线程编程也成为必然的趋势。      Java提供了至少三种实现线程的方式,一种是Runnable,一种是Thread,还有一种是线程池的方式。1.Runnable方式:Thread t = new Thread(new Runnable(){...

2014-12-17 16:44:57 519

原创 Java IO 模型

    Java的IO模型分为BIO,NIO和AIO,本文重点介绍BIO,NIO。只从原理角度介绍,比较他们的异同和各自特点,分析linux提供的IO系统调用及Java NIO实现原理。并且介绍一下NIO具体实现netty框架。1.Linux IO模型和系统调用    Linux系统结构如下所示:    Linux的内核定义了TCP/IP协议簇的实现,系统调用提供了API供应用...

2014-12-05 20:08:59 99

原创 TCP状态详解(转)

CLOSED: 表示初始状态。LISTEN: 表示服务器端的某个SOCKET处于监听状态,可以接受连接。SYN_SENT:在服务端监听后,客户端SOCKET执行CONNECT连接时,客户端发送SYN报文,此时客户端就进入SYN_SENT状态,等待服务端的确认.SYN_RCVD: 表示服务端接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手...

2014-10-21 18:31:33 119

原创 java并发【ReentrantLock Condition】

 *Lock ReentrantLock Condition       ReentrantLock可以实现synchronized关键字的功能,还可以实现停止等待线程执行,定时停止等待线程执行,通过投票获取锁等操作。在高并发条件下,相比Synchorized具有更好的性能表现。ReentrantLock类可以实现公平锁和不公平锁,默认情况下是不公平锁。不公平锁消耗的系统资源少,性...

2014-10-16 18:10:14 87

原创 Java并发【Synchronized】

       使用场景:不论什么时候,只要您将编写的变量接下来可能被另一个线程读取,或者您将读取的变量最后是被另一个线程写入的,那么您必须进行同步。Java同步机制大概可以分为三种,synchronized和volatile;ReentrantLock和Condition;和automic和concurrent包下具有原子性操作的类。 1.synchronized和volatile...

2014-10-16 17:53:15 89

原创 java内存管理【转】权威

Java垃圾收集器   概述  说起垃圾收集(Garbage Collection,GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史远远比Java久远,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期时,人们就在思考:  GC需要完成的三件事情:     哪些内存需要回收?    什么时候...

2014-10-08 21:33:02 104

原创 java内存管理和GC原理学习

java内存分为堆内存,永久存储区(方法区)内存,栈内存(虚拟机栈,程序计数器,本地方法栈)等。 堆内存分为新生代,老生代,新生代分为eden区,survivor0,survivor1区,堆内存由XX:Xmx,XX:Xms设置。新生代内存由XX:Xmn设置或者XX:NewSize;XX:MaxNewSize设置。 永久存储区用来存储class类,常量等信息,由XX:PermSi...

2014-10-08 18:43:26 150

原创 RocketMQ学习入门

一、部署1.从https://github.com/alibaba/RocketMQ下载安装包。2.tar -xf ***.tar 解压tar包。安装git yum install git3.echo $JAVA_HOME 确认安装java环境变量。4.export JAVA_HOME='*****' 设置环境变量。5.安装nameserver,打开安装路径的bin目录,执行 nohup mqn...

2014-10-08 13:29:22 266

java util包使用详解

对java util包用法详细介绍,介绍的很详细,可以很快掌握。

2009-03-30

空空如也

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

TA关注的人

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