一、KMS服务器环境介绍

   操作系统Centos 7.x  Windows Server 也是可以的,此处以Centos7为例安装,使用默认1688端口号

二、服务端安装过程:

1、下载安装包(这里是安装的第一个安装包):

wget https://github.com/Wind4/vlmcsd/releases/download/svn1111/binaries.tar.gz /tmp
wget https://raw.githubusercontent.com/Mr-xn/kms-server-deploy/master/kms-server-deploy.sh &&chmod +x kms-server-deploy.sh &&./kms-server-deploy.sh
wget --no-check-certificate https://github.com/teddysun/across/raw/master/kms.sh && chmod +x kms.sh && ./kms.sh

2、解压安装包:

tar -zxvf binaries.tar.gz

3、选择自己对应的系统版本,我这里选择Linux,选择Intel处理器,使用static中的vlmcsd-x64-musl-static,将文件拷贝至自己存放的目录:

mkdir /var/kms
cp /tmp/binaries/Linux/intel/static/vlmcsd-x64-musl-static /var/kms

4、添加执行权限运行服务

chmod +x /var/kms/vlmcsd-x64-musl-static

./vlmcsd-x64-musl-static            

5、放行防火墙端口,本服务使用的1688端口

firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --reload

三、客户端激活操作(windows)

1、#配置序列号

slmgr /ipk xxxxx-xxxxx-xxxxx-xxxxx

2、#配置KMS服务器地址(可以是域名或者IP地址)

 slmgr /skms xxxx

3、#激活系统          

slmgr /ato

4、#查看系统激活到期时间    

slmgr /xpr

5、#查看授权详细信息       

slmgr /dlv

四、客户端激活操作(office)

1、先进入office安装目录:

#以下x64默认安装地址
office2016/: "%ProgramFiles%\Microsoft Office\Office16"
office2013:"%ProgramFiles%\Microsoft Office\Office15"
office2010:"%ProgramFiles%\Microsoft Office\Office14"
#以下是x86默认安装地址
office2016/:"%ProgramFiles(x86)%\Microsoft Office\Office16"
office2013:"%ProgramFiles(x86)%\Microsoft Office\Office15"
office2010:"%ProgramFiles(x86)%\Microsoft Office\Office14"

2、#配置序列号

cscript ospp.vbs /inpkey:XXXXXXXXXXX

3、#配置KMS服务器地址,可以是域名或者IP地址

cscript ospp.vbs /sethst:xxxxxxx

4、#激活office

cscript ospp.vbs /act

5、查看激活状态

cscript ospp.vbs /dstatus

五、激活脚本:

