- 浏览: 10937 次
最新评论
文章列表
最近一直忙着做项目重构,老系统的架构层级太多(3层nginx+1层squid,还不算中间的lvs等),优化系统架构也是工作之一。之前老系统用的前端页面缓存是squid,这次优化运维同事给出的建议是使用varnish来替代squid,所以先简单的了解一下varnish。
一、varnish简介
Varnish是一款高性能且开源的反向代理服务器和HTTP 加速器,它的开发者Poul-Henning Kamp是FreeBSD核心的开发人员之一。Varnish采用全新的软件体系机构,和现在的硬件体系配合紧密。在1975年时,储存媒介只有两种:内存与硬盘。而现在计算机系 ...
文件中包含3个字段(已排好序):举例如下:
news news_1 1234556
news news_1 1234557
news news_2 1234558
news news_2 1234559
sport sport_1 2234555
sport sprot_1 2234558
sport sport_2 2234556
sport sport_2 2234557
1根据第一个列,将第一列相同的写入同一个文件
awk '{print $2,$3 > $1}' file
2、切割成不同文件后,构造sql
想要如下效果(select * from ...
JVM中堆内存分为2部分:Permanent Space 和 Heap Space。
Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。
Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation),New 即 年轻代(Young Generation)。年老代和年轻代的划分对垃圾收集影响比较大。
年轻代
所有新生成的对象首先都是放在年轻代。年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象。年 ...
在linux平台下,设置core dump文件生成的方法:1) 在终端中输入ulimit -c 如果结果为0,说明当程序崩溃时,系统并不能生成core dump。2) 使用ulimit -c unlimited命令,开启core dump功能,并且不限制生成core dump文件的大小。如果需要限制,加数字限制即可。ulimit - c 10243) 默认情况下,core dump生成的文件名为core,而且就在程序当前目录下。新的core会覆盖已存在的core。通过修改/proc/sys/kernel /core_uses_pid文件,可以将进程的pid作为作为扩展名,生成的core文件格式为 ...
mysqladmin支持下列命令: create databasename 创建一个新数据库 drop databasename 删除一个数据库及其所有表 extended-status 给出服务器的一个扩展状态消息 flush-hosts 洗掉所有缓存的主机 flush-logs 洗掉所有日志 flush-tables 洗掉所有表
使用net.sf.json-lib.jar
依赖的jar包:
commons-collections.jar
commons-beanutils.jar
commons-lang.jar
commons-logging.jar
net.sf.ezmorph.jar
xom.jar
代码其实挺简单,几行就可以
import net.sf.json.JSON;
import net.sf.json.xml.XMLSerializer;
//核心方法
public String convertXmlToJson(String xml){
XMLSerializer ...
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
import java.util.Map.Entry;
/**
*
* HTTP请求处理类
*
*
*/
public class HttpUtils {
public static final ...
表单提交出现中文乱码问题,可使用accept-charset属性
<form method="post" action="..." accept-charset="utf-8"> ... </form>
~ 为区分大小写字母的匹配。~* 不区分大小写字母的匹配(匹配aa的同时也匹配AA、Aa、aA)。 !~ 与~相反,表示区分大小写的不匹配 !~* 与~*相反,表示不分区大小写的不匹配 . 匹配除换行符以外的任意字符 \w 匹配字母、数字、下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 * 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n次或更 ...
参数
描述
-XX:+UseSerialGC
Jvm运行在Client模式下的默认值,打开此开关后,使用Serial + Serial Old的收集器组合进行内存回收
-XX:+UseParNewGC
打开此开关后,使用ParNew + Serial Old的收集器进行垃圾回收
-XX:+UseConcMarkSweepGC
使用ParNew + CMS + Serial Old的收集器组合进行内存回收,Serial Old作为CMS出现“Concurrent Mode Failure”失败后的后备收集器使用。
-XX:+UseParallel ...
原文链接 http://netwjx.github.io/blog/2012/07/07/encode-and-decode-unicode-escape-string/
在涉及Web前端开发时, 有时会遇到\uXXXX格式表示的字符, 其中XXXX是16进制数字的字符串表示形式, 在js中这个叫Unicode转义字符, 和\n \r同属于转义字符. 在其他语言中也有类似的, 可能还有其它变形的格式.
多数时候遇到需要解码的情况多点, 所以会先介绍解码decode, 后介绍编码encode.
下文会提供Javascript C# Java三种语言下不同方法的实现和简单说明, 会涉及到正 ...
public List<String> selectByIds(Set<String> ids, String tableName) { if (ids == null || ids.size() <= 0 || StringUtils.isEmpty(tableName)) { return null; } Map<String, Object> map = new HashMap<String, Object>(); map.put("t ...
在JVM几个运行时数据区域中,除了程序计数器之外,其他几个区域都会出现内存溢出(OutOfMemory)的异常。下面通过几段代码来实例验证一下,同时可以熟悉一下JVM的启动参数。
1、JAVA虚拟机栈
JVM规范中描述了栈的两种异常:如果线程请求的栈深度大于虚拟机允许的栈深度就会抛出StackOverflowError异常;如果虚拟机在扩展栈时无法申请到足够的内存空间就会抛出OutOfMemoryError异常。虽然分为两种异常,但也会存着一些互相重叠的地方:当栈空间无法继续分配时,到底是内存太小还是已占用的栈空间太大,本质上可以看成是一件事情的两个描述。
Jvm
第一章:JAVA内存区域介绍
对于JVM内存的分类,我们常常会划分两种:栈内存(Stack)和堆内存(Heap),栈中保存的是各种基本的数据类型(boolean、bytes、char、short、int、flioat、long、double等),而new出来的对象实例都会保存在heap堆内存中,之所以会这么划分是由于在编码过程中往往只会涉及到这两部分。根据JVM规范里虚拟机结构的描述,jvm运行时数据区划分为以下几部分:程序计数器(PC register)、虚拟机栈(JVM statck)、本地方法栈(Native method Stack)、堆(Heap)、方法区(Method Area)
( ...