- 博客(57)
- 资源 (3)
- 收藏
- 关注
转载 Linux常用命令速查备忘
PS:备忘而已,详细的命令参数说明自己man一. 启动,关机,登入,登出相关命令[login] 登录[logout] 登出[exit] 登出[shutdown] 停止系统[halt] 停止系统[reboot] 重启动[poweroff] 切断电源[sync] 把内存里的内容写入磁盘[lilo] 安装lilo启动管理程序
2012-07-09 21:43:42 866
转载 tcpdump参数用法详解
一直在linux下开发的人一定会用到tcpdump,下面就是关于tcpdump的使用方法说明(1). tcpdump的选项-a 将网络地址和广播地址转变成名字;-d 将匹配信息包的代码以人们能够理解的汇编格式给出;-dd 将匹配信息包的代码以c语言程序段的格式给出;-ddd 将匹配信息包的代码以十进制的形式给出;-e 在
2012-07-09 21:40:50 959
转载 Linux Web服务器网站故障分析常用的命令
PS:整理一些Linux Web服务器网站故障分析常用的命令,内容均来源于网络。如果你是老手,什么好的命令集或者必杀技欢迎留言,丰富此文!系统连接状态篇:1.查看TCP连接状态netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rnnetstat -n | awk '/^tcp/ {++S[$NF]};END {for
2012-07-09 21:38:24 861
转载 优化Linux的内核参数来提高服务器并发处理能力
PS:在服务器硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题。要提高Linux系统下的负载能力,可以使用nginx等原生并发处理能力就很强的web服务器,如果使用Apache的可以启用其Worker模式,来提高其并发处理能力。除此之外,在考虑节省成本的情况下,可以修改Linux的内核相关TCP参数,来最大的提高服务器性能。当然,最基础的提高
2012-07-09 21:36:02 891
转载 淘宝使用的Web服务器Tengine(基于Nginx开发)开源了
我们很高兴的宣布由淘宝网核心系统部开发的Tengine服务器终于正式开源了。淘宝网是亚洲最大的电子商务网站,Alexa全球排名第12位。每天访问淘宝网的PV超过了几十亿。大压力的访问,对淘宝网的Web服务器提出了严苛的要求。经过一系列的对比,我们最终选择了Nginx作为我们的Web服务器,因为它性能高,又非常节省资源(CPU和内存),并且有足够的灵活性。一开始我们使用Nginx还仅
2012-07-09 21:25:49 2164
转载 常用的正则表达式全面总结
PS:正则表达式用于字符串处理、表单验证等场合,实用高效。以下表达式本人收集于网络,做了简单整理,以备不时之需。没有全部验证,可能会存在部分错误,读者请自己调试鉴别更正。匹配中文字符的正则表达式: [u4e00-u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^x00-xff]评注:可以用来计算字符串的长度(一个双字节字符
2012-07-09 21:17:39 1390
转载 Tomcat启动过程原理详解
基于Java的Web 应用程序是 servlet、JSP 页面、静态页面、类和其他资源的集合,它们可以用标准方式打包,并运行在来自多个供应商的多个容器。Web 应用程序存在于结构化层次结构的目录中,该层次结构是由 Java Servlet 规范定义的。Web 应用程序的根目录包含直接存储或存储在子文件夹中的所有公共资源,比如图像、HTML 页面等。构成:Web应用由Web组件(一组Java类库
2012-07-09 20:13:04 1074 1
原创 Memcached安装
版本:memcached-1.4.13由于memcahced使用 libevent库,libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。 为了发挥memcached在Linux、BSD、Solaris等操作系统上的高性能,因此这里先安装libevent库,版本是libevent
2012-06-24 22:35:45 826
转载 BTrace使用简介
很多时候在online的应用出现问题时,很多时候我们需要知道更多的程序的运行细节,但又不可能在开发的时候就把程序中所有的运行细节都打印到日志上,通常这个时候能采取的就是修改代码,重新部署,然后再观察,但这种方法对于online应用来说不是很好,另外一方面如果碰到不好改的代码,例如引用的其他的外部的包什么的,就很麻烦了,BTrace就是一个可以在不改代码、不重启应用的情况下,动态的查看程序运行细节的
2012-05-25 13:43:06 772
转载 JAVA核心层--反射--动态代理
要在JAVA技术上突破普通的层面,并拥有一翻设计理念的高度,除了要有很好的设计思维之外,反射在适当的使用下,将会把框架做得非常清晰,并且代码编写也非常简便。在面向对象的编程中,我们为什么要忌讳去大量使用if else switch语句,因为这样写是将逻辑硬编码了,JAVA的思想就是将其配置化,一旦可配置化后,就逐渐可管理化,并随着产品的成熟逐步实现自动化管理的过程(这又涉及到设计能力了),
2012-02-01 16:05:35 1416 1
转载 Java基础小技巧回顾--关于String点点滴滴
其实本文非常简单,不过有很多朋友经常问,网上很多例子也写个大概,很多人也只是知道和大概,就本文而来读起来非常的轻松,不过算是一些小技巧;但是我们的程序中相信用得最多的就是char数组和byte[]数组,而String就是由char[]数组组成的,一般情况下我们就可以认为String用得是最多的对象之一。有关Sring的空间利用率方面,这里不想多说,只能说很低很低,尤其是你定义的
2012-01-31 15:50:02 772
转载 析JAVA之垃圾回收机制
对于JAVA编程和很多类似C、C++语言有一个巨大区别就是内存不需要自己去free或者delete,而是由JVM垃圾回收机制去完成的。对于这个过程很多人一直比较茫然或者觉得很智能,使得在写程序的过程不太考虑它的感受,其实知道一些内在的原理,帮助我们编写更加优秀的代码是非常有必要的;本文介绍一些JVM垃圾回收的基本知识,后续的文章中会深入探讨JVM的内在;首先在看文章之前大家需要知道为什么要写JVM
2012-01-31 15:48:25 1440
转载 系统架构-性能篇章2(系统拆分1)
系统为什么拆分?系统做大了,并发量无法扛得住,如何做?业务做复杂了,单个应用中不能个性化,如何做?模块和逻辑对各类资源开销非常特殊,如何做?。。。。。。拆分、拆分、再拆分。由 全世界用一个系统表达全世界所有的企业和公司的业务开始,注定系统做大后必然拆分的走向,也就是一个大力士无法完成成千上万群众所能做到的一件大事,高集 成度的硬件和软件解决方案,为传
2012-01-31 15:47:18 6524 1
转载 系统架构-性能篇章1(应用系统性能2-OOM&参数配置)
对于JVM的内存写过的文章已经有点多了,而且有点烂了,不过说那么多大多数在解决OOM的情况,于此,本文就只阐述这个内容,携带一些分析和理解和部分扩展内容,也就是JVM宕机中的一些问题,OK,下面说下OOM的常见情况: 第一类内存溢出,也是大家认为最多,第一反应认为是的内存溢出,就是堆栈溢出:那什么样的情况就是堆栈溢出呢?当你看到下面的关键字的时候它就是堆栈溢出了:j
2012-01-31 15:46:21 2730
转载 系统架构-性能篇章1(应用系统性能1)
在前面的文章中,说了很多JVM和数据库方面的东西,我所描述的内容大多偏重于技术本身,和实际的业务系统结合的比较少,本文开始进入实际的系统设计中应当注意的方方面面(文章偏重于访问量高,但是每次访问量并不是很大的系统),而偏重点在于性能和效率本身,由于这个知识涉及的基础和面很广,所以建议是先看下以前写的内容或自己有一定的基础来才开始接触比较好,另外本文也不能诠释性能的关键,从一个应用系统前端到后端涉及
2012-01-31 15:44:14 988
转载 JVM第三篇(简单demo)
本来写完前面两篇JVM,已经不再想写这类似的东西,因为很多知识点很难吃透,即使写出来也很难让人理解,即使理解还不如看官方资料,不过还是鼓起勇气写下这篇文章,本文主要是demo去理解一些JVM的内存知识,版本为hotspot的1.6.24版本,不过本文不讲指令,只是模拟一些东西,类似于出题目,和大家一起来做下;本文几个简单实验不能说明所有问题,仅仅是分享一下理解JVM的内在和一些不可告人的秘密,以及
2012-01-31 15:43:29 1523
转载 认识JVM--第二篇
前一段写了一篇《认识JVM》,不过在一些方面可以继续阐述的,在这里继续探讨一下,本文重点在于在heap区域内部对象之间的组织关系,以及各种粒度之间的关系,以及JVM常见优化方法,文章目录如下所示:1、回顾--java基础的对象大概有哪些特征2、上一节中提到的Class加载是如何加载的3、一个对象放在内存中的是如何存放的4、调用的指令分析5、对象宽度对其问题及
2012-01-31 15:42:37 977
转载 认识JVM--第一篇
本来标题党想写成《深入JVM》,不过不太敢写,我想一小篇博客我想还不足以说明JVM,在本文中,会就我所知给大家介绍JVM的很多内部知识,概念会相对较粗,因为太细的内容要写,这里肯定写不出来;本文主要偏重理论,没有什么实践,中间除一些官方资料外,还有部分自身的理解,所以请大家不要完全信任本文内容;另外本文会有一小部分纠正以前一篇文章对于intern()使用方法的错误,本文会在其中说明使用错误的原因,
2012-01-31 15:41:01 2320
转载 系统架构-基础篇-(高性能基础建设说明与选型条件)
本文牵扯的面积可能会比较泛,或者说比较大,在这个层面很多人也有自己的见解,所以我这也仅仅是抛砖引玉,结合前面讲述的一些基础技术,从思想中阐述更为深入的架构思想基础,因为最好的架构思想是架构师结合实际情况思考出来最适合的架构,这里仅仅说明下一些常用的原理和思想,主要包含的内容有(内容很泛,所以都是简单阐述入门知识,具体后续深入探讨):1、app切分集群组扩展2、app集群组负载均衡
2012-01-31 15:39:48 1842 2
转载 从JAVA多线程理解到集群分布式和网络设计的浅析
由于最近工作原因,很久没有在CSDN上留下些啥,今天在这些篇文章,是关于java多线程的。对于JAVA多线程的应用非常广泛,现在的系统没有多线程几乎什么也做不了,很多时候我们在何种场合如何应用多线程成为一种首先需要选择的问题,另外关于java多线程的知识也是非常的多,本文中先介绍和说明一些常用的,在后续文章中如果有必要再说明更加复杂的吧,本文主要说明多线程的一下几个内容:1、在应用
2012-01-31 15:37:59 16143 5
转载 GC学习笔记
GC学习笔记这是我公司同事的GC学习笔记,写得蛮详细的,由浅入深,循序渐进,让人一看就懂,特转到这里。一、GC特性以及各种GC的选择1、垃圾回收器的特性2、对垃圾回收器的选择2.1 连续 VS. 并行2.2 并发 VS. stop-the-world2.3 压缩 VS. 不压缩 VS. 复制二、GC性能指标三、分代回收
2012-01-31 15:03:46 901
转载 第3章 垃圾收集器与内存分配策略
1概述 垃圾回收器(Garbage Collection,GC)。 三件事: 哪些内存需要回收? 什么时候回收? 如何回收? 2对象已死 堆中几乎存放着Java世界中所有对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象有哪些还“存活”着,哪些已经“死去”。 1、引用计数算法 基本算法是这样的:给对象添加一个引用计数器,每当有
2012-01-29 16:50:21 936
转载 Java内存分配、管理小结
P.S.想写这篇总结酝酿了有个来月了,却始终感觉还差点什么东西,一直未敢动笔。 最近两天连夜奋战,重新整理下前面查阅的资料、笔记,还是决定将它写出来。 现在提出几个问题,如果都能熟练回答的大虾,请您飘过.如以往一样,我是小菜,本文自然也是针对小菜阶层的总结。 首先是概念层面的几个问题: Java中运行时内存结构
2012-01-29 16:28:36 713
转载 Web服务器缓存
对URL映射进行缓存(SSI模式下对内容的通读),有什么提高?需要了解URL解析过程。 对于Apache,它提供了两个磁盘缓存和内存缓存mod_disk_cache,mod_mem_cache。mod_disk_cache在磁盘上维护了一块多个进程的缓存区,在性能上比mod_mem_cache还要好。 解决SSI吞吐率低的措施: 使用Web服务器磁盘缓存,这能大大提升吞吐率。
2012-01-29 16:24:17 2751
转载 反向代理缓存
传统代理: 用户隐藏在代理服务器之后。代理服务器工作在应用层,它只转发它支持的协议的数据。 反向代理(Reverse Proxy): 这种机制是Web服务器隐藏在代理服务器之后,实现这种机制的服务器称作反向代理服务器(Reverse Proxy Server)。此时,Web服务器成为后端服务器,反向代理服务器称为前端服务器。 引入反向代理服务器的目的之一就是基于缓存的加速。我们
2012-01-29 16:19:19 6298
转载 分布式缓存
基于动态内容的各种缓存,基本上都是基于页面缓存或局部动态内容的缓存。 页面缓存只提高了读数据的速度,并没有提高写数据的速度。 文件系统内核缓冲区成为页高速缓存,包括读缓存区和写缓存区。 memcached: memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。
2012-01-29 16:17:00 988
转载 Web组件分离
Web组件: 指Web服务器提供的所有基于URL访问的资源,保罗动态内容、图片、脚本、CSS等。 Web组件分离的目的: 采用针对性的方法,使得各种Web组件能够充分有效地利用服务器资源,达到符合各自实际情况的吞吐率最大化。 如何分离: (1)将Web组件分别独立部署,可位于不同的物理服务器或同一个物理服务器不同逻辑单元中,同时将不同的域名指向不同的Web组件服务器
2012-01-29 16:15:53 1792
转载 浏览器缓存
浏览器也是Web站点的组成部分。 Http缓存的目的就是彻底消灭不必要的请求。 一个原则: 尽可能将Web站点的内容缓存在用户浏览器中,这可在一定程度上减少服务器的计算开销,同时也可以减少重复传输带来的带宽浪费。(传输率越大,占用带宽越大) 不同浏览器的缓存地点: IE: 在工具/Internet选项/常规/Internet临时文件/设置 中可以
2012-01-29 16:13:32 1008
原创 Java内存区域与内存溢出异常
运行时数据区域: 方法区+堆->由所有线程共享。 虚拟机栈+本地方法栈+程序计数器->线程私有。程序计数器: 一块较小的内存空间,用于指标当前线程所执行的字节码行号。每个线程都需要一个独立的程序计数器,因此它是线程私有的。 此区域是JVM规范中唯一不会出现OutOfMemoryError的区域。JVM栈: 线程私有,生命周期与线程相同,描述
2011-12-27 21:47:11 1304
原创 共享文件系统
序: 一旦存在多台实际服务器提供同样的web服务时,一个潜在的问题就是如何保证多台实际服务器的程序和文件一致呢?13.1 网络共享 从使用角度看,共享文件系统几乎不用你考虑网络传输和访问的细节,完全可以像访问本地文件一样访问网络上其它服务器文件系统上的文件。这可以在一定程度上解决开始提的问题,即为集群中的多台实际服务器共享同一台物理存储设备。 刚才提到的同一
2011-12-05 15:08:42 6473
原创 动态内容缓存
4.1 缓存与速度 这里所说的动态内容缓存是自行实现的缓存机制,包括整页缓存、局部缓存、数据缓存等。 缓存的目的是把花费昂贵开销的计算结果保存起来,以后需要的时候直接取出,避免重复的计算,一切缓存的本质都是如此。 CPU缓存是位于CPU和内存之间的临时寄存器,它的容量不大,但交换速度高于内存,CPU把频繁交换的数据放在缓存中,以后需要的时候直接从缓存中读出,从而避免访
2011-12-03 12:41:51 6530
原创 Web负载均衡
序: 对Web站点扩展一开始不宜过早,除非是基于高可用性和就近部署的考虑。但对于架构师而言,在架构设计之初就要有扩展的计划,关键是要清楚何时进行扩展。这里先介绍的是水平扩展,所谓的扩展是通过扩展规模来提升承载能力的本领。这种本领往体现在增加物理服务器或集群节点,这种本领发挥强,可提升的承载空间越大,但往往也受到其它的约束比如单机的限制、成本等。12.1 一些思考 对于web
2011-12-01 20:26:19 5766 1
原创 服务器并发处理能力
序: 这里指的服务器是指提供HTTP服务的服务器,人们通常衡量一台web服务器能力的大小为其在单位时间内能处理的请求数的多少。3.1 吞吐率 Web服务器的吞吐率是指其单位时间内所能处理的请求数。更关心的是服务器并发处理能力的上限即最大吞吐率。 Web服务器在实际工作中,其处理的Http请求包括对很多不同资源的请求即请求的url不一样。正因为这种请求性质的不同,W
2011-11-30 14:38:16 37570 4
原创 数据库性能优化(MySQL)
序: 即使有较长的缓存有效期和较理想的缓存命中率,但是缓存的创建和缓存过期后的重建都是需要访问数据库的。对数据库写操作不是很容易引入缓存策略。11.1 查看数据库状态 可以通过show status、show innodb status 来查看MySQL数据库的状态,使用mysqlreport这个第三方工具可使数据库状态报告更好看(mysqlreport本质是通过MySQL
2011-11-29 21:51:04 2094 1
转载 解决进入GlassFish3控制台慢的方法
由于项目中经常要发版本,所以几乎每天都要进入GlassFish控制台进行工程部署,但发现公司服务器上安装的GlassFish进入其控制台非常慢,所以在网上找了一下解决方案,特意记下来怕以后忘记。1. ./asadmin stop-domain domain12. vi d
2011-09-21 10:22:48 2329
原创 JQuery文件浏览器插件使用示例
index.jsp:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> JQuery文件浏览器插件示例 <!--
2011-06-15 11:34:00 17798 3
原创 MongoDB+Struts2+JQuery.formValidator插件的web应用示例
/** * 此次应用涉及的几个小知识点为: * 1.MongoDB的插入和更新操作 * 2.Struts2的最基本使用 * 3.单例设计模式的简单使用 * 4.JQuery form验证表单插件的使用 */ /** * MongoDBWebTest * 注册 */package com.labci.mongodb.web.action;
2011-06-12 17:26:00 3698 3
原创 Struts2+JQuery.uploadify插件实现带进度的多文件上传示例
/** * Struts2Test * 顺便的文件下载的Action */package com.labci.struts2.action;import java.io.FileInputStream;import java.io.InputStream;import java.io.OutputStream;import javax.servlet.http.Ht
2011-06-11 11:49:00 20543 34
原创 Struts2(多)文件上传和下载使用示例
/** * Struts2Test * 使用Struts2上传文件 */package com.labci.struts2.action;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.ArrayList;imp
2011-06-08 21:42:00 7424 3
原创 itext生成PDF设置页眉页脚等
/** * ITextTest * iText生成PDF加入列表,注释等内容,同时设置页眉和页脚及页码等。 */package com.labci.itext.test;import java.awt.Color;import java.io.FileNotFoundException;import java.io.FileOutputStream;import j
2011-06-06 20:47:00 32690 8
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人