自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Tini 源码分析(2)

我会从程序在 main 函数中执行的顺序,来一步一步的分析源码。每一个函数我都会贴上源码,然后进行分析。我把 main 函数的大概流程画了出来,大家可以参考一下。文章太长发不了,只能分割成两章了,这是第二章。

2022-11-12 13:39:25 418 1

原创 Tini 源码分析(1)

Tini 是一个超轻量级的 init 进程管理器,被设计作为容器的 1 号进程。只生成一个子进程(这意味着 Tini 应该运行在容器中),并等待子进程退出收割僵尸进程执行信号转发Tini 只能管理一个进程,容器的最佳实践一般都是一个容器即一个进程,因此 Tini 在容器化场景足够使用了。

2022-11-12 13:36:34 584

原创 容器的优雅退出(3):你好,SIGTERM!

可以看到,主进程已经把收到的 SIGTERM 信号发送给了子进程,子进程也显示的是 +++ exited with 0 +++ ,代表已经是被 SIGTERM 关闭的了。Tini是一个很小但是很好用的 容器 init 进程项目,Docker 1.13 及以上的版本已经将这个项目包括进去了,我们可以在 docker run 时,加上 --init 参数,就会使用 tini 作为我们容器的 init 进程了。当然先别急,如果我们把主进程等待子进程的退出时间改成 11 秒的话,会发生什么呢?

2022-11-11 11:59:18 695

原创 容器的优雅退出(2):为什么是 SIGKILL?

函数中会判断当前进程是否是当前 pid namespace 中的 1 号进程,如果不是,就直接返回 pid namespace 中的 1 号进程,作为默认的当前进程的所有子进程的新父进程;如果当前既是 1 号进程,而且也没有当前进程的其他线程组,那么就会销毁当前进程的 pid namespace,调用的是。函数会查看本进程有没有子进程,如果没有子进程,就直接退出了,不用找新的父进程了;函数里会通知父进程回收资源,还会告诉所有子进程选取新的父进程,函数如其名:忘记最初的父亲 😄,也就是调用。

2022-11-11 11:57:42 207

原创 容器的优雅退出(1):是 SIGKILL 吗?

我们在容器平台上,如果想要停止一个容器,无论是在 Kubernetes 中删除一个 pod,还是用 Docker 来停止一个容器,最后都会使用 Containerd 这个服务。不过不同的是,init 进程收到的是 SIGTERM 信号,而容器内的其他进程收到的则是 SIGKILL 信号。

2022-11-11 11:53:50 406

翻译 2022.10.20 服务端应用非常棒,你应该使用它(Kubernetes官方博客中文翻译)

Kubernetes博客 中文翻译文章名:Server Side Apply Is Great And You Should Be Using It文章发布日期: 2022年10月20日周四

2022-10-30 04:44:03 147

原创 倒顺数字串 PTA

