`
文章列表
Nginx 使用 liunx/Unix 下常用的 './configure && make && make install' 过程来编译安装。 configure 脚本确定系统所具有一些特性,特别是 nginx 用来处理连接的方法。然后,它创建 Makefile 文件。 configure 支持下面的选项: --prefix=<path> - Nginx安装路径。如果没有指定,默认为 /usr/local/nginx。 --sbin-path=<path> - Nginx可执行文件安装路径。只能安装时指定,如果没有指定,默认为< ...
Nginx 服务器的安装及配置文件详解如下: 一、安装依赖的程序 1. gzip module requires zlib library(http://www.zlib.net/) 2. rewrite module requires pcre library  (http://sourceforge.net/projects/pcre/files/) 3. ssl support requires openssl library (http://www.openssl.org/) 根据实际情况安装时确定,我在安装的时候,只缺少了pcre这个库http://sourceforge.net/p ...
感谢各位网友提供资料,在此进行整理后放到自己的文章中: Google了半天,发现关于CLOSE_WAIT的问题一般是C的,Java似乎碰到这个问题的不多(这有一篇不错的,也是解决CLOSE_WAIT的,但是好像没有根本解决,而是选择了一个折中 ...
(1)类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。 Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此。对于域名扩展名称,如com,org,net或者edu等,全部都应小写(这也是Java 1.1和Java 1.2的区别之一)。 (2) 为了常规用途而 ...
Java库本身就有多种线程安全的容器和同步工具,其中同步容器包括两部分:一个是Vector和Hashtable。另外还有JDK1.2中加入的同步包装类,这些类都是由Collections.synchronizedXXX工厂方法。同步容器都是线程安全的,但是对于复合操作,缺有些缺点: ① 迭代:在查觉到容器在迭代开始以后被修改,会抛出一个未检查异常ConcurrentModificationException,为了避免这个异常,需要在迭代期间,持有一个容器锁。但是锁的缺点也很明显,就是对性能的影响。 ② 隐藏迭代器:StringBuilder的toString方法会通过迭代容器中的每个元素, ...
    最近在做一个项目,发现jvm出现core,这让java程序员就悲剧了,我也开始很悲剧的,以前都只知道c++的会core,没想到java程序也core了。废话少说:     Java的应用有时候会因为各种原因Crash,这时候会产生一个类似java_errorpid.log的错误日志,我的日志文件名为:hs_err_pid32265.log。包括一个进程ID,这个时候其实还有core文件,一般是这样的core.pid,我的core文件为:core.32265 ,core文件的查看需要使用gdb来查看,查看java core文件使用:gdb java core.32265(core文件);j ...
一、JVM内存的设置的原理 默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.lang.OutOfMemoryError。 设置jvm内存的方法,对于单独的.class,可以用下面的方法对Test运行时的jvm内存进行设置。 java -Xms64m -Xmx256m Test -Xms是设置内存初始化的大小 -Xmx是设置最大能够使用内存的大小(最好不要超过物理内存大小) 二、JVM内存分配设置 1. JVM内存分配设置的参数有四个: -Xmx    Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定 ...
GC垃圾回收: Grabage Collection相信学过JAVA的人都知道这个是什么意思.但是他是如何工作的呢? 首先,JVM在管理内存的时候对于变量的管理总是分新对象和老对象。新对象也就是开发者new出来的对象,但是由于生命周期短,那么他占用的内存并不是马上释放,而是被标记为老对象,这个时候该对象还是要存在一段时间。然后由JVM决定他是否是垃圾对象,并进行回收。 所以我们可以知道,垃圾内存并不是用完了马上就被释放,所以就会产生内存释放不及时的现象,从而降低了内存的使用。而当程序浩大的时候。这种现象更为明显,并且GC的工作也是需要消耗资源的。所以,也就会产生内存浪费。 JVM中的对象 ...
lsof简介 lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) ...
Java NIO(网络传输协议)非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内 ...
tar包压缩方法 /**      * 压缩文件为TAR包。并删除之前文件      * @author liujunliang      * @creaetime Aug 2, 2011 3:21:46 PM      * @param filesPath  文件路径      * @param tarPath tar 路径      */ public static void fileTar(String filesPath, String tarPath) { List<String> list = null; list = file2tar(filesPath, ...
/** * UCS2解码 * @param src UCS2 源串 * @return 解码后的UTF-16BE字符串 * @throws Exception */ public static String DecodeUCS2(String src) throws Exception {    byte[] bytes = new byte[src.length() / 2];    for (int i = 0; i < src.length(); i += 2)    {     bytes[i / 2] = (byte) (Integer.parseInt(src.sub ...
最近项目中需要使用获取操作系统路径问题,刚开始使用的是System.getProperty("user.dir")获取相对路径,但是这存在一个问题就是,我们使用shell脚本启动的时候, 如果启动的地方在其他地方,获取的路径地址就会在当前路径,而不是文件路径所在的位置。 如: 如果,启动的时候,直接在msgplus下面启动路径地址就在/home/msgplus下面,但是如果使用sh /home/msgplus/startup.sh启动,路径就在与home平级的目录。 于是到网上进查找资料,找了半天找到一些资料,终于可以完成本人所需要的功能, 现把此功能的核心部分写出来, /* ...
貌似java的IO、NIO的入门例子都有相关的Time Server Demo。本例为MINA官方Demo翻译过来而已。   MINA百科:    Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便      apache mina 利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序(只在最新的预览版中提供),MINA 所支持的功能也在进一步的扩展中。 ...
本文讲述crontab具体用法,以供备忘. 利用crontab来定时执行任务大致有如下三步: 1、编写shell脚本 2、利用crontab加入到定时任务队列 3、查看作业完成情况 一、如何建立shell脚本 Linux下有很多不同的shell,但我们通常使用bash(bourne again shell)进行编程,因为bash是免费的并且很容易使用 程序必须以下面的行开始(必须方在文件的第一行): #! /bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。 当编辑好脚本时,要想执行脚本,必须使脚本可以执行 ...
Global site tag (gtag.js) - Google Analytics