记一次配置Windows终端terminal

立即安装Windows终端terminal

Git发布页面

发布地址 http://github.com/microsoft/terminal/releases

应用商店

安装地址 http://aka.ms/terminal

winget

winget install --id=Microsoft.WindowsTerminal -e

如果提示winget : 无法将“winget”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

如未安装winget,安装地址 http://www.microsoft.com/p/app-installer/9nblggh4nns1#activetab=pivot:overviewtab

如已安装,可能是因为没有将winget添加到环境变量中,可以添加下,或者试试下面这条命令

%LOCALAPPDATA%\Microsoft\WindowsApps\winget install --id=Microsoft.WindowsTerminal -e

安装 Oh My Posh

安装前的注意事项

Windows PowerShell 执行策略
在执行 winget install 命令之前,先查看下,Windows PowerShell 的执行策略

执行策略 是 Windows PowerShell安全策略中的一部分,它将决定你是否可以载入配置文件(包括你的 Windows PowerShell profile文件)和运行脚本,它将会在运行前确定哪些文件必须具有数字签名(digitally signed)

get-ExecutionPolicy 获取 Windows PowerShell 当前执行策略

set-ExecutionPolicy 修改 Windows PowerShell 中执行策略的用户首选项(preference)

执行策略状态说明

`Restricted` 表示状态是禁止的 不载入配置文件, 不执行脚本. Restricted 是默认值.
`RemoteSigned` 所有从互联网上下载的脚本必须通过信任的出版商签名(trusted publisher)
`AllSigned` 所有的配置文件和脚本必须通过信任的出版商签名(trusted publisher),这里所指的脚本页包括在本地计算机上创建的脚本
`Unrestricted` 载入所有的配置文件和脚本,如果运行了一个从互联网上下载且没有数字签名的脚本,在执行前都会被提示是否执行
// 获取 Windows PowerShell 当前执行策略
get-ExecutionPolicy

// 修改 Windows PowerShell 中执行策略
set-ExecutionPolicy RemoteSigned

开始安装

官网链接 http://ohmyposh.dev

发布页下载 http://github.com/JanDeDobbeleer/oh-my-posh/releases/

或者终端执行命令

// oh-my-posh 安装命令
winget install JanDeDobbeleer.OhMyPosh

// oh-my-posh 更新命令
winget upgrade JanDeDobbeleer.OhMyPosh

//可在命令后追加-s winget --location D:\OhMyPosh来设置路径
//如 winget install JanDeDobbeleer.OhMyPosh -s winget --location D:\OhMyPosh

PS:安装成功后需要重新打开终端,才能继续后续的操作

安装 Nerd Fonts 字体解决乱码

Nerd Fonts字体中包含了大量的Icon图标

官网地址 http://www.nerdfonts.com/

releases页面 http://github.com/ryanoasis/nerd-fonts/releases/tag/v2.3.1

官方推荐使用的是Meslo,我使用的是MesloLGM NF

下载后解压丢到C:\Windows\Fonts目录即可完成安装过

打开 终端->设置->外观->字体 进行修改

智能补全/智能提示

效果类似于mac的iterm2

image

PowerShell 7.2 随 PSReadLine 2.1.0 一起提供。 有较新版本可用。 可以在 Windows PowerShell 5.1 及更新版本上安装和使用 PSReadLine 的当前版本。 对于某些功能,需要运行 PowerShell 7.2 或更高版本。