倒顺数字串 PTA题目输入格式:输出格式:输入样例:输出样例:分析答案题目输入正整数n,输出它的倒顺数字串。如n=6时,输出1 2 3 4 5 6 5 4 3 2 1输入格式:输入一个正整数n,n的范围是[1,50]。输出格式:n的倒顺数字串,每两个数字之间只用一个空格隔开。输入样例:6输出样例:1 2 3 4 5 6 5 4 3 2 1分析本题较为基础答案import java.util.Scanner;/** * * @author 梓叶枫林 * @

2020-11-02 23:26:56 699

原创 定义类2 PTA

定义类2 PTA题目输入格式:输出格式:输入样例:输出样例:分析答案题目请补充以下代码,完成输出要求。(注意:需要提交完整代码)import java.util.Scanner;public class Main { public static void main(String[] args) { double dd = RR.fun(); System.out.prin

2020-11-02 23:23:40 1559

原创 集体评分 PTA

集体评分 PTA题目输入格式:输出格式:输入样例:输出样例:分析答案题目程序填空题。请补充以下代码,完成题目要求。(注意:需要提交完整代码) 有一个团队由5个人组成。他们每个人给指导老师一个分数,去掉最高分,去掉最低分,剩下的3个分数的平均分就是该团队对指导老师的评分。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in

2020-11-02 23:21:03 1340 2

原创 jmu-Java-03面向对象基础-02-构造函数与初始化块 PTA

jmu-Java-03面向对象基础-02-构造函数与初始化块 PTA题目1.定义一个Person类2.定义类的初始化块3.编写静态初始化块4.编写main方法思考输入样例:输出样例:分析答案题目1.定义一个Person类属性:name(String)、gender(boolean)、age(int)、id(int) ,所有的变量必须为私有(private)。无参构造函数:Person(), 功能:打印This is constructor 。有参构造函数:Person(name, gender,

2020-11-02 23:12:00 4260 1

原创 jmu-Java-02基本语法-08-ArrayList入门 PTA

jmu-Java-02基本语法-08-ArrayList入门 PTA题目输入格式输入样例:输出样例:分析答案题目本习题主要用于练习如何使用ArrayList来替换数组。新建1个ArrayList strList用来存放字符串,然后进行如下操作。提示:查询Jdk文档中的ArrayList。注意:请使用System.out.println(strList)输出列表元素。输入格式1.输入n个字符串,放入strList。直到输入为!!end!!时,结束输入。2.在strList头部新增一个

2020-11-02 23:04:38 910

原创 jmu-Java-03面向对象基础-03-形状 PTA

jmu-Java-03面向对象基础-03-形状 PTA题目1. 定义长方形类与圆形类Circle2. main方法输入样例:输出样例:分析答案题目1. 定义长方形类与圆形类Circle长方形类-类名:Rectangle,private属性:int width,length圆形类-类名:Circle,private属性:int radius编写构造函数:带参构造函数:Rectangle(width, length),Circle(radius)编写方法:public int getPerim

2020-11-02 22:58:59 1268

原创 jmu-Java-02基本语法-01-综合小测验 PTA

jmu-Java-02基本语法-01-综合小测验 PTA题目输入格式:输出格式:分析答案题目运行程序后可以输入4个选项,分别为:fib,sort,search,getBirthDatefib:根据输入n,打印斐波那契数列。比如输入:3,输出:1 1 2sort:输入一串数字,然后进行排序并输出,注意数组元素输出的格式为使用[ ]包括。提示:可直接使用函数Arrays相关方法处理输出。search:如果找到返回所找到的位置,如果没找到,返回-1。提示:可以先对数组排序,然后使用Arrays相关函数

2020-11-02 22:10:08 3742

原创 jmu-Java-03面向对象-06-继承覆盖综合练习-Person、Student、Employee、Company

jmu-Java-03面向对象-06-继承覆盖综合练习-Person、Student、Employee、Company PTA题目分析答案不判断null的代码(非标准)判断null的代码(标准)题目分析答案发现可以不判断输入字符串null也可以编译通过不判断null的代码(非标准)import java.text.DecimalFormat;import java.util.ArrayList;import java.util.Collections;import java.util.L

2020-11-02 21:10:12 6036 2

原创 估值一亿的AI核心代码 PTA

估值一亿的AI核心代码 PTA题目输入格式:输出格式:输入样例输出样例:分析解题思路:答案题目以上图片来自新浪微博。本题要求你实现一个稍微更值钱一点的 AI 英文问答程序,规则是:无论用户说什么,首先把对方说的话在一行中原样打印出来;消除原文中多余空格:把相邻单词间的多个空格换成 1 个空格,把行首尾的空格全部删掉,把标点符号前面的空格删掉;把原文中所有大写英文字母变成小写,除了 I;把原文中所有独立的 can you、could you 对应地换成 I can、I could —— 这

2020-10-31 14:26:27 2201 6

原创 jmu-Java-03面向对象基础-04-形状-继承 PTA

jmu-Java-03面向对象基础-04-形状-继承 PTA题目本题描述:思考分析答案题目前面题目形状中我们看到,为了输出所有形状的周长与面积,需要建立多个数组进行多次循环。这次试验使用继承与多态来改进我们的设计。本题描述:1.定义抽象类Shape属性:不可变静态常量double PI,值为3.14,抽象方法:public double getPerimeter(),public double getArea()2.Rectangle与Circle类均继承自Shape类。Rectangle类

2020-10-31 13:46:36 3336 3

原创 单词替换 PTA

单词替换 PTA题目输入格式:输出格式:输入样例:输出样例:分析答案题目设计一个对字符串中的单词查找替换方法,实现对英文字符串中所有待替换单词的查找与替换。输入格式:首行输入母字符串,第二行输入查询的单词,第三行输入替换后的单词。输出格式:完成查找替换后的完整字符串输入样例:在这里给出一组输入。例如:Although I am without you, I will always be ou yououwith输出样例:在这里给出相应的输出。例如:Although I

2020-10-29 13:13:35 2158 1

原创 jmu-java-随机数-使用蒙特卡罗法计算圆周率的值 PTA

jmu-java-随机数-使用蒙特卡罗法计算圆周率的值题目答案题目尝试使用蒙特卡罗法计算圆周率(π)的值。原理如下:以原点(0, 0)作为圆心,半径为1画一个圆。该圆的外切正方形,边长为2。现往该正方形内随机投点,数量足够多的情况下,落入圆内的点与落入整个外切正方形的点的数量比值大概为: π∗r24∗r2\frac{ \pi *r^2}{4 * r^2}4∗r2π∗r2​​​ ,然后就可以得到π的值。注意1.请使用jdk库中的Random对象来生成随机数。2.使用Math类中的sqrt与po

2020-10-28 17:36:51 3355 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除