Docker更换镜像源
更换docker镜像源,可以加快image访问和下载速度,可以避免或者解决出现连接超时、无法连接等问题。
Docker国内镜像源
docker中国官方
https://registry.docker-cn.com
网易
USTC
http://docker.mirrors.ustc.edu.cn
阿里云(需要访问阿里云官网申请ID)
http://<你的ID>.mirror.aliyuncs.com
更换docker镜像源,可以加快image访问和下载速度,可以避免或者解决出现连接超时、无法连接等问题。
docker中国官方
https://registry.docker-cn.com
网易
USTC
http://docker.mirrors.ustc.edu.cn
阿里云(需要访问阿里云官网申请ID)
http://<你的ID>.mirror.aliyuncs.com
成员:也叫全局,定义在类中方法外
- 成员变量
- 成员方法
局部:定义在方法中
- 局部变量
局部变量和成员变量的区别:
定义位置:局部变量定义在方法中,成员变量定义在方法外
作用范围:局部变量只能在定义它的方法中使用,成员变量可以在整个类中使用
重名问题:当局部变量和成员变量名相同时,采用
就近原则
进行调用默认值:局部变量没有默认值,必须先赋值才可以使用,成员变量有默认值
成员变量的默认值与数组默认值的规则相同
在内存中的位置:成员变量在堆中,因为成员变量属于类的对象;局部变量在栈中,因为局部变量只能在定义它的方法中使用,方法被调用后进入栈内存
生命周期:局部变量从方法调用开始,到方法运行完毕后释放;成员变量从创建对象开始,到对象从堆内存中释放结束。
面向过程的语言:C语言
面向对象的语言:C++、Java、Python
面向过程和面向对象都是编程思想
区别:
- 面向过程:重点放在程序的功能是如何执行的
- 面向对象:重点放在程序的功能可以找谁来完成
集合是一种容器
特点:
- 集合的长度是可变的
- 同一个集合中可以存储不同数据类型的值
- 可以通过泛型来明确集合中存储的数据类型,一旦指定了泛型,那么该集合就只能存储这种数据类型了
- 集合找那个只能存储引用数据类型,不能存储基本数据类型,如果要在集合中存储基本数据类型,要使用基本数据类型的包装类
Collection:集合的顶层父接口,提供了集合的基本操作
List:接口,有序可重复
ArrayList:数组结构
LinkedList:链表结构
Set:接口,不可重复
HashSet:哈希表
TreeSet:树形结构
LinkedHashSet:链表+哈希表
概念:也叫权限修饰符,修饰成员在代码中的可见性
分类:
- public:公共的
- protected:受保护的
- [default]:默认
- private:私有的
范围修饰符只能修饰成员
public > protected > [default] > private
1
2
3
4
5 public protected [default] private
本类中 √ √ √ √
同包的其他类中 √ √ √ ×
其他包的子类中 √ √ × ×
其他包的其他类 √ × × ×public:任何位置都能访问
private:只有本类中可以访问
protected:同包中可以访问,子类可以访问(只有其他包中的无关类不能访问)
[default]:只能在同包中访问
概念:方法就是一个包含了功能所需要的执行语句的代码块
好处:
- 提高了代码的复用性
- 隐藏了功能的实现细节
1
2 public static void main (String[] args) {}
范围(权限)修饰符 其他的修饰符 返回类型 方法名 参数列表 方法体
- 范围(权限)修饰符:限定了方法的使用范围
- 其他的修饰符:static 静态的、final 最终的、abstract 抽象的、native 本地的、synchronized 同步的
- 返回类型:表示方法运行完毕后返回结果的数据类型
- 方法名
- 参数列表:表示方法在执行过程中需要的数据
- 方法体:方法中具体功能的实现
概念:用于存储数据的容器
特点:
- 只能存储同一种数据类型的值(定义时明确了数组的数据类型后,该数组就只能存储这个类型的数据)
- 数组的长度是固定的
格式:
```java
数据类型[] 数组名 = new 数据类型[长度];
1
2
3
2. ```java
数据类型[] 数组名 = new 数据类型[]{值1,值2,值3,...};```java
数据类型[] 数组名 = {值1,值2,值3,…};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
### 三,元素的获取和赋值
下标
下标也称为索引,本质上就是元素在数组中的位置,一般使用index
特点:下标的范围是`[0,长度-1]`
获取
格式:
```java
数组名[下标]注:
- 如果获取数组中的元素时,下标超出了最大范围,会发生
ArrayIndexOutOfBoundsException
数组下标越界异常- 如果数组只定义了长度,没赋初始值,那么数组中的元素也会有默认值,默认值和数据类型相关
- 浮点类型的默认值是0.0
- 整数类型的默认值是0
- 字符类型的默认值是空格
- 布尔类型的默认值false
- 引用数据类型的默认值都是null
赋值
格式:
1 数组名[下标] = 值;
Scanner 是一个专门用于接收键盘输入的类,它在 java.util 包中
构造函数:
1 new Scanner(System.in)常用方法:
next()
nextLine()
nextInt()
nextInt(int radix)
例如:nextInt(2),表示系统将输入的内容视为二进制数,返回一个对应的十进制数
nextDouble()
注:如果输入内容的类型与指定类型不匹配会发生
InputMismatchException
Random 是一个专门用于产生随机数的类,它在 java.util 包中
构造函数:
1 new Random()常用方法:
nextInt():随机整个 int 范围内的数
nextDouble:随机 [0.0,1.0)
nextInt(int bound):随机 [0,bound)
例如:随机 [44,55] ,nextInt(55-44+1)+44