# 删除占用端口的程序
netstat -ano | findstr 8080
tasklist | findstr <PID>
taskkill /f /t /im 进程号
# 双路由配置
route delete 0.0.0.0
route add -p 0.0.0.0 mask 0.0.0.0 192.168.1.1
route delete 10.0.0.0
route add -p 10.0.0.0 mask 255.0.0.0 10.160.64.129
- 管理员执行该命令
0.0.0.0
表示外网出口,192.168.1.1
表示外网网关10.0.0.0
表示内网出口,10.16.64.129
表示内网网关
# win10的无线UI图标找不到
- 要么升级驱动
- 要么重置网络并重启,如图
# 使用idea反编译命令:
java -cp "C:\Program Files\JetBrains\IntelliJ IDEA 2019.2.4\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true .\hsa-ips-admin-generic-1.6.13.jar src
# 设置windows cmd编码:
chcp 65001
# windows杀进程:
netstat -ano |findstr "18090"
tasklist |findstr "进程id号"
taskkill /f /t /im "进程id或者进程名称"
- 举例: nginx杀死后会自动重启,此时可以用过命令:
taskkill /f /t /im nginx.exe
彻底干掉ng服务
# 替换jar的lib依赖:
jar -xvf xxx.jar
#替换lib依赖
jar -cfM0 xxx.jar ./
# 替换war的资源文件:
jar -xvf xxx.war
jar -cvfM0 xxx.war ./
# jar启动参数:
- --传参,是springBoot自带的传参方式;
- -D,设置系统属性
- -X,设置jvm参数
# windows应用程序常用目录及变量介绍
# 常用变量及默认值
环境变量名称 | 作用描述 | 默认值示例 |
---|---|---|
%USERPROFILE% | 指向当前登录用户的个人文件夹。等同于Java中的user.home | C:\Users\<用户名> |
%APPDATA% | 指向当前用户的Roaming应用数据文件夹 | C:\Users\<用户名>\AppData\Roaming |
%LOCALAPPDATA% | 指向当前用户的Local应用数据文件夹 | C:\Users\<用户名>\AppData\Local |
%TEMP% 和 %TMP% | 指定临时文件夹的位置 | 用户级别: C:\Users\<用户名>\AppData\Local\Temp 系统级别: C:\Windows\Temp |
%PROGRAMFILES% | 指向64位程序的安装目录 | C:\Program Files |
%PROGRAMFILES(X86)% | 指向32位程序的安装目录(仅在64位Windows上存在) | C:\Program Files (x86) |
%WINDIR% 或 %SYSTEMROOT% | 指向Windows系统的安装目录 | C:\Windows |
%PATH% | 包含一系列分号分隔的路径,用于指定可执行文件的搜索路径 | 多个目录,如 %SystemRoot%\system32; 等 |
%COMPUTERNAME% | 表示计算机的名称 | 安装Windows时设置的计算机名 |
%USERNAME% | 表示当前登录用户的用户名 | 当前登录用户的名称 |
%ALLUSERSPROFILE% | 指向所有用户共享的应用数据文件夹 | C:\ProgramData |
%HOMEDRIVE% | 用户主目录所在的驱动器 | 通常是 C: |
%HOMEPATH% | 用户主目录的路径部分 | \Users\<用户名> |
# 应用程序常用目录
# AppData\Roaming
roaming-漫游
作用:Roaming文件夹用于存储那些可以在不同计算机之间同步的数据。当用户的账户在域环境中漫游时,Roaming中的数据会跟随用户一起移动。也就是说,如果用户登录到网络中的另一台计算机,Roaming文件夹中的设置和数据将会被复制到那台计算机上。
常用来干什么:通常存放应用程序的配置文件、首选项、插件等,这些是用户特定但不需要大量存储空间或高安全性要求的数据。例如,浏览器书签、即时通讯软件的联系人列表等。
# AppData\Local
- 作用:Local文件夹用于存储仅限于当前计算机的数据,不会与其他计算机同步。这意味着即使用户在其他计算机上登录相同的Windows账户,Local文件夹中的数据也不会被复制。
- 常用来干什么:通常用于存放较大的文件、临时文件、缓存、本地设置以及不需要在不同设备间同步的数据。例如,Web浏览器的缓存、游戏的保存进度、应用程序的日志文件等。
# AppData\LocalLow
- 作用:LocalLow文件夹与Local类似,但它专门为低完整性级别的进程设计。这是为了增强安全性和隔离性,防止恶意软件访问敏感信息。LocalLow中的数据同样不会漫游,并且只对当前计算机有效。
- 常用来干什么:主要用于存储那些在Internet区域运行的应用程序(如浏览器中的插件)所创建的数据。这些应用可能具有较低的信任级别,因此它们的数据被限制在这个更安全的环境中。例如,某些浏览器扩展或下载内容的临时存储。
# idea举例说明
- 默认的配置路径: AppData/Roaming/JetBrains/ideaIC2023.1
- 默认的缓存路径: AppData/Local/JetBrains/ideaIC2023.1
# npm举例说明
- 默认的全局依赖路径:AppData/Roaming/npm
- 默认的缓存路径:AppData/Local/npm
# windows两类安装软件方式
# 简易解释
这两个安装包的区别,简单说就是 「正规安装」vs「绿色便携」 的区别:
# Windows Installer(正规安装包)
- 像你平时下载的 .exe 或 .msi 安装文件,比如安装微信、Office 时用的那种。
- 特点:有安装界面,能选安装路径、创建桌面图标、注册到系统,卸载时也能通过控制面板删干净。
- 适合场景:普通用户装软件,需要长期使用、和系统深度集成的软件。
# Windows Embeddable Package(嵌入式便携包)
- 更像一个「免安装绿色版」,比如 Python 官方提供的 .zip 压缩包。
- 特点:解压就能直接用,不写注册表、不留安装痕迹,删文件夹就能卸载。
- 适合场景:开发者想内置软件到自己的产品里(比如把 Python 打包进自己的程序),或者需要快速部署、测试的环境。
# 如何将正规版改为绿色版
# 手动提取(对于简单软件)
- 如果软件简单(例如纯文件复制,不依赖注册表),可直接解压 MSI 文件
msiexec /a "软件.msi" /qb TARGETDIR="D:\提取目录"
- 或者直接使用压缩软件解压: 如7-Zip:直接右键 MSI 文件,用 7-Zip 解压。
# 虚拟化安装
用工具将 MSI 安装的软件及其依赖环境封装成独立包。
原理:劫持系统调用,让程序“认为”自己运行在原始环境中(注册表、文件路径虚拟化)。
推荐工具:
- Cameyo(免费):类似 ThinApp,可生成便携包。
- InstallRite(免费):记录安装前后的系统差异,生成绿色包。
步骤:
- 在虚拟机或干净系统中安装工具。
- 启动工具,开始监控系统状态。
- 运行 MSI 安装程序,完成安装。
- 停止监控,工具会自动对比差异并生成绿色包。
# 二进制文件的本质区别
- MSI 和 ZIP 安装包的核心差异,不在于二进制文件本身,而在于安装过程中对系统环境的依赖和修改。
# MSI 安装后的二进制文件:
- 文件本身与 ZIP 包中的可能完全相同(如果官方未做特殊处理)。
- 但运行依赖外部条件:注册表配置、系统服务、环境变量、依赖库路径等。
- 举例:
- Office 的 WINWORD.EXE 运行时需要注册表中的激活信息和模板路径。
- Visual Studio 的组件需要注册的 COM 对象和系统服务。
# ZIP 绿色包的二进制文件:
- 通常通过以下方式适配“免安装”:
- 静态编译:将依赖库打包进主程序(减少外部依赖)。
- 相对路径:所有配置、资源文件通过相对路径访问。
- 自包含环境:携带私有依赖库(如 Python 的 embed 版自带标准库)。
- 运行不依赖外部条件:解压后所有依赖在文件夹内闭环。