前言今天介绍一下Java的两个集合类,ArrayList和LinkedList,这两个集合的知识点几乎可以说面试必问的。对于这两个集合类,相信大家都不陌生,ArrayList可以说是日常开发中用的最多的工具类了,也是面试中几乎必问的,LinkedList可能用的少点,但大多数的面试也会有所涉及,尤其是关于这两者的比较可以说是家常便饭,所以,无论从使用上还是在面试的准备上,对于这两个类的知识点我们都要有足够的了解。ArrayListArrayList是List接...
继续阅读 >
分类:编程语言
2020
10-08
10-08
Redis缓存常用4种策略原理详解
我们都知道,提高系统性能的最简单也最流行的方法之一其实就是使用缓存。我们引入缓存,相当于对数据进行了复制。每当系统数据更新时,保持缓存和数据源(如MySQL数据库)同步至关重要,当然,这也取决于系统本身的要求,看系统是否允许一定的数据延迟。最常见的几种缓存策略、它们的优缺点以及使用场景,分别是:Cache-AsideRead-ThroughWrite-ThroughWrite-BehindCache-Aside策略Cache-Aside可能是最常用的缓存策略。...
继续阅读 >
2020
10-08
10-08
如何利用python进行时间序列分析
题记:毕业一年多天天coding,好久没写paper了。在这动荡的日子里,也希望写点东西让自己静一静。恰好前段时间用python做了一点时间序列方面的东西,有一丁点心得体会想和大家分享下。在此也要特别感谢顾志耐和散沙,让我喜欢上了python。什么是时间序列时间序列简单的说就是各时间点上形成的数值序列,时间序列分析就是通过观察历史数据预测未来的值。在这里需要强调一点的是,时间序列分析并不是关于时间的回归,它主要是研究自...
继续阅读 >
2020
10-08
10-08
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
楼主最新对已做项目进行打包优化,配置了打包环境下去除console.log语句插件---使用uglifyjs-webpack-plugin具体代码如下npminstalluglifyjs-webpack-plugin-DconstUglifyJsPlugin=require('uglifyjs-webpack-plugin')configureWebpack:config=>{if(isProduction){config.plugins=config.plugins.concat([newUglifyJsPlugin({uglifyOptions:{compress:{...
继续阅读 >
2020
10-08
10-08
vs2017智能感知错误解决代码标红但编译通过问题
当VisualStudio运行编译器可以通过,但在错误窗口和编辑窗口代码下划波浪线,代码智能感知显示错误:代码实际生成成功,但Intellisense将多个类标记为缺失,即使它们显然存在并清楚地正确编译。产生原因:1、智能感知错误在错误列表中的下拉列表,它允许您看到生成+Intellisense,在上面的情况下,它产生3个错误,但如果我只是显示生成,则没有错误。说明:IntelliSense感知出现异常。解决方案:----关闭工程...
继续阅读 >
2020
10-08
10-08
C# 使用Tcp/Udp协议的示例代码
所使用的:多线程委托Socket键值队个人跟着视频做的一个小练习,有兴趣的可以去看一下对于初学者来讲是比较有帮助的连接:https://www.bilibili.com/video/BV1bZ4y1W74q?p=3&t=358废话不多说上代码 综合视频中的理解有什么不对的地方希望大神指点一下publicpartialclassForm1:Form{publicForm1(){InitializeComponent();myAddOnlieDelegate=AddOnlie;myAddTextDelegate=AddTe...
继续阅读 >
2020
10-08
10-08
ubuntu16.04 升级内核的方法步骤
一、环境在虚拟机上运行的ubuntu16.04,使用命令uname-r查看当前系统内核版本当前版本为4.15.0-45-generic要升级的内核为4.20.2二、准备需要的材料到网址https://kernel.ubuntu.com/~kernel-ppa/mainline/下载要升级的内核版本选择对应的文件,我的是amd64使用命令下载(也可以网页下载)wgethttps://kernel.ubuntu.com/~kernel-ppa/mainline/v4.20.2/linux-headers-4.20.2-042002_4.20.2-042002.201901171620_all.debwgethttp...
继续阅读 >
2020
10-08
10-08
ubuntu安装多个版本的CUDA并随时切换
CUDA是什么就不介绍了,直接讲怎么实现CUDA多版本的共存和实时切换。1、安装多个版本的CUDA这里,我们以cuda9-1版本和cuda9-0版本为例(先安装哪个无所谓)首先,在cuda版本库中选择自己需要的cuda版本。然后,选择对应的安装包,这里选择runfile类型的安装文件,以便后面设置每个cuda的安装路径。下载完成以后,我们利用cd命令,进入到cuda_8.0.61_375.26_linux.run文件所在的目录中,然后运行下面的指令,进行安装(注意这个...
继续阅读 >
2020
10-08
10-08
Redis缓存穿透出现原因及解决方案
在并发式的项目当中,一定要考虑一个缓存穿透的情况。那么什么是缓存穿透呢?简单的说来,就是当大量请求的key根本不在缓存当中,所以导致了请求直接到了数据库上,根本没有经过缓存这一层。比如一个黑客故意制造我们缓存中不存在的key发送大量的请求,就会导致请求直接落到数据库上。也就是说,缓存穿透就是:1.缓存层不命中。2,存储层不命中,不将空的结果写回缓存。3,返回空结果给客户端。一般mysql的默认最大连接数是150左右...
继续阅读 >
2020
10-08
10-08
浅谈在vue-cli3项目中解决动态引入图片img404的问题
博主最近手头再做一个项目,需要调用天气接口,并且还要动态显示天气相关图片icon。本来以为没什么大问题,结果硬生生被这个动态图片路径搞得民不聊生(博主还是tooyoung,toosimple~),给出效果图:就是那个红框选中的那个天气状况图标icon要根据当前城市获取当前城市天气状态码,再根据当前城市状态码找到这个对应的天气图标icon~~按照一般的开发模式,静态图片路径是相对路径还是绝对路径都可以,因为图片路径是静态的是死...
继续阅读 >
2020
10-08
10-08
Ubuntu安装和卸载CUDA和CUDNN的实现
前言最近在学习PaddlePaddle在各个显卡驱动版本的安装和使用,所以同时也学习如何在Ubuntu安装和卸载CUDA和CUDNN,在学习过程中,顺便记录学习过程。在供大家学习的同时,也在加强自己的记忆。本文章以卸载CUDA8.0和CUDNN7.05为例,以安装CUDA10.0和CUDNN7.4.2为例。安装显卡驱动禁用nouveau驱动sudovim/etc/modprobe.d/blacklist.conf在文本最后添加:blacklistnouveauoptionsnouveaumodeset=0然后执行:sudoupda...
继续阅读 >
2020
10-08
10-08
linux上搭建私有Git服务器的详细教程
1.服务器搭建远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。搭建Git服务器需要准备一台运行Linux的机器,在此我们使用CentOS。以下为安装步骤:1.下载git-2.22.0.tar.gz https://Github.com/Git/Git/archive...
继续阅读 >
2020
10-08
10-08
通过实例简单了解Python sys.argv[]使用方法
sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白。因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。下面我们通过一个极简单的test.py程序的运行结果来说明它的用法。importsysa=sys.argv[0]print(a)将t...
继续阅读 >
2020
10-08
10-08
哪种Python框架适合你?简单介绍几种主流Python框架
众所周知,Python开发框架大大减少了开发者不必要的重复劳动,提高了项目开发效率的同时,还使得创建的程序更加稳定。目前比较主流的Python框架都有哪些呢?一般大家用的比较多的是Django、Flask、Scrapy、Diesel、Cubes、Pulsar和Tornado。那么这些Python框架的区别是什么呢?下面我们一起来看看这些Python框架的不同适用环境。1、Django谈到Python框架,我们第一个想到的应该就是Django。Django作为一个PythonWeb应用开发框架,...
继续阅读 >
2020
10-08
10-08
python logging 重复写日志问题解决办法详解
pythonlogging重复写日志问题用Python的logging模块记录日志时,遇到了重复记录日志的问题,第一条记录写一次,第二条记录写两次,第三条记录写三次。。。很头疼,这样记日志可不行。网上搜索到了原因与解决方案:原因:没有移除handler解决:在日志记录完之后removeHandler修改前示例代码:importloggingdeflog(message):logger=logging.getLogger('testlog')streamhandler=logging.StreamHandler()streamhandler.set...
继续阅读 >
2020
10-08
10-08
Ubuntu16.04上安装CUDA9.0 详细教程
前言: 本篇文章是基于安装CUDA9.0的经验写,CUDA9.0目前支持Ubuntu16.04和Ubuntu17.04两个版本,如下图所示(最下面的安装方式我们选择第一个,即runfile方式): 大家可以先将CUDA文件下载下来,但是最好不要急于安装,一定要先将NVIDIA给出官方指导手册仔细看一下,然后再找几篇好的博客看一下,大致了解一下CUDA的安装过程,对安装过程中可能出现的...
继续阅读 >
2020
10-08
10-08
Java集合框架迭代器Iterator实现原理解析
使用循环遍历集合普通for循环for(inti=0;i<10;i++){}增强for循环for(Stringstr:list){}什么是迭代器IteratorIterator是Java中的一个接口,核心作用就是用来遍历容器的元素,当容器实现了Iterator接口后,可以通过调用Iterator()方法获取一个Iterator对象为啥是调用容器里面的Iterator方法呢?因为容器的实现有多种,不同的容器遍历规则不一样,比如:ArrayList、LinkedList、HashSet、TreeSet等,所以设计了Iterator接口,让容器...
继续阅读 >
2020
10-08
10-08
详解git commit --amend 用法
有时你提交过代码之后,发现一个地方改错了,你下次提交时不想保留上一次的记录;或者你上一次的commitmessage的描述有误,这时候你可以使用接下来的这个命令:gitcommit--amend。git功能十分强大,接下来我将讲解一下gitcommit--amend命令的用法~gitlog之后,可以看到你之前提交过的git历史:接下来,在bash里输入wq退出log状态,执行:$gitcommit--amend这时bash里会出现以下内容:其中,secondcommit是...
继续阅读 >
2020
10-08
10-08
解决vuecli3中img src 的引入问题
最近公司要做一个在线ps的项目但是后台没写完,我在用本地图片上传预览的时候发现图片不能显示,解决的办法是//页面的结构<divclass="workspace"><img:src='img'></div>exportdefault{data(){return{img:require('../../assets/fapiao.jpeg'),//这里只能使用require的方式去使用如果img是数组,就用//[require('../../assets/fapiao1.jpeg'),//require('../../assets/fapiao2.jpeg'),//require('.....
继续阅读 >
2020
10-08
10-08
Java集合框架Collections原理及用法实例
Collections工具类Java里关于聚合的工具类,包含有各种有关集合操作的静态多态方法,不能实例化(把构造函数私有化)publicclassCollections{//Suppressesdefaultconstructor,ensuringnon-instantiability.privateCollections(){}}和Collection的区别Collection是接口,提供了对集合对象进行基本操作的通用接口方法,List、Set等多种具体的实现类Collection是工具类,专门从操作Collection接口实现类里面的元...
继续阅读 >
2020
10-08
10-08
简介JavaScript错误处理机制
1、try-catch语句ECMA-262第3版引入了try-catch语句,作为JavaScript中处理异常的一种标准方式。语法:try{//可能会导致错误的代码}catch(error){//在错误发生时怎么处理}也就是说,我们应该把所有可能会抛出错误的代码都放在try语句块中,而把那些用于错误处理代码放在catch块中。try-catch语句的逻辑是:如果try块中的任何代码发生了错误,就会立即退出代码执行过程,然后接着执行catch块。此时,catch块会接收到一个包含...
继续阅读 >
2020
10-08
10-08
Windows下Sqlmap环境安装教程详解
Sqlmap安装Sqlmap>>基于Python的自动化渗透测试工具,安装工具前需要进行Python的环境准备Python环境的安装1.1下载与安装python(2.7.16):https://www.python.org/ftp/python/2.7.16/python-2.7.16.amd64.msi 点击链接可直接下载文件后直接安装(已有Python可省略此步)*python默认路径:C:\Python271.2安装时关于环境变量的设置在这里需要选择最底下的Addpython.exetopath不然会出现在cmd下运行python弹出wind...
继续阅读 >
2020
10-08
10-08
Python中logger日志模块详解
1logging模块简介logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点:可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息;print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据;logging则可以由开发者决定将信息输出到什么地方,以及怎么输出;Logger从来不直接实例化...
继续阅读 >
2020
10-08
10-08
vue 出现data-v-xxx的原因及解决
现象:在Vue开发中,会遇到html被浏览器解析后,在标签中出现'data-v-xxxxx'标记,如下:<divdata-v-fcba8876class="xxx">aaa</div>原因:来看官方解释:<stylescoped>@media(min-width:250px){.list-container:hover{background:orange;}}</style>TheoptionalscopedattributeautomaticallyscopesthisCSStoyourcomponentbyaddingauniqueattribute(suchasdata-v-21e5b78)toelementsandcomp...
继续阅读 >