start

systemctl start docker.service无法启动docker 服务的解决方法

别来无恙 提交于 2020-01-15 03:42:34
运行systemctl status docker.service报错如下: ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: failed (Result: start-limit) since Fri 2020-01-10 03:51:35 PST; 12s ago Docs: https://docs.docker.com Process: 28228 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE) Main PID: 28228 (code=exited, status=1/FAILURE) Jan 10 03:51:33 localhost.localdomain systemd[1]: docker.service failed. Jan 10 03:51:35 localhost.localdomain systemd[1]: Stopped

开启多线程启动的世界

那年仲夏 提交于 2020-01-14 08:49:10
一:start()和run()的比较 代码演示 public class StartThread { public static void main(String[] args) { Runnable runnable = () -> { System.out.println(Thread.currentThread().getName()); }; runnable.run(); new Thread(runnable).start(); } } 运行结果 E:\tools\jdk1.8.0_201\bin\java.exe com.example.demo.startthread.StartThread main Thread-0 Process finished with exit code 0 main是 runnable.run()执行的结果,Thread-0是 new Thread(runnable).start()执行的结果。你可能会问为什么?别急,继续往下看。 二:start()方法原理解读 start()方法含义 启动新线程:通知JVM在有空闲的情况下就启动新线程 准备工作:首先它会让自己处于就绪状态,就绪状态指我已获取了除cpu以外的其他资源 public synchronized void start ( ) { /** * This method is

【leetcode】91.编码(类似跳台阶)dfs/memorize/dp

爱⌒轻易说出口 提交于 2020-01-14 06:29:05
法一:递归 思路:很容易想到递归去解决,将大问题化作小问题。 比如 232232323232。 对于第一个字母我们有两种划分方式。 2|32232323232 和 23|2232323232 所以,如果我们分别知道了上边划分的右半部分 32232323232 的解码方式是 ans1 种,2232323232 的解码方式是 ans2 种,那么整体 232232323232 的解码方式就是 ans1 + ans2 种。可能一下子,有些反应不过来,可以看一下下边的类比。 假如从深圳到北京可以经过武汉和上海两条路,而从武汉到北京有 8 条路,从上海到北京有 6 条路。那么从深圳到北京就有 8 + 6 = 14 条路。 public int numDecodings ( String s ) { return dfs ( s , 0 ) ; } private int dfs ( String s , int start ) { if ( start == s . length ( ) ) return 1 ; if ( s . charAt ( start ) == '0' ) //如果开头是0则不对应任何字母 return 0 ; int ans1 = dfs ( s , start + 1 ) ; int ans2 = 0 ; if ( start < s . length ( ) -

2020-01-13

a 夏天 提交于 2020-01-13 13:20:03
节目安排 最大兼容问题 #include using namespace std; #define MAX 100 int b[MAX], c[MAX] = { 0 }; struct ENT //节目开始、结束结构体 { int start; int end; }; void arr(int i); ENT a[MAX]; int n, first = 100000; int e = 1000000; int main() { cin >> n; for (int i = 1; i <= n; i++) cin >> a[i].start >> a[i].end; arr(1); return 0; } void arr(int i) { int tempt = 0; if (i > n) { cout << "( "; for (int k = 1; k <= n; k++) cout << b[k] << " "; cout << “)”<<endl; return; } if (i == 1)//找最先开始的节目 { for (int j = i;j <= n; j++) if (first > a[j].start) { first = a[j].start; tempt = j; } b[i] = tempt; c[tempt] = 1; arr(i + 1); }

多线程之创建线程有哪几种方式?

爷,独闯天下 提交于 2020-01-11 08:29:32
这个问题一般会出现在面试当中,多线程创建有哪几种方式呢? 答:实现Runable接口和实现Thread类。 我们先看看看实现这两种的实现方式 1 package com.summer; 2 3 public class ThreadA implements Runnable { 4 5 public void run() { 6 System.out.println("start ThreadA!"); 7 } 8 9 public static void main(String[] args) { 10 Thread thread = new Thread(new ThreadA()); 11 thread.start(); 12 } 13 } 1 package com.summer; 2 3 public class ThreadB extends Thread { 4 5 @Override 6 public void run() { 7 System.out.println("start ThreadB!"); 8 } 9 10 public static void main(String[] args) { 11 ThreadB threadB = new ThreadB(); 12 threadB.start(); 13 } 14 }

[PAT-A 1042]Shuffling Machine

非 Y 不嫁゛ 提交于 2020-01-08 21:05:32
题目大意 有54张牌,初始编号由大至小排列,给定初始花色S H C D 各13张 J2张 给定一个操作序列为洗牌的操作序列,k为洗牌的次数,求最终的洗牌序列 如5张牌{ S3, H5, C1, D13,J2} 给定序列{4, 2, 5, 3, 1},则执行一次的序列为{ J2, H5, D13, S3, C1},再执行一次的序列为{ J2, H5, D13, S3, C1} ,即将序列按照给定的顺序重新排序S3放在第四张,H5放在第2张… 思路: 1.确定顺序: 54张牌按1-54编号 定义start[],next[],end[]数组,其中start[]存放初始序列,next[]中存放洗牌序列,end[]中存放重新排序之后的序列 初始化start[i]=i, 洗牌过程即为end[next[i]]=start[i] 一次结束后将end赋值为start作为下一次的初始序列 2.输出 需要对应编号与牌的花色与序号 定义char mp[5] = { ‘S’,‘H’,‘C’,‘D’,‘J’ };保存花色 则mp[start[i]/13]即为对应花色,start[i]%13即为对应编号 注意若start[i]%13==0要特殊处理,即输出{mp[start[i]/13-1]13} 最后一个没有空格 AC //PAT_A_1042 # include <cstdio> using

node接口npm start

馋奶兔 提交于 2020-01-08 11:16:37
在package.json中配置 "start": "hotnode index.js" hotnode 需要安装 npm i hotnode -g hotnode然后运行 npm start就可以了 来源: https://www.cnblogs.com/mrt-yyy/p/12165378.html

Thread中start和run方法的区别

烂漫一生 提交于 2020-01-07 16:26:03
public class ThreadTest { // 定义一个方法 private static void testdemo(){ // 输出这个方法的线程名字 System.out.println("这里是testdemo方法 : " +Thread.currentThread().getName()); } public static void main(String[] args) { Thread t = new Thread(){ public void run(){ testdemo(); } }; System.out.println("这里是main方法 : " + Thread.currentThread().getName()); t.run();     // t.start(); } } 调用run方法出现的结果 调用start方法出现的结果 接下来我们来看下调用start这个方法为什么会不一样 点击进入start这个方法 jdk网站: http://hg.openjdk.java.net 进入到具体的目录: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/b860bcc84d51/src/share/native/java/lang 这里看的是jdk8的 进入Thread.c这个文件 来到JVM文件:

Python 实现排序算法

自古美人都是妖i 提交于 2020-01-03 05:05:23
排序算法 下面算法均是使用Python实现: 插入排序 原理:在要排序的一组数中,假定前n-1个数已经排好序,现在将第n个数插到前面的有序数列中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。通常使用在长度较小的数组的情况以及作为其它复杂排序算法的一部分,比如mergesort或quicksort。时间复杂度为 O(n^2) 。 # 1nd: 两两交换def insertion_sort(seq): for i in range(1, len(seq)): j = i while j >= 0 and seq[j-1] > seq[j]: seq[j], seq[j-1] = seq[j-1], seq[j] j -= 1 return seq​​# 2nd: 交换,最后处理没交换的def insertion_sort2(seq): for i in range(1, len(seq)): j = i-1 key = seq[i] while j >= 0 and seq[j] > key: seq[j+1] = seq[j] j -= 1 seq[j+1] = key return seq​​# 3nd: 加速版本,利用已经排好了序的进行二分查找def insertion_sort3(seq): for i in range(1, len(seq)): key =

权限管理页面控制

自作多情 提交于 2020-01-02 03:08:22
我们知道对于权限管理这块,采取的思想就是 RBAC 每个用户对应一个角色,我们只需要对这个角色进行分配相应的权限即可,也就是给这个用户分配了权限,这样管理起来很方便,设计也很简答,大概就是用户表,角色表,模块表,在加上一个角色与模块对应的表就可以了,然后根据不同的用户权限,显示相应的模块或者提示没有权限访问,这里要说的就是,对每个页面的访问权限,如果都写的话,这么多的页面是个很大的工作量,类似判断用户是否登录一样,在 asp.net 中我们完全可以使用 Forms 验证来代替使用 session 每个页面都要判断的做法,同样,在这里我们也可以通过 HttpModule 来直接过滤掉没有访问权限的页面,方便多了,我们知道 HttpModule 可以再服务器端接收处理之前进行相关的过滤,这点给我们提供很大的方便,我们完全可以利用它的这一点,具体的来看看下: View Code public class CheckUserModule : IHttpModule { private static string loginPage = " login.aspx " ; #region IHttpModule Members public void Dispose() { // 此处放置清除代码。 } public void Init(HttpApplication context) {