@echo off
TITLE Microsfot Windows Office Active V1.
cls
color a
REM 获得管理员权限
openfiles >nul >nul ||(
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs" >nul >&
goto:eof
)
del /f /q "%temp%\getadmin.vbs" >nul >nul
pushd "%~dp0" REM 设置KMS服务器地址,请自行更换。
set kmserver=kms.cangshui.net
::set kmserver=kms.03k.org
::set kmserver=kms.mrxn.net echo =========================================================================================================
echo Author:ITS
echo Create://
echo UpdataDate://
echo Version:V1.
echo note:增加人机对话界面,用户可以自行选择
echo Function:
echo 本版本支持的服务器操作系统:Windows Server2008/2008R2//2012R2//,Standard,Enterprise
echo 本版本支持的桌面操作系统://8.1/Win10/LTSC/LSTB,Professional,Enterprise
echo 本版本支持的office:/// professional
echo 只支持VL版本,不支持Retail版本
echo =========================================================================================================== rem KMS服务器可用性检查
:ping
set /a cont0+=
@echo.
echo 正在检查KMS服务器是否可达......
echo 正在进行第%cont0%次尝试......
ping /n /w %kmserver% >nul && (goto ok) || (goto tem1) :tem1
if %cont0% GTR goto error
goto ping :ok
@echo.
@echo.服务器连接正常!请选择需要激活操作
@echo. :select
echo.. 激活 Windows ALL
echo.. 激活 office2019(包括visio与project)
echo.. 激活 office2016(包括visio与project)
echo.. 激活 office2013(包括visio与project)
echo.. 激活 office2010(包括visio与project)
echo.. Office2019 Retail Convert VOLUME,并激活
echo . 退出
echo;
set /p flag="请输入(数字):"
if %flag%== goto windows
if %flag%== goto active_office_2019
if %flag%== goto active_office_2016
if %flag%== goto active_office_2013
if %flag%== goto active_office_2010
if %flag%== goto Office_Retail2VOL
if %flag%== exit :windows
rem 获取操作系统版本....
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "EditionSubstring" /t REG_SZ /D "" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "RegisteredOrganization" /t REG_SZ /D "" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "RegisteredOwner" /t REG_SZ /D "" /f
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('wmic os get Caption /value') do set "%%~i" >nul >nul @echo 检测到系统版本:%Caption%
if "%Caption%" == "Microsoft Windows 10 Enterprise LTSC 2019" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk M7XTQ-FN8P6-TTKYV-9D4CC-J462D & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 10 企业版 LTSC" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk M7XTQ-FN8P6-TTKYV-9D4CC-J462D & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 10 Enterprise LTSB 2016" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 10 企业版 LTSB" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 10 Professional" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 10 Enterprise" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 10 专业版" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 10 企业版" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 10 企业版 G" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk YYVX9-NTFWV-6MDM3-9PT4T-4M68B & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 8 Professional" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk NG4HW-VH26C-733KW-K6F98-J8CK4 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 8 Enterprise" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk 32JNW-9KQ84-P47T8-D8GGY-CWCK7 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 8 专业版" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk NG4HW-VH26C-733KW-K6F98-J8CK4 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 8 企业版" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk 32JNW-9KQ84-P47T8-D8GGY-CWCK7 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 8.1 Professional" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk GCRJD-8NW9H-F2CDX-CCM8D-9D6T9 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 8.1 Enterprise" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk MHF9N-XY6XB-WVXMC-BTDCT-MKKG7 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 8.1 专业版" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk GCRJD-8NW9H-F2CDX-CCM8D-9D6T9 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 8.1 企业版" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk MHF9N-XY6XB-WVXMC-BTDCT-MKKG7 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 7 Professional" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 7 Enterprise" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk 33PXH-7Y6KF-2VJC9-XBBR8-HVTHH & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 7 专业版" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows 7 企业版" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk 33PXH-7Y6KF-2VJC9-XBBR8-HVTHH & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server 2012 Datacenter" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk 48HP8-DN98B-MYWDG-T2DCC-8W83P & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server 2012 Standard" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk XC9B7-NBPP2-83J2H-RHMBY-92BT4 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server 2012 R2 Datacenter" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server 2012 R2 Standard" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk D2N9P-3P6X9-2R39C-7RTCD-MDVJX & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server 2019 Datacenter" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk WMDGN-G9PQG-XVVXX-R3X43-63DFG & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server 2019 Standard" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk N69G4-B89J2-4G8F4-WWYCC-J464C & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server 2016 Datacenter" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk CB7KF-BWN84-R7R2Y-793K2-8XDDG & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server 2016 Standard" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server Datacenter" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk 6NMRW-2C8FM-D24W7-TQWMY-CWH2D & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server Standard" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk N2KJX-J94YW-TQVFB-DG9YT-724CC & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server 2008 Standard" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk YC6KT-GKW9T-YTKYR-T4X34-R7VHC & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server 2008 Enterprise" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk YQGMW-MPWTJ-34KDK-48M3W-X4Q6V & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server 2008 Datacenter" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk 7M67G-PC374-GR742-YH8V4-TCBY3 & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server 2008 R2 Standard" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk YC6KT-GKW9T-YTKYR-T4X34-R7VHC & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server 2008 R2 Enterprise" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk 489J6-VHDMP-X63PK-3K798-CPX3Y & goto active_windows & set w=1) else (set w=0)
if "%Caption%" == "Microsoft Windows Server 2008 R2 Datacenter" (cscript //Nologo %windir%\system32\slmgr.vbs /ipk 74YFP-3QFB3-KQT8W-PMXWJ-7M648 & goto active_windows & set w=1) else (set w=0)
if %w% EQU (echo "没找到匹配的系统版本")
pause.
exit :active_windows
cscript //Nologo %windir%\system32\slmgr.vbs /skms %kmserver%
cscript //Nologo %windir%\system32\slmgr.vbs /skhc
cscript //Nologo %windir%\system32\slmgr.vbs /ato && echo windows激活成功,请查看详情 ||echo windows激活失败
cscript //Nologo %windir%\system32\slmgr.vbs /dlv
pause.
exit :active_office_2019
if exist "%ProgramFiles%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office16"
if exist "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office16"
cscript //nologo ospp.vbs /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP
cscript //nologo ospp.vbs /inpkey:B4NPR-3FKK7-T2MBV-FRQ4W-PKD2B
cscript //nologo ospp.vbs /inpkey:9BGNQ-K37YR-RQHF2-38RQ3-7VCBB
cscript //nologo ospp.vbs /sethst:%kmserver%
cscript //nologo ospp.vbs /act && echo office激活成功 ||echo Office激活失败你可能的安装的不是VOLUME版本,请退出程序选择第6项
@echo office2019激活可能需要重启计算机才生效,请按任意键重启计算机
pause
shutdown -r -t
exit :active_office_2016
if exist "%ProgramFiles%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office16"
if exist "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office16"
cscript //nologo ospp.vbs /inpkey:XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99
cscript //nologo ospp.vbs /inpkey:YG9NW-3K39V-2T3HJ-93F3Q-G83KT
cscript //nologo ospp.vbs /inpkey:PD3PC-RHNGV-FXJ29-8JK7D-RJRJK
cscript //nologo ospp.vbs /sethst:%kmserver%
cscript //nologo ospp.vbs /act && echo office激活成功 ||echo Office激活失败你可能的安装的不是VOLUME版本
pause
exit :active_office_2013
if exist "%ProgramFiles%\Microsoft Office\Office15\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office15"
if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office15"
cscript //nologo ospp.vbs /inpkey:YC7DK-G2NP3-2QQC3-J6H88-GVGXT
cscript //nologo ospp.vbs /inpkey:FN8TT-7WMH6-2D4X9-M337T-2342K
cscript //nologo ospp.vbs /inpkey:C2FG9-N6J68-H8BTJ-BW3QX-RM3B3
cscript //nologo ospp.vbs /sethst:%kmserver%
cscript //nologo ospp.vbs /act && echo office激活成功 ||echo Office激活失败你可能的安装的不是VOLUME版本
pause
exit :active_office_2010
if exist "%ProgramFiles%\Microsoft Office\Office14\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office14"
if exist "%ProgramFiles(x86)%\Microsoft Office\Office14\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office14"
cscript //nologo ospp.vbs /inpkey:VYBBJ-TRJPB-QFQRF-QFT4D-H3GVB
cscript //nologo ospp.vbs /inpkey:YGX6F-PGV49-PGW3J-9BTGG-VHKC6
cscript //nologo ospp.vbs /inpkey:7MCW8-VRQVK-G677T-PDJCM-Q8TCP
cscript //nologo ospp.vbs /sethst:%kmserver%
cscript //nologo ospp.vbs /act && echo office激活成功 ||echo Office激活失败你可能的安装的不是VOLUME版本
pause
exit REM 将零售版 Office 转换为 VOL 版
:Office_Retail2VOL
if exist "%ProgramFiles%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office16"
if exist "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office16"
cls
echo 正在重置Office2019零售激活...
cscript ospp.vbs /rearm
echo 正在安装 KMS 许可证...
for /f %%u in ('dir /b ..\root\Licenses16\ProPlusVL_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%u" >nul
for /f %%v in ('dir /b ..\root\Licenses16\ProPlus2019VL_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%v" >nul
for /f %%w in ('dir /b ..\root\Licenses16\ProjectProVL_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%w" >nul
for /f %%x in ('dir /b ..\root\Licenses16\ProjectPro2019VL_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" >nul
for /f %%y in ('dir /b ..\root\Licenses16\VisioProVL_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%y" >nul
for /f %%z in ('dir /b ..\root\Licenses16\VisioPro2019VL_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%z" >nul
echo 正在安装 MAK 许可证...
for /f %%u in ('dir /b ..\root\Licenses16\ProPlusVL_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%u" >nul
for /f %%v in ('dir /b ..\root\Licenses16\ProPlus2019VL_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%v" >nul
for /f %%w in ('dir /b ..\root\Licenses16\ProjectProVL_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%w" >nul
for /f %%x in ('dir /b ..\root\Licenses16\ProjectPro2019VL_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" >nul
for /f %%y in ('dir /b ..\root\Licenses16\VisioProVL_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%y" >nul
for /f %%z in ('dir /b ..\root\Licenses16\VisioPro2019VL_mak*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%z" >nul
echo 转换完成,开始激活
goto active_office_2019 :error
@echo.
@echo.=========================================================
echo 无法连接KMS服务器,请检查网络状态或者检查KMS服务状态
echo 或者更换kmServer服务器地址
@echo.=========================================================
echo 是否重试连接?输入[y]重试,输入[n]以退出:
set /p choi="请选择:"
set cont0=
if %choi% ==y goto ping
pause
@echo.
exit

六、KMS密钥查询

Windows  https://docs.microsoft.com/zh-cn/windows-server/get-started/kmsclientkeys

Office https://docs.microsoft.com/zh-cn/DeployOffice/vlactivation/gvlks

七、windows 活动目录通过配置批量许可激活服务,实现加入AD的计算机自动激活。

请参考:https://blog.51cto.com/wangchunhai/1976822

自建KMS服务器激活Windows office的更多相关文章

  1. KMS服务器激活Windows和Office2013EnterprisePlus

    KMS服务器激活Windows和Office2013EnterprisePlus 参考了文档 http://wenku.baidu.com/view/0cb2602358fb770bf68a5501. ...

  2. 一句命令激活windows/office (https://03k.org/kms.html)

    https://03k.org/kms.html 本站上线KMS服务~一句命令激活windows/office kissshot2015年11月1日 装机必备, 软件下载 240 条评论 服务器地址: ...

  3. 在命令行中执行kms命令激活Microsoft Office 2010

    激活office2010的命令是什么?激活office2010除了使用office2010激活工具之外,还可以使用kms命令来激活office2010,但是office2010激活命令还需考虑32位或 ...

  4. 使用vlmcsd自建KMS服务~一句命令激活windows/office

    服务作用:在线激活windows和office 适用对象:VOL版本的windows和office 适用版本:截止到win10和office2016的所有版本 服务时间:24H,偶尔更新维护 优点:在 ...

  5. kms在线激活windows和office

    本激活,只适用vol版本的windows系统和office 激活windows在windows中使用管理员方式打开cmd命令输入slmgr /skms chongking.com切换kms服务器地址为 ...

  6. KMS服务器激活WIN方法

    KMS激活的过程简单说就是:欲激活的电脑向KMS服务器请求,KMS服务器做出回应同意激活. KMS激活软件是将KMS服务器用一段代码来模拟,做成一个可执行的程序(即所谓的KMS伺服器).KMS激活软件 ...

  7. 一句命令激活windows/office

    激活windows 服务器地址:kms.03k.org (点击检测KMS服务器是否正常) 更新: 脚本维护更新:2016-11-02 服务端版本:2017-06-17 (1111) 有疑问可以戳QQ群 ...

  8. 使用docker的kms服务器激活office2016专业增强版

    我安装了office2016专业增强版,使用自己搭建的kms激活服务器无法激活,回来使用了一下脚本: 感谢,rainfarm的博主.博客地址:http://blog.sina.com.cn/s/blo ...

  9. KMS服务器软件-windows/OpenWRT-X64版

    软件项目: https://github.com/Wind4/vlmcsd windows版kms服务器 https://files.cnblogs.com/files/SilenceRet/vlmc ...

随机推荐

  1. BZOJ[HNOI2005]狡猾的商人(差分约束)

    1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4969  Solved: 2496[Submit][Sta ...

  2. java8新特性 - 什么是函数式接口 @FunctionalInterface?

    什么是函数式接口 @FunctionalInterface 源码定义 /** * An informative annotation type used to indicate that an int ...

  3. HTTP响应的结构是怎么样的?

    HTTP响应由三个部分组成:状态码(Status Code):描述了响应的状态.可以用来检查是否成功的完成了请求.请求失败的情况下,状态码可用来找出失败的原因.如果Servlet没有返回状态码,默认会 ...

  4. android之 xml文件一般用到的属性

    android:layout_above 将该控件的底部至于给定ID的控件之上android:layout_below 将该控件的顶部至于给定ID的控件之下android:layout_toLeftO ...

  5. MySQL创建数据表时设定引擎MyISAM/InnoDB

    我在配置mysql时将配置文件中的默认存储引擎设定为了InnoDB.今天查看了MyISAM与InnoDB的区别,在该文中的第七条"MyISAM支持GIS数据,InnoDB不支持.即MyISA ...

  6. 常见面试题之*args

    这个地方理解即可,只是面试的时候会被问到,单独做了一下知识点的整理,不推荐使用. def self_max(a,b,c,d,e,f,g,h,k,x=1,y=3,z=4): #默认参数 print(a, ...

  7. 时间轮算法(TimingWheel)是如何实现的?

    前言 我在2. SOFAJRaft源码分析-JRaft的定时任务调度器是怎么做的?这篇文章里已经讲解过时间轮算法在JRaft中是怎么应用的,但是我感觉我并没有讲解清楚这个东西,导致看了这篇文章依然和没 ...

  8. 《Java基础知识》Java final关键字:阻止继承和多态

    在 Java 中,声明类.变量和方法时,可使用关键字 final 来修饰.final 所修饰的数据具有“终态”的特征,表示“最终的”意思.具体规定如下: final 修饰的类不能被继承. final ...

  9. Ansible自动化部署入门到进阶笔记

    目录 一.基本部署 安装Ansible Ansible配置文件 定义Inventory 使用秘钥方式连接 使用帮助 Ansible命令应用基础 二.常见模块 三.Ansible playbook 四. ...

  10. [从今天开始修炼数据结构]队列、循环队列、PriorityQueue的原理及实现

    [从今天开始修炼数据结构]基本概念 [从今天开始修炼数据结构]线性表及其实现以及实现有Itertor的ArrayList和LinkedList [从今天开始修炼数据结构]栈.斐波那契数列.逆波兰四则运 ...