Java tutorial
/* * Copyright (C) 2014~2016 dinstone<dinstone@163.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.dinstone.jrpc; import java.io.IOException; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.dinstone.jrpc.demo.HelloService; public class NamespaceHandlerTest { public static void main(String[] args) { ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext( "application-context-sample.xml"); HelloService service = (HelloService) applicationContext.getBean("rhsv1"); try { testHot(service); } catch (Exception e) { e.printStackTrace(); } try { testSend1k(service); } catch (Exception e) { e.printStackTrace(); } try { System.in.read(); } catch (IOException e) { } applicationContext.close(); } protected static void testHot(HelloService service) { long st = System.currentTimeMillis(); for (int i = 0; i < 100000; i++) { service.sayHello("dinstone"); } long et = System.currentTimeMillis() - st; System.out.println("hot takes " + et + "ms, " + (100000 * 1000 / et) + " tps"); } public static void testSend1k(HelloService service) throws IOException { byte[] mb = new byte[1 * 1024]; for (int i = 0; i < mb.length; i++) { mb[i] = 65; } String name = new String(mb); long st = System.currentTimeMillis(); int count = 10000; for (int i = 0; i < count; i++) { service.sayHello(name); } long et = System.currentTimeMillis() - st; System.out.println("it takes " + et + "ms, 1k : " + (count * 1000 / et) + " tps"); } }