标签:throws 内存初始化 加载 行修改 info 资源管理 var override 方法体
性能战术目标和基本的方法如下图
总结来说性能最重要的就是时间和空间的合理划分。响应时间越短对于空间的要求往往也会非常高,不能顾此失彼,一个高性能的系统应该是两者合二为一。
资源需求:
1.减少一个事件流所用的资源(简单递延频繁的函数设置成内敛,使用基本的数据类型)
public static void main(String[] args) throws InterruptedException, ExecutionException { final ExecutorService exec = Executors.newFixedThreadPool(1); Callable<String> call = new Callable<String>() { public String call() throws Exception { //开始执行耗时操作 Thread.sleep(1000 * 5); return "线程执行完成."; } }; try { Future<String> future = exec.submit(call); String obj = future.get(1000 * 1, TimeUnit.MILLISECONDS); //任务处理超时时间设为 1 秒 System.out.println("任务成功返回:" + obj); } catch (TimeoutException ex) { System.out.println("处理超时啦...."); ex.printStackTrace(); } catch (Exception e) { System.out.println("处理失败."); e.printStackTrace(); } // 关闭线程池 exec.shutdown(); }
资源管理
1.引入并发
(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。
(2)创建Thread子类的实例,即创建了线程对象。
(3)调用线程对象的start()方法来启动该线程。
public class TestThread extends Thread{ public void run() { System.out.println(“Hello World”); } public static void main(String[] args) { Thread mThread = new TestThread(); mThread.start(); } }
2.维持数据或计算的多个副本。比如说保存相同运算的结果
3.增加可用资源。增加内存,CPU速度。
可以在相关的配置文件中进行修改调整内存大小。
Xms = 设置内存初始化的大小
Xmx = 设置最大能够使用内存的大小
资源仲裁:
1.先进先出
2.为事件设立优先级(优先级队列)
动态设立优先级
轮转,实现时间最早优先
public class MyThread1 extends Thread{ MyThread1(String name){ super(name); } @Override public void run() { for(int i = 0; i < 10000 ; i++){ System.out.println(getName()+": "+i); } } } public class MyThread2 extends Thread{ MyThread2(String name){ super(name); } @Override public void run() { for(int i = 0; i < 10000 ; i++){ System.out.println(getName()+": "+i); } } } public class Test { public static void main(String[] args) { MyThread1 t1 = new MyThread1("t1"); MyThread1 t2 = new MyThread1("t2"); t1.setPriority(Thread.NORM_PRIORITY + 3); t1.start(); t2.start(); } }
标签:throws 内存初始化 加载 行修改 info 资源管理 var override 方法体
原文地址:https://www.cnblogs.com/Evak/p/12396767.html