- 博客(100)
- 收藏
- 关注
原创 Java中HashMap底层原理源码分析
在介绍HashMap的同时,我会把它和HashTable以及ConcurrentHashMap的区别也说一下,不过本文主要是介绍HashMap,其实它们的原理差不多,都是数组加链表的形式存储数据,另外本文所介绍的都是JDK1.8版本的。在介绍之前,先看下Map家族的继承体系图:其中,TreeMap是基于树实现的,其他三个都是哈希表结构。HashMap和Hashtable的主要区别是:1. Hash...
2018-03-09 14:55:15
4398
2
原创 Java中HashMap底层原理源码分析
Java中HashMap底层原理源码分析 在介绍HashMap的同时,我会把它和HashTable以及ConcurrentHashMap的区别也说一下,不过本文主要是介绍HashMap,其实它们的原理差不多,都是数组加链表的形式存储数据,另外本文所介绍的都是JDK1.8版本的。在介绍之前,先看下Map家族的继承体系...
2018-03-09 14:55:00
1220
原创 Java中的String,StringBuilder,StringBuffer的区别
String字符串常量-JDK1.0StringBuilder字符串变量线程不安全JDK1.0StringBuffer字符串变量线程安全JDK1.5三者区别String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象。如...
2018-03-08 11:35:29
2189
原创 Java中的String,StringBuilder,StringBuffer的区别
Java中的String,StringBuilder,StringBuffer的区别 String字符串常量-JDK1.0StringBuilder字符串变量线程不安全JDK1.0StringBuffer字符串变量线程安全JDK1.5三者区别String 类型和 StringBuffer 类型的主要性能区别其实在于...
2018-03-08 11:35:00
122
原创 java中ArrayList、LinkedList、Vector的区别
ArrayList、LinkedList、Vector这三个类都实现了List接口。ArrayList是一个可以处理变长数组的类型,可以存放任意类型的对象。ArrayList的所有方法都是默认在单一线程下进行的,因此ArrayList不具有线程安全性。LinkedList可以看做为一个双向链表,LinkedList也是线程不安全的,在LinkedList的内部实现中,并不是用普通的数组来存放数据的...
2018-03-08 10:48:19
1222
原创 java中ArrayList、LinkedList、Vector的区别
java中ArrayList、LinkedList、Vector的区别 ArrayList、LinkedList、Vector这三个类都实现了List接口。ArrayList是一个可以处理变长数组的类型,可以存放任意类型的对象。ArrayList的所有方法都是默认在单一线程下进行的,因此ArrayList不具有线程...
2018-03-08 10:48:00
849
原创 java中的equals与==的区别
java中的equals与==的区别 equals是Object类的公共方法,方法内部是用==实现的。但是很多类都重写了equals方法,例如基本数据类型的封装类和String类,重写后比较的是对象的值或者内容是否相同。而==是比较地址,但是基本数据类型,==比较的是两个变量的值是否相同,对于两个引用数据类型而言,...
2018-03-06 19:45:00
294
原创 java中的equals与==的区别
equals是Object类的公共方法,方法内部是用==实现的。但是很多类都重写了equals方法,例如基本数据类型的封装类和String类,重写后比较的是对象的值或者内容是否相同。而==是比较地址,但是基本数据类型,==比较的是两个变量的值是否相同,对于两个引用数据类型而言,==比较的是它们的地址是否相同。equals方法比较内容public class CSDN { public stati...
2018-03-06 19:44:59
318
原创 Java的9种基本数据类型以及封装类
Java的9种基本数据类型以及封装类 Java的9种基本数据类型以及封装类基本类型大小(单位/字节)默认值封装类byte1(byte)0Byteshort2(short)0Shortint40Integerlong80LLongfloat40.0fFloatdouble80.0dDoubleboolean-fals...
2018-03-06 17:11:00
271
原创 Java的9种基本数据类型以及封装类
Java的9种基本数据类型以及封装类基本类型大小(单位/字节)默认值封装类byte1(byte)0Byteshort2(short)0Shortint40Integerlong80LLongfloat40.0fFloatdouble80.0dDoubleboolean-falseBooleanchar2'\u0000'Charactervoid--Void...
2018-03-06 17:10:52
417
原创 windows10系统下安装keras框架以theano为后端并配置gpu加速
在安装之前,请确保你的显卡是NVIDIA的,并且是以下型号,否则不能进行gpu加速,右键我的电脑——管理——设备管理器——显示适配器。另外如果你的电脑是windows7,安装教程也是一样的,不过根据keras中文文档的建议,还是win10比较适合。系统:windows10企业版2016 x64位(msdn下载的,系统激活用的是kms工具)环境:python2.7软件:Anaconda2,VS2010
2017-11-11 23:40:26
1506
原创 windows10系统下安装keras框架以theano为后端并配置gpu加速
windows10系统下安装keras框架以theano为后端并配置gpu加速 在安装之前,请确保你的显卡是NVIDIA的,并且是以下型号,否则不能进行gpu加速,右键我的电脑——管理——设备管理器——显示适配器。另外如果你的电脑是windows7,安装教程也是一样的,不过根据keras中文文档的建议,还是win1...
2017-11-11 23:40:00
658
原创 Python中使用SMTP发送邮件以及POP收取邮件
假设我们自己的电子邮件地址是from@163.com,对方的电子邮件地址是to@sina.com(这里的地址虚拟的),现在我们用Outlook或者Foxmail之类的软件写好邮件,填上对方的Email地址,点“发送”,电子邮件就发出去了。这些电子邮件软件被称为MUA:Mail User Agent——邮件用户代理。Email从MUA发出去,不是直接到达对方电脑,而是发到MTA:Mail Trans
2017-10-23 18:52:05
60044
1
原创 Python中使用SMTP发送邮件以及POP收取邮件
Python中使用SMTP发送邮件以及POP收取邮件 假设我们自己的电子邮件地址是from@163.com,对方的电子邮件地址是to@sina.com(这里的地址虚拟的),现在我们用Outlook或者Foxmail之类的软件写好邮件,填上对方的Email地址,点“发送”,电子邮件就发出去了。这些电子邮件软件被称为...
2017-10-23 18:52:00
2958
原创 Python中的socket网络编程(TCP/IP,UDP)讲解
在网络编程中的一个基本组件就是套接字(socket)。套接字基本上是两个端点的程序之间的“信息通道”。程序可能分布在不同的计算机上,通过套接字互相发送信息。套接字包括两个:服务器套接字和客户机套接字。在创建一个服务器套接字后,让它等待连接。这样它就在某个网络地址处(ip地址和端口的组合)监听,直到有客户端套接字连接。连接完成后,二者就可以进行交互了。socket套接字 一个套接字就是socket模
2017-10-22 17:52:13
9179
1
原创 Python中的socket网络编程(TCP/IP,UDP)讲解
Python中的socket网络编程(TCP/IP,UDP)讲解 在网络编程中的一个基本组件就是套接字(socket)。套接字基本上是两个端点的程序之间的“信息通道”。程序可能分布在不同的计算机上,通过套接字互相发送信息。套接字包括两个:服务器套接字和客户机套接字。在创建一个服务器套接字后,让它等待连接。这样它就在...
2017-10-22 17:52:00
1190
原创 Python中摘要算法MD5,SHA1讲解
摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过(不同的data计算出来的摘要不同)。常见的摘要算法有MD5和SHA1MD5import hashlibm=hashlib.md5()m.update(
2017-10-21 18:45:20
2266
原创 Python中摘要算法MD5,SHA1讲解
Python中摘要算法MD5,SHA1讲解 摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过(不同的data计算出来的...
2017-10-21 18:45:00
1123
原创 Python中正则表达式讲解
Python中正则表达式讲解 正则表达式是匹配字符串的强大武器,它的核心思想是给字符串定义规则,凡是符合规则的字符串就是匹配了,否则就是不合法的。在介绍Python的用法之前,我们先讲解一下正则表达式的规则,然后再介绍在Python中如何运用。如果直接给出字符,那么就是精确的匹配,例如‘abc’当然是匹配’ab...
2017-10-20 22:34:00
175
原创 Python中正则表达式讲解
正则表达式是匹配字符串的强大武器,它的核心思想是给字符串定义规则,凡是符合规则的字符串就是匹配了,否则就是不合法的。在介绍Python的用法之前,我们先讲解一下正则表达式的规则,然后再介绍在Python中如何运用。如果直接给出字符,那么就是精确的匹配,例如‘abc’当然是匹配’abc’了。\d可以匹配数字(0-9) \D和\d相反,就是说只要不是0-9,都可以匹配\w可以匹配字母或者数字(0-
2017-10-20 22:33:32
752
原创 Python中的序列化以及pickle和json模块介绍
Python中的序列化以及pickle和json模块介绍 Python中的序列化指的是在程序运行期间,变量都是在内存中保存着的,如果我们想保留一些运行中的变量值,就可以使用序列化操作把变量内容从内存保存到磁盘中,在Python中这个操作叫pickling,等下次再使用保存的变量时,可以通过反序列化操作提取数据内容到...
2017-10-20 10:41:00
148
原创 Python中的序列化以及pickle和json模块介绍
Python中的序列化指的是在程序运行期间,变量都是在内存中保存着的,如果我们想保留一些运行中的变量值,就可以使用序列化操作把变量内容从内存保存到磁盘中,在Python中这个操作叫pickling,等下次再使用保存的变量时,可以通过反序列化操作提取数据内容到内存,即unpickling我们先来介绍pickle模块,它就是Python提供用来序列化对象的模块,假如现在我们把一个对象序列化。import
2017-10-20 10:40:31
660
原创 python中set()函数的用法
python中set()函数的用法 set顾名思义是集合,里面不能包含重复的元素,接收一个list作为参数list1=[1,2,3,4]s=set(list1)print(s)#逐个遍历for i in s: print(i)输出:set([1, 2, 3, 4])1234...
2017-10-15 21:42:00
7529
原创 python中set()函数的用法
set顾名思义是集合,里面不能包含重复的元素,接收一个list作为参数list1=[1,2,3,4]s=set(list1)print(s)#逐个遍历for i in s: print(i)输出:set([1, 2, 3, 4])1234使用add(key)往集合中添加元素,重复的元素自动过滤list1=[1,2,3,4]s=set(list1)print(s)s.a
2017-10-15 21:41:30
79954
4
原创 Python中sys.argv的用法
sys.argv是获取运行python文件的时候命令行参数下面的代码文件是a.py,当我不用IDE工具,只用命令行窗口运行的时候,进入文件所在目录,输入:python a.py 输出结果如下import sysa=sys.argvb=len(sys.argv)print(a)print(b)输出:['a.py']1还是上面的代码,当我运行时候输入:python a.py zhang
2017-07-10 10:03:17
137413
6
原创 Python中sys.argv的用法
Python中sys.argv的用法 sys.argv是获取运行python文件的时候命令行参数下面的代码文件是a.py,当我不用IDE工具,只用命令行窗口运行的时候,进入文件所在目录,输入:python a.py 输出结果如下import sysa=sys.argvb=len(sys.argv)p...
2017-07-10 10:03:00
619
原创 python连接mysql数据库
python连接mysql数据库 先声明一下,我用的Python2.7版本,mysql版本是5.7。python不仅仅可以连接mysql,其他的一些数据库只要有接口都可以连接。首先如果我们要连接mysql,要下载安装一个模块MySQLdb,这个是我的百度云地址,密码是0kf5。根据自己的情况下载,我是用的win10...
2017-07-01 16:40:00
155
原创 python连接mysql数据库
先声明一下,我用的Python2.7版本,mysql版本是5.7。python不仅仅可以连接mysql,其他的一些数据库只要有接口都可以连接。首先如果我们要连接mysql,要下载安装一个模块MySQLdb,这个是我的百度云地址,密码是0kf5。根据自己的情况下载,我是用的win10,64位,python2.7,所以下载的是 MySQL-python-1.2.3.win-amd64-py2.7.exe
2017-07-01 16:39:30
7765
原创 python中join()函数讲解
本文简述的是string.join(words[, sep]),它的功能是把字符串或者列表,元组等的元素给连接起来,返回一个字符串,和split()函数与正好相反,看下面的代码理解。a=["豫","N","C8","C89"]b=("豫","N","C8","C89")c="zhang"a1="-".join(a)b1="-".join(b)c1="-".join(c)d="".join(a)p
2017-06-30 22:21:28
1560
原创 python中join()函数讲解
python中join()函数讲解 本文简述的是string.join(words[, sep]),它的功能是把字符串或者列表,元组等的元素给连接起来,返回一个字符串,和split()函数与正好相反,看下面的代码理解。a=["豫","N","C8","C89"]b=("豫","N","C8",&qu
2017-06-30 22:21:00
1093
原创 python中split()函数讲解
本书简述的是string.split(s[, sep[, maxsplit]]),针对string类型的split()函数。它主要是切割字符串,结果返回由字符串元素组成的一个列表,具体怎么使用看下面的代码。1. 无参数的情况a="my name is zhangkang"b="my\nname\nis\nzhangkang"c="my\tname\tis\tzhangkang"a=a.split
2017-06-30 22:02:16
44706
5
原创 python中split()函数讲解
python中split()函数讲解 本文讲述的是string.split(s[, sep[, maxsplit]]),针对string类型的split()函数。它主要是切割字符串,结果返回由字符串元素组成的一个列表,具体怎么使用看下面的代码。1. 无参数的情况a="my name is zhangka...
2017-06-30 22:02:00
25195
原创 深度学习入门教程
在知乎上面看到的,别人做的一个PPT,301页,讲的是最基础的深度学习的内容。主要是入门看,大神就别下载了!百度云链接:http://pan.baidu.com/s/1o7JCd4I。 密码:a162
2017-06-28 08:48:07
840
原创 深度学习入门教程
深度学习入门教程 在知乎上面看到的,别人做的一个PPT,301页,讲的是最基础的深度学习的内容,ppt页面里面有部分视频链接,讲的很认真仔细。主要是入门看,大神就别下载了!百度云链接:http://pan.baidu.com/s/1o7JCd4I。 密码:a162 ...
2017-06-28 08:48:00
220
原创 python中strip(),lstrip(),rstrip()函数的讲解
python中strip(),lstrip(),rstrip()函数的讲解 1. strip()它的函数原型:string.strip(s[, chars]),它返回的是字符串的副本,并删除前导和后缀字符。(意思就是你想去掉字符串里面的哪些字符,那么你就把这些字符当参数传入。此函数只会删除头和尾的字符,中间的不...
2017-06-19 17:00:00
236
原创 python中strip(),lstrip(),rstrip()函数的讲解
1. strip()它的函数原型:string.strip(s[, chars]),它返回的是字符串的副本,并删除前导和后缀字符。(意思就是你想去掉字符串里面的哪些字符,那么你就把这些字符当参数传入。此函数只会删除头和尾的字符,中间的不会删除。)如果strip()的参数为空,那么会默认删除字符串头和尾的空白字符(包括\n,\r,\t这些)。#这里注意字符串a的两端都有一个空白字符,字符a和n之间也有
2017-06-19 16:59:52
93516
21
原创 pandas中Timestamp类用法讲解
由于网上关于pandas文档比较少,而且官网上面介绍的很模糊,本文只是对如何创建Timestamp类对象进行简要介绍,详情请读者自行查阅文档。以下有两种方式可以创建一个Timestamp对象:1. Timestamp()的构造方法import pandas as pdfrom datetime import datetime as dtp1=pd.Timestamp(2017,6,19)p2=
2017-06-19 09:32:29
44173
原创 pandas中Timestamp类用法讲解
pandas中Timestamp类用法讲解 由于网上关于Timestamp类的资料比较少,而且官网上面介绍的很模糊,本文只是对如何创建Timestamp类对象进行简要介绍,详情请读者自行查阅文档。以下有两种方式可以创建一个Timestamp对象:1. Timestamp()的构造方法import pan...
2017-06-19 09:32:00
4650
原创 python中datetime模块中datetime对象的使用方法
本文只讲述datetime模块中datetime对象的一些常用的方法,如果读者需要更多datetime模块的信息,请查阅此文档。datetime模块的对象有如下:timedeltadatedatetimetimetzinfo还包含以下两个常量:datetime.MINYEAR (它返回的是1)datetime.MAXYEAR(它返回的是9999)datetime对象它的构造方法:
2017-06-18 13:29:16
11014
原创 python中datetime模块中datetime对象的使用方法
python中datetime模块中datetime对象的使用方法 本文只讲述datetime模块中datetime对象的一些常用的方法,如果读者需要更多datetime模块的信息,请查阅此文档。datetime模块的对象有如下:timedeltadatedatetimetimetzinfo...
2017-06-18 13:29:00
848
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