对于刚刚学习 java
的小白来说,初次面对对象的时候难免会觉得有些不知所措。在这篇文章中我将写下我自己对于继承,多态,向上转型,向下转型的一些理解
希望我的文章对你更深刻的理解 java 的这些概念能有帮助
继承
在生活中我们会说继承家产,继承的意思就是孩子能拥有父母的遗产
在面对对象语言中也有两个概念父类,子类.分别就是父亲和孩子
123456789101112131415class Animal { // 父类 Animal public void eat() { System.out.println("Animal eat something"); }}class Dog extends Animal { // 子类 Dog}public class Main { public static void main(String[] args) { Dog a = new Dog(); a.eat(); // 直接输出Animal eat something }} 在上面这个示例中
狗是一种动物 Dog
是子类(孩子), Animal是父类(父亲) 在 java 中我们 ...
将 Obsidian 接入我的 Blog。这是第一篇的测试 Mac Android 1
将 Obsidian 接入我的 Blog。这是第一篇的测试 Mac Android 1
VPS 科学上网教程
Unread00 先看视频
电丸科技AK
如果你也和我一样乐在其中那么,我的图文教程可能会帮到你
对于 VPS
的搭建我强烈建议你先去看
傻瓜视频教程
看完视频以后看文档, 他的视频使用的是旧面板 3XUI面板搭建中SSL问题
01 购买 VPS
推荐配置
RackNerd 是性价比较高的美国 VPS 提供商,年付方案便宜,适合个人使用。
其他的还有 - vultr - 搬瓦工 - Cloudcone
推荐最低配置: - CPU:1 核 - 内存:1 GB - 硬盘:10
GB SSD - 流量:2 TB/月 - 系统:Debian 11 或 Ubuntu 22.04
流量够用即可,带宽速率不是瓶颈,Cloudflare CDN 会帮你加速。
购买流程
1. 访问 RackNerd 官网
前往 RackNerd 官网,点击顶部菜单
VPS 选择 KVM VPS。
RackNerd 首页
2. 选择套餐
建议选择 年付套餐,通常有促销,价格在
$20-30/年区间。
点击 Order Now 进入配置页。
套餐列表
3. 配置选项
选项
推荐值
Operating ...
VPS 科学上网教程
UnreadSSH 连接
Mac / Linux
打开终端,执行:
1ssh root@你的服务器IP
或者你跟着无限芝士的视频教程使用 FinalShell 等软件进行 SSH
连接也行
第一次连接会提示:
12The authenticity of host 'xxx.xxx.xxx.xxx' can't be established.Are you sure you want to continue connecting (yes/no)?
输入 yes
回车,然后输入密码(输入时不显示字符,正常)。
SSH 连接成功
Windows
推荐使用 Windows Terminal 或 Termius。
1ssh root@你的服务器IP
系统初始化
登录成功后,依次执行以下命令:
1. 更新系统包
1apt update && apt upgrade -y
这一步可能需要几分钟,耐心等待。
系统更新
2. 安装常用工具
1apt install -y curl wget vim unzip socat
3. 设置时区(推荐设为上海)
12timedatec ...
VPS 科学上网教程
Unread3x-ui 是一个基于 Xray
的可视化代理管理面板,支持多种协议,通过网页界面管理节点。
一键安装
SSH 连接到服务器后,执行:
1bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
安装过程中会询问几个问题:
1234请输入面板端口 [默认随机]: 2096请输入面板用户名 [默认随机]: admin请输入面板密码 [默认随机]: 你的密码请输入面板路径 [默认随机]: /panel
端口建议用
2096,路径可以自定义,记住你设置的用户名和密码。
3x-ui 安装过程
安装完成后会显示:
123面板地址: http://你的IP:2096/panel用户名: admin密码: 你设置的密码
访问面板
在浏览器中打开:
1http://你的服务器IP:2096/panel
用刚才设置的用户名和密码登录。
面板基础设置
进入 面板设置(Panel Settings):
推荐修改的选项
设置项
建议值
说明
监听 IP
...
VPS 科学上网教程
UnreadCloudflare 在本教程中承担两个角色: 1. 隐藏真实
IP:代理流量走 CF 的 CDN,即使 VPS IP 被墙也能用 2. DNS
解析:两个子域名分别用于面板管理和代理流量
(我是用了两个子域名,视频教程里是一个,但是无伤大雅,你也可以跟着我来)
前置:准备一个域名
如果还没有域名,推荐从以下地方购买: - Cloudflare
Registrar(价格透明,无溢价) - Namesilo(便宜,支持支付宝)
购买后将域名的 NS(nameserver)指向 Cloudflare,或者直接在 Cloudflare
购买。
将域名接入 Cloudflare
在此之前强烈建议弄清楚什么域名的解析和托管
1. 注册 / 登录 Cloudflare
前往 cloudflare.com
注册免费账号并登录。
2. 添加站点
点击 Add a Site,输入你的域名(如
yourdomain.xyz),选择 Free 套餐。
添加站点
3. 修改域名 NS
Cloudflare 会给你两个 NS 地址,例如:
12ada.ns.cloudflare.combob.ns.c ...
VPS 科学上网教程
Unread使用 acme.sh
通过 Cloudflare DNS 验证方式申请免费的 Let’s Encrypt
证书,支持自动续签。
在 x-ui 面板中也有对域名 SSL
证书的配置,你可以直接去参考视频教程和这个文档 3XUI面板搭建中SSL问题,从而把这一章前面的内容忽略。直接跳到
验证证书文件 这一小节。
安装 acme.sh
12curl https://get.acme.sh | sh -s email=你的邮箱@example.comsource ~/.bashrc
验证安装:
1acme.sh --version
配置 Cloudflare API Token
将上一步获取的 CF API Token 设置为环境变量:
12export CF_Token="你的CloudflareAPIToken"export CF_Account_ID="你的CF账号ID"
CF_Account_ID 在 Cloudflare 控制台右侧边栏可以找到。
申请证书
面板域名
1acme.sh --issue --dns dns_cf -d panel.yourdomain.xy ...
VPS 科学上网教程
Unread本教程配置两个节点,各有优势:
节点
协议
特点
CF-WS-TLS
VLESS + WebSocket + TLS
走 Cloudflare CDN,抗封锁,IP 被墙也能用
REALITY-TCP
VLESS + TCP + REALITY
直连 VPS,延迟低,伪装成正常 HTTPS 流量
进入 3x-ui 面板
浏览器打开:
1https://panel.yourdomain.xyz:2096/panel
点击左侧菜单 Inbounds(入站列表) → Add
Inbound(添加入站)。
节点一:CF-WS-TLS
这个节点走 Cloudflare CDN,客户端连接 CF 的 IP,CF 再把流量转发到你的
VPS。
配置参数
字段
值
备注(Remark)
CF-WS-TLS
协议(Protocol)
vless
监听 IP
留空
端口(Port)
443
传输方式(Network)
ws
路径(Path)
/随机字符串(如 /34jkf89,自己生成)
TLS
✅ 开启
域名(Domain) ...
VPS 科学上网教程
Unread
接下来将分享由我原创的方法
3x-ui 自带的订阅格式只是原始的 vless:// 链接,Clash 需要
YAML 格式。这一步部署一个 Python 脚本,自动完成格式转换,同时集成
Cloudflare 优选 IP。
服务功能
GET / 或 GET /clash → 返回 Clash YAML
格式订阅
GET /v2ray → 返回 base64 编码的 v2ray
格式订阅(vless:// 链接)
部署脚本
在服务器上创建脚本文件:
1nano /usr/local/bin/clash-sub.py
脚本内容见 GitHub
仓库 scripts/clash-sub.py。
修改脚本配置
编辑脚本顶部的配置项:
12345678910SUB_URL = 'https://127.0.0.1:2096/sub/你的订阅ID'SUB_HOST = 'tunnel.yourdomain.xyz'DIRECT_IP = '你的VPS公网IP'TOP_N = 10CARRIERS = { 'unicom': {'file': '/opt/ ...
