摘要:
其中fixup和fixdown就是堆排序的使用。 /** * This class represents a timer task queue: a priority queue of TimerTasks, * ordered on nextExecutionTime. Each Timer object has one of these, which it * shares with its TimerThread. Internally this class uses a heap, which * offers log(n) performance for the add,... 阅读全文
摘要:
这个异常经过在jetty的一个简单程序的测试验证,确定问题及分析如下:这个程序在使用response输出结果时,先调用response的getWriter获得PrintWrite对象后输出内容,然后再调用getOutputStream方法获得outputStream对象后输出二进制内容,然后就跑出上面那个异常了。 这两个方法在jetty容易中是这么处理:
org.eclipse.jetty.server.Response继承自j2ee里面的HttpServletResponse.java类
org.eclipse.jetty.server.Response.java类里面 publ... 阅读全文
摘要:
最近有个需求需要对于获取URL页面进行host绑定并且立即生效,在java里面实现可以用代理服务器来实现:因为在测试环境下可能需要通过绑定来访问测试环境的应用
实现代码如下: public static String getResponseText(String queryUrl,String host,String ip) { //queryUrl,完整的url,host和ip需要绑定的host和ip InputStream is = null; BufferedReader br = null; StringBuffer res = n... 阅读全文
摘要:
jetty启动分析
jetty启动命令:java -jar /usr/alibaba/jetty/start.jar -Djetty.home=/usr/alibaba/jetty --ini=/home/admin/deploy/jetty/start.ini 如果加上--help参数,则显示jetty启动的参数设置和配置设置,如下:
#java -jar /usr/alibaba/jetty/start.jar -Djetty.home=/usr/alibaba/jetty --ini=/home/admin/deploy/jetty/start.ini --help
propertie. 阅读全文
摘要:
public class HttpStatus
{ public final static int CONTINUE_100 = 100; public final static int SWITCHING_PROTOCOLS_101 = 101; public final static int PROCESSING_102 = 102; public final static int OK_200 = 200; public final static int CREATED_201 = 201; public final static int... 阅读全文
摘要:
mysql> show table status like 'mytable' \G;*************************** 1. row *************************** Name: mytable 表名 Engine: InnoDB 存储引擎伟InnoDB Version: 10 mysql版本 Row_format: Compact 行格式。有Dynamic,fixed,Compact等格式。Dynamic是动态行,表字段里面宝航varchar,BloB等不定长字段。fixed是定长行。Compact是行压缩。 Ro... 阅读全文
摘要:
1.定义java类中的native方法,新建下面一个类public class NativeDemo { public static native void say(); //static的native方法 public native void sayHello(); //实例的native方法,两者的处理不一样 public static int number = 10; int a = 2; public void callThis(){ System.out.println("c++ c... 阅读全文
摘要:
import java.io.IOException;
import java.util.Arrays; import javax.tools.Diagnostic;
import javax.tools.DiagnosticCollector;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider; public class CompilerDemo { ... 阅读全文
摘要:
软件包 java.lang.management提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。接口摘要ClassLoadingMXBean用于 Java 虚拟机的类加载系统的管理接口。CompilationMXBean用于 Java 虚拟机的编译系统的管理接口。GarbageCollectorMXBean用于 Java 虚拟机的垃圾回收的管理接口。MemoryManagerMXBean内存管理器的管理接口。MemoryMXBeanJava 虚拟机的内存系统的管理接口。MemoryPoolMXBean内存池的管理接口。OperatingSystemMX 阅读全文
摘要:
安装mongodb$ # replace "1.6.4" in the url below with the version you want$ curl http://downloads.mongodb.org/linux/mongodb-linux-x86_64-1.6.4.tgz > mongo.tgz$ tar xzf mongo.tgz$ cd mongo$./mongod #启动服务器$./mongo #启动客户端1.mongodb 命令列表 Mongo查询语法与SQL语法对照表MySQL executableOracle executableMongo 阅读全文
摘要:
redis主从复制机器1. 一个master支持多个slave2. slave可以接受其他slave的连接,作为其他slave的master,从而形成一个master-slave的多级结构3. 复制在master端是非阻塞的,也就是master在向client复制时可处理其他client的命令,而slave在第一次同步时是阻塞的4. 复制被利用来提供可扩展性,比如可以将slave端用作数据冗余,也可以将耗时的命令(比如sort)发往某些slave从而避免master的阻塞,另外也可以用slave做持久化,这只需要将master的配置文件中的save指令注释掉。client可以在一开始时作为sl 阅读全文
摘要:
redis当前最新稳定版本是2.2.81.安装redis$ wget http://redis.googlecode.com/files/redis-2.2.8.tar.gz$ tar xzf redis-2.2.8.tar.gz$ cd redis-2.2.8$ make2.启动redis $ src/redis-server3.使用redis Redis命令总结Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用。在编程时,比如使用Redis 的Java语言包,这些命令都有对应的方法,比如上面例子中使用的sadd方法,就是对 阅读全文
摘要:
/* Our hash table capability is a power of two */
static unsigned long _dictNextPower(unsigned long size)
{ unsigned long i = DICT_HT_INITIAL_SIZE; //DICT_HT_INITIAL_SIZE=4 if (size >= LONG_MAX) return LONG_MAX; while(1) { if (i >= size) return i; i *= 2; ... 阅读全文
摘要:
不同类型的资源,需要用不同的方法来访问。访问CLASSPATH中的资源将资源放在CLASSPATH是最简单的做法。我们只要把所需的资源文件打包到Jar文件中,或是在运行java时,用-classpath参数中指定的路径中。接下来我们就可以用下面的代码来访问这些资源:例5.1.访问CLASSPATH中的资源URL resourceURL = getClassLoader().getResource("java/lang/String.class"); // 取得URL
InputStream resourceContent = getClassLoader().getReso 阅读全文
摘要:
package com.mine; import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.nio.ByteBuffer;
import java.nio.channels.SelectableChannel;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels. 阅读全文
摘要:
jmeter是一个简单开源的纯java的性能测试工具。今天学习了jmeter使用了下jmeter,使用起来非常简单。如果我们要对163的首页性能进行简单测试,我们可以按照以下步骤进行。1.在测试计划里面创建一个线程组,在这个线程组下这个线程组的线程数,也就是并发用户数,循环次数每个并发用户的请求数。参数 ramp-up period 用于告知JMeter 要在多长时间内建立全部的线程。默认值是0。假如未指定ramp-up period ,也就是说ramp-up period 为零, JMeter 将立即建立所有线程,假设ramp-up period 设置成T 秒, 全部线程数设置成N个, JM 阅读全文
摘要:
1.安装apache安装apache,用的是2.2.15这里用的是mod_proxy作为apache转发到jetty的模块,这里需要把mod_proxy装上2.安装jetty Jetty官方网站:http://www.mortbay.org/jetty/ 安装jetty,用的是7.03.在apache的http.conf加上 </IfModule><IfModule mod_proxy.c> ProxyRequests Off ProxyVia Off ProxyPreserveHost On<Proxy *> AddDefaultCharset off O 阅读全文
摘要:
import java.lang.reflect.Method; import org.testng.annotations.DataProvider;
import org.testng.annotations.Test; public class NewTest { @DataProvider(name = "dp") public Object[][] createData(Method m) { System.out.println(m.getName()); // print test method name return new Object[... 阅读全文
摘要:
import java.io.IOException;
import java.net.MalformedURLException; import org.xml.sax.SAXException; import com.meterware.httpunit.GetMethodWebRequest;
import com.meterware.httpunit.PostMethodWebRequest;
import com.meterware.httpunit.WebConversation;
import com.meterware.httpunit.WebForm;
import co.. 阅读全文
摘要:
jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。以下详细介绍各个参数的意义。jstat -class pid:显示加载class的数量,及所占空间等信息。jstat -compiler pid:显示VM实时编译的数量等信息。jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。jstat -gccapacity:可以显示,VM内存中三代(young,old,perm) 阅读全文