- 博客(61)
- 收藏
- 关注
原创 java通过比对MD5值判断是否是相同图片
一:通过比对MD5值 public static String getFileMD5(File file) { if (!file.isFile()) { return null; } // 创建MessageDigest对象,添加MD5处理 MessageDigest digest = null; FileInputStream in = null; byte b...
2019-01-10 14:04:37 2980
转载 java中堆,栈,方法区详解
1、java中的栈(stack)和堆(heap)是java在内存(ram)中存放数据的地方2、堆区存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令);jvm只有一个heap区,被所有线程共享,不存放基本类型和对象引用,只存放对象本身。堆的优劣势:堆的优势是可以动态的分配内存大小,生存期也不必事先告诉编译器,java的垃圾收集器会自动收取这些不在...
2019-01-09 18:51:05 1286
原创 Git记住账号密码
一:执行命令git config --global credential.helper store二:打开配置文件 .gitconfig,在用户目录下三:添加如下内容(github用户名和邮箱)
2018-11-14 18:27:51 935
原创 ubuntu下MySQL忘记密码重置方法
方法一:1):编辑mysqld.cnf文件sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf2):在文件中的skip-external-locking一行的下面添加一行:skip-grant-tables3):重启MySQL服务sudo service mysql restart4):终端输入mysql进入MySQL,输入USE mysql切换...
2018-10-13 20:11:38 16602 2
原创 Ubuntu安装jdk8的两种方式
安装方式:1):通过ppa(源) 方式安装.2):通过官网安装包安装.JDK官网下载地址一:使用ppa(源)方式安装:1):添加ppa源sudo add-apt-repository ppa:webupd8team/javasudo apt-get update2):安装oracle-java-installer(jdk8版本)sudo apt-get install orac...
2018-10-12 10:04:52 57254 3
原创 windows下使用xshell上传文件到Ubuntu服务器上
一:xshell连接对应的Ubuntu服务器上二:在Ubuntu服务器上安装lrzszsudo apt install lrzsz三:使用命令:rz开始上传文件
2018-10-11 17:58:07 2869 1
转载 WebService小结
一、序言 大家或多或少都听过 WebService(Web服务),有一段时间很多计算机期刊、书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成 分。但是不得不承认的是WebService真的是一门新兴和有前途的技术,那么WebService到底是什么?何时应该用?当前的应用程序开发逐步的呈现了两种迥然不同的倾向:一种是基于浏览器的瘦客户端应用程序,一种是基于浏...
2018-09-28 11:26:11 802
原创 eclipse下jsp文件报错解决方法
一:问题 二:打开windows->preferences->Server->Runtime Environments,点击Add:三:添加对应的tomcat,点击Next:四:选择tomcat安装路径:五:点击finish,最后ok: 六:在项目上右键->build path->configure build path->j...
2018-09-15 09:35:21 12728 2
原创 同一台windows设备部署多个tomcat服务器
一:tomcat压缩版下载:下载地址 本文采用tomcat7.0,压缩文件:apache-tomcat-7.0.90-windows-x64.zip 二:解压缩到指定目录下,此处解压到F:\tomcat7.0三:修改解压缩后的文件名字(名字任意取)并同时创建两个副本:例如: 四:添加环境变量:右键单击我的电脑->选择属性->选择高级->选择环境变...
2018-09-14 21:31:45 2642
原创 jdk环境变量自动设置的bat脚本文件
一:前提安装对应的jdk和java,我的是F:\jdk1.8 二:打开记事本,复制粘贴一下代码,更改里面的jdk安装路径@echo off::获取管理员权限方法一:%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window....
2018-09-06 11:45:17 3178
原创 chrome无法添加插件解决办法
打开浏览器,地址栏输入chrome://extensions,回车: 之后手动将下载好的插件拖入到该页面上就可以了。
2018-09-04 09:30:37 8312 2
原创 python内置库turtle绘制有趣图形
一:绘制六边形import turtlet = turtle.Pen()turtle.bgcolor("black")sides = 6colors = ["red", "yellow", "green", "blue", "orange", "purple&
2018-08-19 21:57:50 45840 13
原创 回文字符串判断python实现
一:什么是回文字符串 例如:abccba,qwerewq等,奇数偶数个都可以;二:实现方法1):使用切片def is_palindromic(num): str_len = len(num) index = str_len // 2 str1 = num[:index] str2 = num[index:][::-1] if str1 == s...
2018-08-15 10:28:23 32611 8
原创 Ubuntu下安装docker
一:docker简单介绍Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。应用场景:W...
2018-08-11 21:53:53 8786 1
原创 单向链表基本操作python实现
一:基本介绍 单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。 - 表元素域elem用来存放具体的数据。 - 链接域next用来存放下一个节点的位置(python中的标识) - 变量p指向链表的头节点(首节点)的位置,从p出发能找到表中的任意节点。二:...
2018-08-11 20:58:44 12169 1
原创 使用shell脚本统计文件中ip出现的次数
首先准备文件demo.txt,内容如下:1 192.168.41.20 2 192.168.41.21 3 192.168.41.22 4 192.168.41.23 5 192.168.41.24 6 192.168.41.25统计出现次数最多的ip次数:cat demo.txt | awk '{print $2}' | sort | uniq -c | s...
2018-08-10 22:11:28 20575 1
转载 linux使用lsof查看进程打开的文件
lsof命令是什么?可以列出被进程所打开的文件的信息。被打开的文件可以是1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链接8.底层的socket字流,网络socket,unix域名socket9.在linux里面,大部分的东西都是被当做文件的…..还有其他很多怎样使用lsof这里主要用案例的形式来介...
2018-08-10 17:45:01 10009 1
原创 经典排序算法代码实现、执行效率总结
目的:随机生成一个长度为5000的列表,对冒泡、插入、快速等排序进行效率测试1、生成随机数列表# 存放每个排序所用到的列表数据,数据相同,id不同all_list_data = []# 随机生成5000个100000以内的数值保存到列表内,用于排序计算效率list_data = [random.randint(0, 100000) for i in range(5000)]fo...
2018-08-08 22:25:07 11762 1
原创 python统计中文字符数量
方法一:def str_count(str): '''找出字符串中的中英文、空格、数字、标点符号个数''' count_en = count_dg = count_sp = count_zh = count_pu = 0 for s in str: # 英文 if s in string.ascii_letters: ...
2018-08-08 10:48:15 56164 7
转载 MongoDB 创建基础索引、组合索引、唯一索引以及优化
一、索引MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes 中,且默认总是为_id创建索引,它的索引使用基本和MySQL 等关系型数据库一样。其实可以这样说说,索引是凌驾于数据存储系统之上的另一层系统,所以各种结构迥异的存储都有相同或相似的索引实现及使用接口并不足为 奇。1.基础索引在字段age 上创建索引,1(升序);-1(降序):db.us...
2018-08-06 16:44:55 46039 1
原创 利用Linux下的split命令切分大文件并合并文件
切分方法:1):查看文件的行数:wc -l a.txt #查看a.txt文件共有多少行2):根据行数利用 split 命令切分文件split -l 1000 a.txt -d -a 4 b_将a.txt文件按照1000行来平分成若干个大小文件,b_ 是要保存成的新文件的前缀,后缀是指定的4位数字(-d -a 4) 例如:b_0001 b_0002等或者:split...
2018-07-31 17:44:22 21042 1
原创 基于JWT的Token认证机制
一:什么是JWT? Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也...
2018-07-29 22:09:33 21770 2
转载 FastDFS原理和过程
前言: (1)每次上传文件后都会返回一个地址,用户需要自己保存此地址。(2)为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。网摘1 ...
2018-07-29 18:25:31 40454 5
原创 celery-分布式队列管理工具
1:为什么使用celery? 在开发项目中,经常有一些耗时操作(生产环境中超过了nginx的timeout时间),或者是间隔一段时间就要执行任务,比如发送短信、邮件、网络请求等。在这种情况下,使用celery就是一个很好的选择。2:celery是什么? Celery是一个由python编写的简单、灵活、可靠的用来处理大量信息的分布式系统,同时提供了操作和维护分布式系...
2018-07-29 17:28:37 21637 1
原创 使用expect自动登录远程服务器自动填写密码
一:安装expectsudo apt-get install expect二:登录代码 #!/usr/bin/expect# 设置ssh连接的用户名set user root# 设置ssh连接的host地址set host ip地址# 设置ssh连接的port端口号# set port 9999# 设置ssh连接的登录密码set password 登录密码# 设置s...
2018-07-26 16:29:12 24508
转载 HeartBeat简单介绍和基本作用:
HeartBeat的作用: 通过HeartBeat,可以将资源(IP以及程序服务等资源)从一台已经故障的计算机快速转移到另一台正常运转的机器上继续提供服务,一般称之为高可用的服务。在实际的生产应用场景中,heartbeat的功能和另一个高可用的开源软件keepalived有很多的相同之处,在我们实际的生产业务中也是有区别的。HeartBeat的工作原理: 通过修改Heartbeat...
2018-07-22 17:42:09 49974 2
原创 Ubuntu16.04安装微软字体库
一:终端执行命令:sudo apt-get install ttf-mscorefonts-installer点击ok执行下一步: 点击yes执行下一步执行成功后更新字体缓存:sudo fc-cache -f -v查看所有字体:fc-list :lang=zh;...
2018-07-21 22:21:26 28832 1
原创 Windows安装Python框架Scrapy报错的解决方法
一:报错building 'twisted.test.raiser' extensionerror: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools...
2018-07-20 09:14:42 25314
原创 win7中报错:无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-|1-1-0.dll
安装好Python解释器后,在终端中输入python却报错: 如图: 解决方案: 一:安装VC redit.exe程序,针对自己的电脑下载对应版本 下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145二:如果VC redit.exe安装失败,可以尝试更新系统到win7 serv...
2018-07-18 17:53:48 30569
原创 MongoDB数据库基本命令
成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令:show dbs:显示数据库列表 show collections:显示当前数据库中的集合(类似关系数据库中的表) show users:显示用户MongoDB没有创建数据库的命令,但有类似的命令。如:如果你想创建一个“myTest”的数据库,先运行use...
2018-07-17 11:31:23 25444
原创 简单说说MySQL中的事务
1:事务是什么 MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执...
2018-07-16 22:22:11 26042
转载 MySQL基本优化方案
1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样...
2018-07-16 22:04:23 25584
转载 web高并发量的处理方案
一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的ht...
2018-07-16 21:46:30 26920
转载 web电商网站大规模高并发请求和抢购的解决方案
电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因? 一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整...
2018-07-16 21:42:48 25991
原创 Mongodb的介绍和安装
一:nosql的介绍“NoSQL”⼀词最早于1998年被⽤于⼀个轻量级的关系数据库的名字随着web2.0的快速发展, NoSQL概念在2009年被提了出来NoSQL在2010年⻛⽣⽔起, 现在国内外众多⼤⼩⽹站, 如facebook、 google、 淘宝、 京东、 百度等, 都在使⽤nosql开发⾼性能的产品对于⼀名程序员来讲, 使⽤nosql已经成为⼀条必备技能NoSQL最常⻅的解...
2018-07-15 21:42:54 26737
原创 python爬虫之selenium安装以及使用
一:Selenium的介绍Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏二:PhantomJS的介绍PhantomJS 是一个基于Webkit的“无界面”(headless)浏览器...
2018-07-15 21:25:15 26514
原创 Flask和Django区别
Flask:1:轻量级web框架,只有一个内核,默认依赖两个外部库:Jinja2 模板引擎和 Werkzeug WSGI 工具集,自由,灵活,可扩展性强,开发者可以根据需求自己造轮子2:适用于做小型网站以及web服务的API,开发大型网站无压力,架构需自行设计3:与关系型数据库结合不弱于Django,而与非关系型数据库的结合远远优于DjangoDjango:1:重量级web框架,...
2018-07-14 11:09:42 32360
原创 Ubuntu中安装Docker虚拟化
1):更新ubuntu的apt源索引sudo apt-get update2):安装包允许apt通过HTTPS使用仓库sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common3):添加Docker官方GPG key...
2018-06-26 23:29:51 28521
原创 MySQL基本语句大全
1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server — 创建 备份数据的 device USE master EXEC sp_addumpdevice ‘disk’, ‘testBack’, ‘c:\mssql7backup\MyNwind_1.dat’ ...
2018-06-09 19:28:55 28164
原创 Python爬取拉勾网招聘信息并可视化分析
需求: 1:获取指定岗位的招聘信息 2:对公司地区,公司待遇,学历情况,工作经验进行简单分析并可视化展示可视化分析: 公司地区:柱状图,地图 公司待遇:云图 公司-学历情况:饼图 公司工作经验:饼图模块: request:网络请求 re:正则匹配数据 pyecharts:可视化工具自定义工具类:...
2018-06-01 14:51:52 42093 11
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人