podman进入容器执行命令
可以使用podman exec进入容器执行命令。 下述命令进入container-id容器,并打开bash,同时将输入和输出绑定到当前终端(创建一个伪终端)。 podman exec -it container-id bash 参考文献: podman-exec — Podman documentationPodman
可以使用podman exec进入容器执行命令。 下述命令进入container-id容器,并打开bash,同时将输入和输出绑定到当前终端(创建一个伪终端)。 podman exec -it container-id bash 参考文献: podman-exec — Podman documentationPodman
使用容器时,在主机和容器直接复制文件是常见的需求。本文简述这一流程的操作过程。 podman cp命令被用于主机和容器之间的文件复制。可以复制目录,也可以复制文件。使用podman cp命令,可以将文件从容器复制到主机,也可以将文件从主机复制到容器,还可以在两个容器之间复制文件。 将目录从主机复制到容器: podman cp images container-id:/my_app/images 这个命令会将images目录下的文件和目录复制到容器中的目标文件夹下。 将文件从主机复制到容器: podman cp images/girl.png container-id:/my_app/images 这个命令会将这个文件复制到容器中的目标文件夹下。 podman cp container-id:/my_app/images ./images 将目录从容器复制到主机: podman cp container-id:/my_app/images/girl.png ./images 这个命令会将容器中的指定目录中的文件复制到主机的目标目录下。
Maven配置文件夹的路径: 全局配置:~/.m2/settings.xml 项目配置:./pom.xml Gradle配置文件夹的路径: 全局配置:~/.gradle/init.gradle 项目配置:./build.gradle 全局配置和项目配置根据实际情况配置即可。一般情况下,选择项目配置,无需全局配置。 一般的项目管理,会在maven和gradle两者构建工具中选择一个使用,因此仅需要修改一个工具的配置文件。 Maven配置文件需要添加的内容: <mirror> <id>nexus-tencentyun</id> <mirrorOf>*</mirrorOf> <name>Nexus tencentyun</name> <url&
进入工程目录。 找到wrapper文件夹。这个文件夹通常在gradle/wrapper目录下。 修改gradle wrapper配置文件。用编辑器打开gradle-wrapper.properties文件。 修改distributionUrl。例如: distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.14-bin.zip 修改并检查无误后,之下gradlew命令。 ./graldew Gradle Wrapper这时会使用这里配备的镜像,下载Gradle二进制文件。 其他镜像: Gradle原始发布地址:https://services.gradle.org/distributions/ 腾讯云Gradle镜像:https://mirrors.cloud.tencent.com/gradle/ 阿里云Gradle镜像:https://mirrors.aliyun.com/gradle/ 除了 配备Gradle镜像外,还需要配备Maven仓库镜像,以便项目中的依赖使用。
java学习笔记
继承,inheritance。利用继承,人们可以基于已经存在的类构造一个新类。 继承已存在的类就是复用(继承)这些类的方法和域。在此基础上,还可以添加新的方法和域。 反射,reflection。反射,指在程序运行期间发现更多的类及其属性的能力。 类、超类、子类 class Manager extends Employee { ... } is-a关系是继承的一个明显特征。 关键字extends表示继承。 在Java中,所有的继承都是公有继承。 关键字extends表明正在构造的新类派生于一个已经存在的类。已存在的类被称为超类,superclass、基类,base class,或父类,parent class。新类被称为子类,subclass,派生类,derived class,或孩子类,child class。 如果需要调用超类的方法,可以使用关键字super。 super不是一个对象的引用,不能将super赋值给另一个对象变量,它只是一个指示编译器调用超类方法的特有关键字。 在子类中可以增加域、增加方法或覆盖(override)超类的方法。
java学习笔记
面向对象程序设计概述 在20世纪70年代,流行“结构化”过程化程序设计开发技术。 在20世纪末,面向对象程序设计成为主流的程序设计范型。 面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。 程序中的许多对象来自于标准库,还有一些是自定义的。 是自己构造对象,还是从外界购买对象,完全取决于预算和时间。 从根本上说,只要对象能够满足要求,就不必关心其功能的具体实现过程。 结构化程序设计通过设计一系列的过程(算法)来求解问题。这些过程一旦被确定,就要考虑存储数据的方式。所以,Pascal语言设计者Niklaus Wirth说:算法+数据结构=程序。(他1975年发布的书名)。这里,算法是第一位的,数据结构是第二位的。 面向对象程序设计中,数据被放在了第一位,之后再考虑操作数据的算法。 类(class)是构造对象的模板或者蓝图。由类构造(constuct)对象的过程称为创建类的实例(instance)。 用Java编写的代码都位于某个类的内部。 封装(encapsulation,有时称为数据隐藏)是与对象有关的一个重要概念。对象中的数据称
java学习笔记
有时候,变量的取值在一个有限的集合中。 从JDK 5.0开始,可以自定义枚举类型。 枚举类型包含有限个命名的值。例如: enum Size { SMALL, MEDIUM, LARGE, EXTRA_LARGE }; 之后,可以声明这样一种类型的变量: Size s = Size.MEDIUM; Size类型的变量只能存储这个类型声明中给定的某个枚举值,或者null值。 null表示这个变量没有设置任何值。
java学习笔记
运算符有优先级。 如果不使用圆括号,则按运算符优先级次序进行计算。 除了右结合运算符外,同一个级别的运算符按从左到右的次序进行计算。 Java不使用逗号运算符,但在for语句中,可以使用逗号分隔表达式列表。 运算符 结合性 [ ] . ( ) (方法调用) 从左向右 ! ~ ++ -- + (一元运算) () (强制类型转换) new 从右向左 */ % 从左向右 + - 从左向右 << >> >>> 从左向右 < <= > >= instanceof 从左向右 == != 从左向右 & 从左向右 ^ 从左向右 | 从左向右 && 从左向右 || 从左向右 ?: 从右向左 = += -= *= /= %= &= |= ^= <<= >>
java学习笔记
在Java中,允许没有信息丢失的数值类型的转换。 有时候,需要将double类型转换为int类型。这种情况可能会丢失一些信息。这种转换需要通过强制类型转换来实现。 强制类型转换:cast。 强制类型转换的语法是在圆括号中给出想要转换到的目标类型,后面紧跟带待转换的变量名。 例如: double x = 9.997; int nx = (int)x; // x is 9 强制类型转换通过截断小数部分将浮点数转换为整型。 如果需要对浮点数舍入,则需要用Math.round方法。 double x = 9.997; int nx = (int) Math.round(x); // nx is 10 不要再boolean类型和任何数值类型之间进行强制转换。 极少数情况下,需要将布尔类型转换为数值类型,可以使用条件表达式:b ? 1 : 0。
java学习笔记
在程序运行时,经常需要将一种数值类型转换为另一种数值类型。 数值类型之间的合法转换: 实线箭头表示无信息丢失的转换。虚线箭头表示可能有精度损失的转换。 在两个数值进行二元计算时,会将两个操作数转换为同一种类型,再行计算。 * 两个操作数,其一为double类型,另一个会转换为double类型。 * 否则,其一为float类型,另一个会转换为float类型。 * 否则,其一为long类型,另一个会转换为long类型。 * 否则,两个操作数都被转换为int类型。
java学习笔记
Math类包含了各种各样的数学函数。 一些数学函数: * Math.sqrt 平方根 * Math.pow 幂运算 * Math.sin 三角函数 * Math.cos 三角函数 * Math.tan 三角函数 * Math.atan 三角函数 * Math.atan2 三角函数 * Math.exp 指数函数 * Math.log 对数函数。指数函数的反函数。 这些方法都是Math类的静态方法。或者被称为类方法。 一些数学常量 * Math.PI 近似值 * Math.E 近似值 这些变量时Math类的静态变量。或者被称为类变量。 从JDK 5.0开始,不必在数学方法名和常量前面添加前缀Math.。只要在源文件顶部导入Math类即可。 import static java.lang.
java学习笔记
再处理整型时,可以对组成整型数值的各个位进行操作。 可以使用屏蔽技术来获得整数中的各个位。 位运算符: * & 按位与 * | 按位或 * ^ 按位异或 * ~ 按位非 这些运算符在位模式下运作。 &和|不按短路方式计算。 * >> 将二进制位右移 * << 将二进制位左移 * >>> 用0填充高位 * >> 用符号位填充高位 * <<< 这种运算符不存在。