Java构造器
构造器在下面代码栗子中,当new出一个Student对象的时,必须给新生成的学生起名字(毕竟不存在一个没有名字的人),但是当新建的对象数量过多的时候就有可能会忘记分配名字。
12345678910111213public class Student { String name; public void words() { System.out.println(name + " is a student."); } public static void main(String[] args) { Student t = new Student(); t.name = "Tom"; t.words(); }}
这个时候,如果你new出一个新的对象,你想但是又不想它的初始状态为空值,这时就可以用构造器来大显身手了。所以我们不妨在new出该对象的同时,赋给其某些变量的初始值(这里是学生姓名)。
123456 ...
Java static
Java static关键字0. 静态变量 Java类中的静态变量不属于任何一个类实例化出来的对象(即该类所有实例化出来的对象共享使用该静态变量,进而静态变量不具有线程安全性)
123//静态变量🌰private static int count;public static double temper;
静态变量:在类中,整个类的所有实例化对象共用一个
实例变量:每个实例化对象拥有
静态变量:它的值对所有的实例来说都相同
读取静态变量静态变量由两种读取方法:
类名.变量名
实例化对象名.变量名(前提该类可以实例化)
惯用第一种方法来读取变量,不推荐第二种方法读取。
12345678910111213141516171819202122//代码栗子🌰class Player { //设置静态变量playCount,计算实例化对象个数 static int playerCount = 0; private String name; public Player(String name) { this.name = nam ...
Linux 硬盘挂载
0.查看分区方法一:
1sudo fdisk -l
根据所得到的磁盘信息,进行挂载,并确定挂载位置。
方法二:
1sudo lsblk
lsblk(list block device)列出所有存储设备
列出本系统下的所有磁盘与次盘内的分区信息
NAME:文件名
MAJ:MIN :主要:次要设备代码
RM:是否为可以卸载设备
SIZE:大小
RO:是否为只读设备
TYPE:disk/partition/rom/loop
MOUTPOINT:挂载点
1.挂载分区1sudo mount /dev/sdb /home/eee/data
将sdb的分区挂载到 /home/eee/data分区下。
2.设置开启自动挂载查询挂载硬盘的UUID1sudo blkid /dev/sdb
每一行的代表一个文件系统,分别为设备名称、UUID名称以及文件系统的类型(TYPE)
根据上述返回信息可以得到sdb的uuid为
1"c6df3f52-33dd-4874-8a8e-09b88894d620"
修改硬盘配置文件 ...
MacOS挂载NTFS
安装homebrew打开终端输入命令,安装homebrew
1/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
进入恢复模式重启电脑,按住command+R键,进入恢复模式,在菜单栏中找到终端并打开。
输入命令
1csrutil disable
重启电脑,开机后打开终端检查csrutil的开启的状态
1234csrutil status##反馈如下信息则证明关闭成功System Integrity Protection status: disabled.
安装osxfuse1brew cask install osxfuse
安装ntfs-3g1brew install ntfs-3g
安装ntfs-3g权限不足失败(可能出现)12Error: Could not symlink sbin/ntfs-3gusr/local/sbin is not writable
1234567sudo mkdir ...
JDK配置
JDK下载
在Oracle官网下载JDK的文件,根据系统版本进行下载。
1https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
下载完成后并解压
12mkdir /usr/local/javatar -xvf jdk-11.0.7_linux-x64_bin.tar.gz -C /usr/local/java/
配置环境变量默认的终端是bash,所以这里修改.bashrc文件。如果是zsh,则修改.zshrc文件,其他类似。
添加一下内容
1234567891011$ vim ~/etc/profile#文件末尾加入以下内容#Javaexport JAVA_HOME=/usr/local/java/jdk-11.0.7export PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=$JAVA_HOME/libexport PATH JAVA_HOME CLASSPATH#退出后重新初始化$ source /etc/profile
验证安装1234$ java ...
Homebrew更新源
对Homebrew更新的话,需要更新四个模块的镜像
Homebrew
Homebrew Core
Homebrew-bottles
Homebrew Cask
USTC包含上述的所有源,而其他家都缺少Cask源,所以即便更换了其他的源,brew update依然龟速。
替换命令
1234567891011121314151617# 替换 Homebrewgit -C "$(brew --repo)"remote set-url origin https://mirrors.ustc.edu.cn/brew.git# 替换 Homebrew Coregit -C "$(brew --repo homebrew/core)"remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git# 替换 Homebrew Caskgit -C "$(brew --repo homebrew/cask)"remote set-url origin https://mi ...
iptables 配置详解
iptables 配置详解常用命令:
1234567891011121314151617iptables -A 将一个规则添加到链末尾iptables -D 将指定的链中删除规则iptables -F 将指定的链中删除所有规则iptables -I 将在指定链的指定编号位置插入一个规则iptables -L 列出指定链中所有规则iptables -t nat -L 列出所有NAT链中所有规则iptables -N 建立用户定义链iptables -X 删除用户定义链iptables -P 修改链的默认设置,如将iptables -P INPUT DROP (将INPUT链设置为DROP)
常见设置参数介绍:
123456789101112131415161718192021222324252627--dport 指定目标TCP/IP端口 如 –dport 80--sport 指定源TCP/IP端口 如 –sport 80-p tcp 指定协议为tcp-p icmp 指定协议为ICMP-p udp 指定协议为UDP-j DROP 拒绝-j ACCEPT 允许-j REJECT 拒绝 ...
Java多态
在面向对象程序语言中,多态的是一项重要的基本特征。通过多态的技术可以在程序设计中,使得程序设计更为简单,清晰。比如动物有猫,狗,猪等等。除去它们所特有的特点以外,他们也存在共性,比如都会进食,休息,行走等行为。那么在OOP中,多态从此所引入的。
0.向上转型在程序设计的过程中我们不知道所操作对象的具体行为,但是知道它所拥有的行为。比如就动物而言,在编写程序的过程中我们知道,猫吃鱼,狗吃肉。但是动物吃什么是我们不知道的。但在面向过程设计中,会采用判断对象类型,然后根据类型选择调用吃什么。在OOP中,这种问题解决轻而易举。
代码栗子🌰
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051class Animal { public void food() { } public void sleep() { }}class Cat extends Animal { ...
Tomcat安装配置
0.下载解压安装包12wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gztar -zxvf apache-tomcat-9.0.31.tar.gz
1.将解压好的文件夹拷贝到指定位置并启动123mv apache-tomcat-9.0.31 /usr/local/tomcatcd /usr/local/tomcat/apache-tomcat-9.0.31/bin./startup.sh
2.检查是否安装成功。浏览器查看http://localhost:8080
或者在终端中输入
1234567891011121314$~ curl 127.0.0.1:8080#成功启动则返回页面的HTML<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> ...
SSH登陆
0.修改ssh配置文件1sudo vim /etc/ssh/sshd_config
修改以下内容
123PremitRootLogin yes #启用允许Root用户登陆,修改为yesRSAAuthentication yes # 启用 RSA 认证,默认为yesPubkeyAuthentication yes # 启用公钥认证,默认为yes
1.生成ssh认证文件ssh-keygen默认使用rsa算法,同时也可以使用较为详细的命令:
1ssh-keygen -t ed25519 -b 1024 -f yourkeyname -C "备注"
参数
解释
-b
采用长度1024bit的密钥对,b=bits,最长4096
-t
采用rsa/dsa/ecdsa/ed25519 加密方式,t=type
-f
生成文件名,f=output_keyfiles
-C
备注,C=comment
2.将产生的ssh公钥加入到服务器认证文件 ...