美文网首页人生几何?
210829:git clone失败-Linux中如何查看进程占

210829:git clone失败-Linux中如何查看进程占

作者: 弹钢琴的崽崽 | 来源:发表于2021-08-29 12:01 被阅读0次

    一. git clone失败

    1. 错误信息

    Please make sure you have the correct access rights and the repository exists
    

    第一次拉项目的时候已经设置了公钥,在更新的时候发现更新不下来,重新生成ssh公钥配置添加到gitLab上也不行

    2. 解决:

    2.1 修改.git文件夹下的config文件

    将url由原来的ssh开头的改成https开头的地址

    2.2 设置git忽略ssh证书错误

    git config --global http.sslVerify false
    git config --global http.xxlVerify false
    

    二. Linux中如何查看进程占用了哪些端口

    通过下面的命令获取pid

    ps -aux | grep XXXX
    

    通过下面的命令获取该进程所占用的端口

    netstat -apn | grep pid
    

    三. Nacos在win上持久化数据到MySQL

    1. 修改配置文件application.properties

    spring.datasource.platform=mysql
    db.num=1
    # db.url.1=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    db.user=root
    db.password=123456
    ### Connection pool configuration: hikariCP
    db.pool.config.connectionTimeout=30000
    db.pool.config.validationTimeout=10000
    db.pool.config.maximumPoolSize=20
    db.pool.config.minimumIdle=2
    

    四. addShutdownHook优雅关闭线程

    通过我们的程序中运行完之后都会进行一些清理工作,比如关闭数据库资源,同步等操作。这时我们的钩子函数addShutdownHook有了用武之地。

    1. 钩子程序执行时机:

    当程序正常退出,系统调用 System.exit方法或虚拟机被关闭时才会执行添加的shutdownHook线程。其中shutdownHook是一个已初始化但并不有启动的线程,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才会关闭。所以可通过这些钩子在jvm关闭的时候进行内存清理、资源回收等工作。

    2. 用法

    Runtime.getRuntime().addShutdownHook(Thread thread)

    这里我们需要将一个线程对象传入,作为钩子程序的实现代码。本质上就是在jvm关闭时,执行一个线程。

    3. 实战

    public class Client{
    public void test1(){
        System.out.println("startting working......");
        Runtime.getRuntime().addShutdownHook(new Thread(){
            @Override
            public void run() {
                System.out.println("执行钩子线程");
            }
        });
        System.out.println("program endding");
    }
    }
    执行结果:
    startting working......
    program endding
    执行钩子线程
    

    果然钩子线程是在主程序执行完毕之后才开始执行。

    五. System.exit()用法

    System.exit(0);用于正常退出

    System.exit(1);常用于catch()中,表示异常退出。

    这个方法是用来结束当前正在运行中的java虚拟机。如何status是非零参数,那么表示是非正常退出。

    System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() 。无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西

    System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序

    System.exit(status)不管status为何值都会退出程序。和return 相比有以下不同点: return是回到上一层,而System.exit(status)是回到最上层

    package Test;
    
    public class Test {
        public static void main(String[] args) {
            int a=10;
            int b=10;
            method(a, b);
            System.out.println("a***"+a);
            System.out.println("b***"+b);
        }
        public static void method(int a,int b) {
            System.out.println("a=100");
            System.out.println("b=200");
            System.exit(1);
        }
    }
    输出:a=100
         b=200
    
    

    相关文章

      网友评论

        本文标题:210829:git clone失败-Linux中如何查看进程占

        本文链接:https://www.haomeiwen.com/subject/luvwiltx.html