开发杂记-chyer

方法1: 让/etc/profile文件修改后立即生效 ,可以使用如下命令: # . /etc/profile 注意: . 和 /etc/profile 有空格

方法2: 让/etc/profile文件修改后立即生效 ,可以使用如下命令: # source /etc/profile

org.apache.commons.lang.exception.ExceptionUtils.getFullStackTrace(e)

nohup java -jar ./java/xxxxx.jar >log.out 2>1 &

import java.util.concurrent.*;
 
/**
 * 记录,备忘……
 *      线程执行设置超时时间
 */
public class Main2 {
     
 
    // 定义线程池,推荐手动创建线程池: https://blog.csdn.net/LLLLLiSHI/article/details/88057655
    private static ExecutorService pool = Executors.newFixedThreadPool(1);
 
    /**
     *  jdk的api:Future类已经提供满足的api
     */
    public static void main(String[] args) {
     
        System.out.println("主程序执行开始……");
        //定义线程
        Callable call = new Callable<String>(){
     
            @Override
            public String call() throws Exception {
     
                // 设置2秒睡眠
                TimeUnit.SECONDS.sleep(2);
                return "这是线程执行结果……";
            }
        };
 
        // 手动控制线程
        Future result = pool.submit(call);
        try {
     
            // 如果在超时时间内,没有数据返回:则抛出TimeoutException异常
            Object callResult = result.get(1, TimeUnit.SECONDS);
            System.out.println(callResult);
        } catch (InterruptedException e) {
     
            System.out.println("InterruptedException发生");
        } catch (ExecutionException e) {
     
            System.out.println("ExecutionException发生");
        } catch (TimeoutException e) {
     
            System.out.println("TimeoutException发生,意味着线程超时报错");
        }
        System.out.println("主程序执行完成……");
    }
 
}
 

你可能感兴趣的:(笔记)