PSReadLine 为 PowerShell 控制台提供强大的命令行编辑体验。 提供以下功能:

  • 命令行的语法着色
  • 语法错误的直观指示
  • 编辑和历史记录) (更好的多行体验
  • 可自定义的键绑定
  • Cmd 和 Emacs 模式
  • 许多配置选项
  • Bash 样式完成在 Cmd 模式下 (可选,在 Emacs 模式下默认)
  • 埃马克扬克/杀环
  • 基于 PowerShell 令牌的“word”移动和删除
  • 预测 IntelliSense
  • 在控制台中动态显示“帮助”,而不会丢失命令行上的位置

PSReadLine 需要 PowerShell 5.1 或更高版本。 PSReadLine 适用于默认的 Windows 控制台主机、窗口终端和Visual Studio Code。 它在Windows PowerShell ISE 中不起作用。

可以从PowerShell 库安装 PSReadLine。 若要在受支持的 PowerShell 版本中安装 PSReadLine,请运行以下命令。

Install-Module -Name PSReadLine -AllowClobber -Force

预测 IntelliSense
预测 IntelliSense 是选项卡完成概念的补充,可帮助用户成功完成命令。 它使用户能够基于用户历史记录和其他特定于域的插件的匹配预测发现、编辑和执行完整命令。

启用预测 IntelliSense
预测性 IntelliSense 默认禁用。 若要启用预测,只需运行以下命令:

Set-PSReadLineOption -PredictionSource History

PredictionSource 参数还可以接受特定于域和自定义要求的插件。

若要禁用预测 IntelliSense,只需运行:

Set-PSReadLineOption -PredictionSource None

更多配置,可以放在配置文件中,让其每次都生效

# Shows navigable menu of all options when hitting Tab
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete

# Autocompletion for arrow keys
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward

配置文件

终端执行

code $PROFILE

首次使用,可能不存在该文件,保存即可

# 去除 Window PowerShell 版权所有提示
clear

# 配置 oh-my-posh 其中kali为主题名,可以执行get-Poshthemes获取主题列表
oh-my-posh init pwsh --config 'C:\Users\Administrator\AppData\Local\Programs\oh-my-posh\themes\kali.omp.json' | Invoke-Expression

# Shows navigable menu of all options when hitting Tab
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete

# Autocompletion for arrow keys
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward

自定义命令

您可以在配置文件中写一些常用的命令来快捷操作,如

# 使用 vscode 打开 $PROFILE 配置文件
function vscodeOpen {
 Code $PROFILE
}

# 使用 nodepad++ 打开 $PROFILE 配置文件
function notepadOpen {
 noetepad $PROFILE
}
本文转载于网络 如有侵权请联系删除

相关文章

  • POJ 1113 Wall 凸包

    大家好,又见面了,我是全栈君。WallTimeLimit:1000MSMemoryLimit:10000KTotalSubmissions:29183Accepted:9768DescriptionOnceuponatimetherewasagreedyKingwhoorderedhischiefArchitecttobuildawallaroundtheKing’scastle.TheKingwassogreedy,thathewouldnotlistentohisArchitect’sproposalstobuildabeautifulbrickwallwithaperfectshapeandnicetalltowers.Instead,heorderedtobuildthewallaroundthewholecastleusingtheleastamountofstoneandlabor,butdemandedthatthewallshouldnotcomeclosertothecastlethanacertaindistance.IftheKingfindsthattheArc

  • ​Tracert命令详解

    如果我们要测试某一个IP都经过哪些路由,用trcert命令即可,这是dos下的一个基本网络命令,具体使用步骤:1,在windows系统下,打开运行;输入cmd;在弹出的dos窗口中输入:tracertip/domain;2,ip是您要查看的ip,域名就是您的域名;这个都是静态的IP,可以向主机提供商咨询,之所以可以使用域名,因为域名做了A记录,也是解析到了IP,所以其实也是IP;3,比如:腾讯的官方网站http://www.qq.com,我们直接在dos里输入:tracertqq.com或者输入tracertwww.qq.com或tracert-4www.qq.com这个结果,可以看出来几个信息: 第一:最左侧的,1,2,3,4~13,这标明在我使用的宽带(使用的是联通宽带)上,经过13个路由节点,可以到达腾讯的服务;如果是电信可能有不同;其他的IP,也有可能不同;各位可以多去测试;正所谓实践(测试)是检验真理的唯一标准。祝各位顺利。第二:中间这三列,单位是ms,是表示我们连接到每个路由节点的速度,返回速度和多次链接反馈的平均值;因为腾讯在国内,经过联通骨干网,网络非常好,所以都很小,

  • 如何用Python复现吉布斯现象?

    1.什么是吉布斯(Gibbs)现象?  在信号处理中,有很多很有意思的现象,比如由于栅栏效应引起的频谱泄露,和我们这一讲要讲到的吉布斯现象。  吉布斯现象和频谱泄露多少有些相像,频谱泄露是因为进行DFT时对时域信号进行了截断;而吉布斯现象则是对频域信号进行了截断。  先来看下维基百科上的解释,吉布斯现象是由HenryWilbraham于1848年最先提出,并由约西亚·吉布斯于1899年证明。在工程应用时常用有限正弦项正弦波叠加逼近原周期信号。所用的谐波次数N的大小决定逼近原波形的程度,N增加,逼近的精度不断改善。但是由于对于具有不连续点的周期信号会发生一种现象:当选取的傅里叶级数的项数N增加时,合成的波形虽然更逼近原函数,但在不连续点附近会出现一个固定高度的过冲,N越大,过冲的最大值越靠近不连续点,但其峰值并不下降,而是大约等于原函数在不连续点处跳变值的9%,且在不连续点两侧呈现衰减振荡的形式。SquareWave  简单来说,就是我们对信号进行分析时,无论是对模拟信号还是数字信号,都无法分析无限大的频谱区间,我们只能截取频谱的一部分来分析,这就导致了对频谱产生了截断。比如一个矩形波信

  • 【R语言】文本挖掘| 网页爬虫新闻内容

    01目标读取该网页的新闻,包括新闻标题,发文日期,时间,每条新闻链接,文章内容图1网页部分截图02安装与加载包install.packages("rvest") library(rvest)复制03网页读取 url<-'https://www.thepaper.cn/' web<-read_html(url) news<-web%>%html_nodes('h2a')复制#用浏览器打开网页,右键单击-检查,查看网页源代码特点,可以知道每条新闻位于h2,a节点读取网页节点。如何查看节点确定每篇新闻所在位置为'h2a',详见视频:关注公众号后台回复【网页节点】查看视频04新闻题目title爬取#获取titletitle<-news%>%html_text()#读取新闻题目复制#查看前6行题目特点head(link)复制图2link数据特点从link的数据结构看,我们只需要href,这个就是每个新闻对应的子链接,因此,我们要写一个循环,将link中的href提取出来。link1

  • Rhino.Python脚本创建球体和圆柱

    Talkischeap,Showmethecode:importrhinoscriptsyntaxasrs f=open("coordnates.txt") line=f.readline() whileline: print(line) nums=line.split() if(len(nums)==8): base=(float(nums[0]),float(nums[1]),float(nums[2])) height=(float(nums[3]),float(nums[4]),float(nums[5])) radius=float(nums[6]) rs.AddCylinder(base,height,radius) elif(len(nums)==5): center=(float(nums[0]),float(nums[1]),float(nums[2])) radius=float(nums[3]) rs.AddSphere(center,radius) line=f.readline() f.close()复制所读取文本文件格式如下:805

  • 安装jumpserver

    笔记内容:安装jumpserver23.5jumpserver介绍Jumpserver是一款使用Python,Django开发的开源跳板机系统,,基于ssh协议来管理,客户端无需安装agent,助力互联网企业高效用户、资产、权限、审计管理官网地址:http://www.jumpserver.org/ 特点:完全开源,GPL授权CMDB资产管理Python编写,容易再次开发实现了跳板机基本功能,认证、授权、审计集成了Ansible,批量命令等支持WebTerminalBootstrap编写,界面美观自动收集硬件信息录像回放命令搜索实时监控批量上传下载23.6安装jumpserver目前jumpserver最新版本是0.4.0,这个版本需要安装docker容器,而且python版本是3.6的,django是1.11版本的,所以安装0.4.0时候要把这几个环境准备好,安装的基本步骤如下: 1.首先安装docker:yuminstall-ydocker 2.启动docker服务:systemctlenabledocker systemctlstartdocker 3.安装docker-comp

  • Github项目推荐 | Emotion-recognition 实时表情识别

    Emotion-recognition-RealtimeemotionrecognitionEmotion-recognition实时表情识别Github项目地址:https://github.com/omar178/Emotion-recognition项目描述我们人类的脸有着复杂的情绪,所以我们要证明我们拥有这些情绪的可能性。情感识别意味着什么?情感识别是一种在软件中使用的技术,它将允许程序使用高级图像处理技术来“读取”人脸上的情绪。企业们一直在尝试将复杂的算法与过去十年出现的图像处理技术相结合,以便通过一个人的脸部图像或视频更多地了解他/她的感受,而不仅仅是面部可能具有的多种情绪的可能性。安装-keras-imutils-cv2-numpy使用这个程序将创建一个通过网络摄像头显示捕获到的场景的窗口和一个表示检测到的情绪可能性的窗口。Demopythonreal_time_video.py复制你可以使用我在代码文件中写入的路径中提供的预训练模型,我已经选择了这个特定的模型,是因为它的准确性得分最高,你可以随意选择,但是在这种情况下你必须运行train_emotion_classif

  • 线程池总结 原

    一、概述NewThread的弊端如下:     a、每次NewThread新建对象性能差。     b、线程缺乏统一的管理,可能无限制的新建线程,相互之间竞争,极可能占用过多的系统资源导致死机或者OOM。     c、缺乏更多功能,如定时执行、定期执行、线程中断。newThread(newRunnable(){ @Override publicvoidrun(){ } }).start();复制Java提供的四种线程池的好处在于:     a、重用存在的线程,减少对象创建、消亡的开销,性能佳。     b、可有效控制最大并发线程数、提供系统资源的使用率,同时避免过多资源竞争,避免堵塞。     c、提供定时执行、定期执行、单线程、并发数控制等功能。 二、Executors创建线程池Java通过Executors提供四种线程池,分别为:newCachedThreadPool 创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待,表示同一时刻

  • 2017年超融合和私有云驱动SaaS市场稳增

    根据市场研究公司Technavio预测,到2021年全球软件即服务(SaaS)市场预计将以8%的年复合增长率增长。当前全球SaaS市场的主要参与者是亚马逊的AWS,IBM,Google,Microsoft和Salesforce。Technavio发现SaaS供应商正在利用技术进步来改进SaaS基础设施及其市场份额。随着对中小型企业(SMB)关注度的增加,SaaS市场参与者正在尝试将中小企业相关需求纳入其SaaS基础架构和解决方案。这将是2017年SaaS市场的主要焦点领域之一。Technavio确定了将在2017年影响全球SaaS市场的以下趋势: 私有云。由于安全问题,许多采用SaaS服务的用户正在使用超融合(HCI)系统来构建自己的私有云。HCI系统是具有预先集成的高级计算能力和存储服务的硬件设备。Technavio发现,北美和欧洲大约一半的企业已经使用超融合平台迁移到构建自己的私有云。公有云。公有云有助于降低企业的成本,而私有云允许企业更好地控制其数据。Technavio预测,由于采用基于公有云的SaaS服务所需的较低成本的吸引力,公有云将变得更受创业公司和中小型企业的欢迎。但Te

  • 利用Django在前端展示Oracle 状态趋势

    开发环境操作系统:CentOS7.4Python版本:3.6Django版本:1.10.5操作系统用户:oms数据处理:pandas前端展示:highcharts通过上面我们已介绍了如何定时获取系统Oracle状态语句以及如何利用pandas处理成highcharts识别的格式这节讲如何让其在前端显示建立页面的步骤我们还是通过这张图的步骤来说明如何建立页面urls.py页面oracle_performance分别为系统状态趋势的页面(以天为单位)performance分别为系统状态趋势的页面(以小时为单位)views.py这里以oracle_performance函数做例子讲解上面的url设定调用views.py里面的oracle_performance函数,该函数讲解如下:1.首先判断请求的方法是不是post(提交表单前),如果不是则打开oracle_performance.html页面,charts_oracle_performance为定义的表单,可在forms.py中定义如果请求方法为post(提交表单后),首先验证输入是否正确,如果正确则获取相应的ipaddress,tnsn

  • 浅谈RSA加密

    RSA背景 在1976年以前,传统的加解密过程是: 1、A采用某种手段对数据进行加密。 2、数据传输到B的手中。 3、B逆向的实施A加密采用的步骤。 4、数据被还原。 这就是所谓的对称加密。 解密和加密的互为彼此的逆过程。加密的人必定知道解密的手段。解密的人也必定知道加密的手段。 这种加解密手段的最大特点就是对称(易于操作),但这也正是它的最大缺点。因为加密方,必须将加密规则告知解密方。 这就造成两个问题: 1、加解密规则定期就要更新,如何将加解密规则顺利的告诉对方。 2、如何安全的保存加解密规则。因为只要有一方将加解密规则泄露。那么这种加密手段就可以说被破解了。 基于此,在1976年由两位美国计算机科学家提出了一种全新的思路("Diffie-Hellman密钥交换算法"),即采用公钥-私钥对的形式进行加解密。 1、解密方生成一对密钥:公钥-私钥对。两者不存在互相推导出彼此的可能。 2、公钥随普通网络到达加密方,私钥则始终保留在解密者手中。 3、加密方使用公钥将文件转为密文 4、将密文传输给解密方。 5、解密方使用私钥将密文转为明文,完成解密。 6、(防盗连接:本文首发自http://

  • jsp中的九大内置对象的定义及作用

    1.什么叫做内置对象? 答:在jsp中,有一些对象即开发者不需要自己去创建对象(全部由系统创建好),就可以直接使用对象调用相应的方法,这些由系统创建的对象称为内置对象。 2.九大内置对象分别是哪些?   内置对象名          类型                                 对象名               作用域 四大作用域对象: request  &nb

  • Apache开启PHP的伪静态模式

    首先,什么是伪静态: 伪静态又名URL重写,是动态的网址看起来像静态的网址。换句话说就是,动态网页通过重写URL方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面。 1.检测Apache是否支持mod_rewrite 通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“LoadedModules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。 如果没有开启“mod_rewrite”,则打开目录您的apache安装目录“/apache/conf/”下的httpd.conf文件,通过Ctrl+F查找到“LoadModulerewrite_module”,将前面的”#”号删除即可。 如果没有查找到,则到“LoadModule”区域,在最后一行加入“LoadModulerewrite_modulemodules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。 2.在httpd.conf中配置虚拟主机 #Virtualhosts启

  • 网络架构--防火墙双机热备(主备、负载均衡)

      1、目前,防火墙厂商一般都支持双机热备功能,达到防火墙的高可靠目标。   参考华三的官网说明: http://www.h3c.com/cn/d_201405/922032_30005_0.htm

  • js中文输入法字符串截断

          <!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <title>js中文输入法字符串截断</title> </head> <body> <p> <inputtype="text"class="title-input"> <spanclass="title-length">0</span>/10 </p> <scriptsrc="https://code.jquery.com/jquery-3.1.1.min.js"></script> <script> $(function(){ vartitleInput=$(".title-input"), titleLength=$(".title-length"); titleInput.on("keyup",function()

  • 基本数据结构的比较

    基本数据结构的比较# 基本数据结构 1.列表(List)   元素有放入顺序,元素可重复。 数组实现(ArrayList类)   JDK8源码中,初始长度是10,每次数组扩展都增加1/2左右。即: privatevoidgrow(intminCapacity){//minCapacity为size+1,每次add元素都要检查 intoldCapacity=elementData.length;//扩展前数组的容量 intnewCapacity=oldCapacity+(oldCapacity>>1);//扩展后数组的容量约为原容量1.5倍 if(newCapacity-minCapacity<0) newCapacity=minCapacity; elementData=Arrays.copyOf(elementData,newCapacity); } 复制 优点:   可以通过下标来访问或者修改元素,对下标访问的set和get时间复杂度为O(1); 缺点: 插入和删除的花费开销较大,除非变动是在ArrayList的末端进行。比如当在第一个位置前插入一个元素,那么首

  • JS数组转字符串

    JavaScript允许数组与字符串之间相互转换。Array对象的数组与字符串相互转换方法数组方法   说明toString()   将数组转换成一个字符串toLocalString()   把数组转换成本地约定的字符串join()   将数组元素连接起来以构建一个字符串示例1下面使用toString()方法读取数组的值。数组中toString()方法能够把每个元素转换为字符串,然后以逗号连接输出显示。   vara=[1,2,3,4,5,6,7,8,9,0]; //定义数组   vars=a.toString(); //把数组转换为字符串   console.log(s); //返回字符串“1,2,3,4,5,6,7,8,9,0”   console.log(typeofs); //返回字符串string,说

  • Hive基于MapReduce运行过程

    原文链接https://www.cnblogs.com/felixzh/p/8604188.html Map阶段包括: 第一读数据:从HDFS读取数据 1、问题:读取数据产生多少个Mapper? Mapper数据过大的话,会产生大量的小文件,由于Mapper是基于虚拟机的,过多的Mapper创建和初始化及关闭虚拟机都会消耗大量的硬件资源; Mapper数太小,并发度过小,Job执行时间过长,无法充分利用分布式硬件资源; 2、Mapper数量由什么决定? (1)输入文件数目 (2)输入文件的大小 (3)配置参数 这三个因素决定的。涉及参数:   mapreduce.input.fileinputformat.split.minsize//启动map最小的splitsize大小,默认0  mapreduce.input.fileinputformat.split.maxsize//启动map最大的splitsize大小,默认256M  dfs.block.size//block块大小,默认64M  计算公式:

  • 力扣139——单词拆分

    原题 给定一个非空字符串s和一个包含非空单词列表的字典wordDict,判定s是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例1: 输入:s="leetcode",wordDict=["leet","code"] 输出:true 解释:返回true因为"leetcode"可以被拆分成"leetcode"。 复制 示例2: 输入:s="applepenapple",wordDict=["apple","pen"] 输出:true 解释:返回true因为"applepenapple"可以被拆分成"applepenapple"。  注意你可以重复使用字典中的单词。 复制 示例3: 输入:s="catsandog",wordDict=["cats","dog","sand","and","cat"] 输出:false 复制 原题url:https://leetcode-cn.com/problems/word-break/ 解题 暴力法 我拿到这道题目时,第一个想到的就是暴力法,从下标0开始,每一

  • iOS开发(OC)中的命名规范

        开小差:最近发现自己有一个经验主义的毛病,不太容易接受新的知识,这对从事技术研发的人来说不太合理,需要改之。   正文:通过读写大量代码我有自己的一套编程思路和习惯,自认为自己的编码习惯还是不错的,代码结构也算清晰,因为我一直以来都是代码看的多写的多,但是总结的比较少,知识经常不成体系。以后多花点时间把自己的经验和学习知识加以总结一下吧,这样有利于去指导新人,也更有利于加深自己的知识认知。今天就从代码规范入手总结一下iOS开发中好的编码规范吧。我们在开发中看别人的代码的时候经常会去抱怨至少内心里骂娘,其实别人看你的代码也许也在抱怨你,我更深刻的意识到:高手和新手有代码规范水平的差异,高手与高手之间有变成思想的差异,新手之间就在模仿中就更加凌乱了。因此团队开发一定要有很好的且统一的编码规范,这样才有利于团队开发与快速维护。今天先写第一篇:《iOS开发(OC)中的命名规范》 命名原则 1.一般性原则:可读性高(简洁且清晰)和防止命名冲突(通过加前缀来保证)。   Objective-C的命名通常都比较长,名称遵循驼峰式命名法.一个好的命名标准

  • 深入理解数据库编程中的超时设置

    数据库是开发过程中最常用的组件,然而我们经常会遇到各种各样的超时异常,如: connect timeout:建立数据库连接超时 socket timeout:socket读取超时 statement timeout:单个sql执行超时 transaction timeout:事务执行超时,一个事务中可能包含多个sql get connection timeout:从连接池中获取链接超时 读完此文,你将彻底掌握各种超时产生的根本原因,以及对应的解决方案。 1connectTimeout与socketTimeout connect timeout和socket timeout都属于TCP层面的超时。 以mysql为例,我们可以在jdbc url中指定connectTimeout和socketTimeout。如: jdbc:mysql://localhost:3306/db?connectTimeout=1000&socketTimeout=60000复制

相关推荐

推荐阅读