转载:http://www.cnblogs.com/lzrabbit/p/3721067.html#h1 HashMap和Hashtable的区别 两者最主要的区别在于Hashtable是线程安全,而HashMap则非线程安全Hashtable的实现方法里面都添加了synchronized关键字来确保线程同步,因此相对而言HashMap性能会高一些,我们平时使用时若无特殊需求建议使用HashMap,在多线程环境下若使用HashMap需要使用Collections.synchronizedMap(…
基础内容 容器就是一种装其他各种对象的器皿.java.util包 容器:Set, List, Map ,数组.只有这四种容器. Collection(集合) 一个一个往里装,Map 一对一对往里装. Set:没有顺序,不可以重复. List:有顺序,可以重复. 互相的equals就算重复. Map定义了存储Key-Value的方法. Collection里装的必须都是Object,不能是基础类型.比如Int类型的值分配在栈上,而栈上的内容都是动态的. 容器类对象在调用remove,cotains…
三种Hash算法对比以及秒传原理 CRC (32/64)   MD5  Sha1 分5个点来说 1.校验值长度 2.校验值类别 3.安全级别 4.应用场景 1).校验值长度 CRC(32/64) 分别是4个字节和8个字节 MD5 16字节 所以长度为108位 sha1 20字节  160位长度 2)校验值类别 一般把CRC叫做校验码 md5和sha1叫做hash值或者散列值,从这里大概可以看出用处不同 3)安全级别 CRC<MD5<Sha1(当然sha1上面还有sha256或者sha512)…
------- android培训.java培训.期待与您交流! ---------- 第一种:for循环 循环结构for语句的格式:       for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体;    } eg: class Dome_For2{ public static void main(String[] args) { //System.out.println("Hello World!"); //求1-10的偶数的和 int sum = 0; for (…
png.jpg.gif三种图片格式的区别   2014-06-17 为什么想整理这方面的类容,我觉得就像油画家要了解他的颜料和画布.雕塑家要了解他的石材一样,作为网页设计师也应该对图片格式的特性有一定了解,这样才能更好的表达你的创意和想法. 除此之外,我们在平时工作中也会遇到许多与图片格式相关的问题.比如设计师会奇怪为什么有些页面的产出物总是没法达到设计稿那样的品质和效果,什么样的设 计才更适合Web页面:页面重构师和前端工程师则想知道在切图的时候应采用什么图片格式.如何进行参数设置才能达到品质…
VMware 三种网络模式的区别 VMware 三种网络模式的区别 我们首先说一下VMware的几个虚拟设备 VMnet0:用于虚拟桥接网络下的虚拟交换机 VMnet1:用于虚拟Host-Only网络下的虚拟交换机 VMnet8:用于虚拟NAT网络下的虚拟交换机 VMware Network Adepter VMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡 VMware Network Adepter VMnet8:Host用于与NAT虚拟网络进行通信的虚拟网卡 安装了V…
JavaScript:学习笔记(7)——VAR.LET.CONST三种变量声明的区别 ES2015(ES6)带来了许多闪亮的新功能,自2017年以来,许多JavaScript开发人员已经熟悉并开始使用这些功能.虽然这种假设可能是正确的,但仍有可能其中一些功能对某些人来说仍然是一个谜. ES6带来的一个新特性是新增了通过使用let.const来声明变量.在本文中,我们将讨论var,let和const的范围,使用和提升.在您阅读时,请注意它们之间的差异,我会指出. VAR VAR的范围 范围本质是意…
转自:http://www.cnblogs.com/rainman/archive/2013/05/06/3063925.html VMware中三种网络连接的区别   1.概述 2.bridged(桥接模式) 3.NAT(网络地址转换模式) 4.host-only(主机模式) 5.replicate physical network connection state 选项解释 1.概述 大家在安装完虚拟机后,默认安装了两个虚拟网卡,VMnet1和VMnet8,如下图.其中VMnet1是host…
我的一点实际经验理解桥接和NAT 桥接是虚拟机完全作为一个独立的地址接在局域网中,NAT是虚拟机依赖宿主主机地址转换的一种方式 例子我的虚拟机如果用桥接模式,连接外部网站如百度时会提示此pc没有装公司的身份认证工具 而采用NAT时,访问就完全没有问题.说明对外用的还是宿主主机的地址 本文参照文章: https://www.linuxidc.com/Linux/2016-09/135521.htm https://www.jb51.net/article/105497.htm 结合自己的环境进行配…
原文转载自 http://blog.csdn.net/wl_ldy/article/details/5941770 HashMap是新框架中用来代替HashTable的类 也就是说建议使用HashMap,不要使用HashTable.可能你觉得HashTable很好用,为什么不用呢? 一:HashMap与HashTable的区别   1.HashTable的方法是同步 的,在方法的前面都有synchronized来同步,HashMap未经同步,所以在多线程场合要手动同步 HashMap这个区别就像…
HashMap.HashSet.HashTable之间的区别是Java程序员的一个常见面试题目,在此仅以此博客记录,并深入源代码进行分析: 在分析之前,先将其区别列于下面 1:HashSet底层采用的是HashMap进行实现的,但是没有key-value,只有HashMap的key set的视图,HashSet不容许重复的对象 2:Hashtable是基于Dictionary类的,而HashMap是基于Map接口的一个实现 3:Hashtable里默认的方法是同步的,而HashMap则是非同步的…
HashMap.HashSet.HashTable之间的区别是Java程序员的一个常见面试题目,在此仅以此博客记录,并深入源代码进行分析: 在分析之前,先将其区别列于下面 1:HashSet底层采用的是HashMap进行实现的,但是没有key-value,只有HashMap的key set的视图,HashSet不容许重复的对象 2:Hashtable是基于Dictionary类的,而HashMap是基于Map接口的一个实现 3:Hashtable里默认的方法是同步的,而HashMap则是非同步的…
HashMap.HashSet.HashTable之间的区别是Java程序员的一个常见面试题目,在此仅以此博客记录,并深入源代码进行分析: 在分析之前,先将其区别列于下面: 1.HashSet底层采用的是HashMap进行实现的,但是没有key-value,只有HashMap的key set的视图,HashSet不容许重复的对象 Hashtable是基于Dictionary类的,而HashMap是基于Map接口的一个实现 Hashtable里默认的方法是同步的,而HashMap则是非同步的,因此…
SDK提供了有序集合接口java.util.List的几种实现,其中三种最为人们熟知的是Vector.ArrayList和LinkedList.有关这些List类的性能差别是一个经常被问及的问题.在这篇文章中,我要探讨的就是LinkedList和Vector/ArrayList之间的性能差异. 为全面分析这些类之间的性能差异,我们必须知道它们的实现方法.因此,接下来我首先从性能的角度出发,简要介绍这些类的实现特点. 一.Vector和ArrayList的实现 Vector和ArrayList都带…
JdbcTemplate针对数据查询提供了多个重载的模板方法,你可以根据需要选用不同的模板方法. 如果你的查询很简单,仅仅是传入相应SQL或者相关参数,然后取得一个单一的结果,那么你可以选择如下一组便利的模板方法: int queryForInt(String sql) int queryForInt(String sql, Object[] args) long queryForLong(String sql) long queryForLong(String sql, Object[] ar…
这里不列举三种算法的实现细节,只是简单描述下思想,分析下异同 一 Dijkstra Dijkstra算法可以解决无负权图的最短路径问题,只能应付单源起点的情况,算法要求两个集合,开始所有点在第二个集合,然后将起点加入第一个集合,接着第二个集合剩下的点哪个离起点距离最小,就加入第一个集合,并对其相关的边进行松弛,如此循环直到所有点都进入集合.每个点都加进集合需要循环n次,每个点进入集合又要对不在集合的点距离进行更新,内层又要循环n次.开始将map全部初始化为INF(一个很大的数),这样松弛的时候比…
关于VMware的三种网络连接方式,NAT,Bridged,Host-Only ,在刚接触的时候通常会遇到主机Ping不通虚拟机而虚拟机能Ping得通主机:主机与虚拟机互不相通等等网络问题.本文就这三种连接方式作一一说明,也方便以后翻阅当参考用. 首先,要注意安装完VMware后,控制面板\网络和 Internet\网络连接会多出两块虚拟网卡VMnet1.VMnet2,两个网卡各有用途. 基本拓扑 NAT(网络地址转换) 依靠物理主机的VMnet8网卡上网.虚拟机可以互Ping通,前提是物理主机…
1.概述 大家在安装完虚拟机后,默认安装了如下图的两块虚拟网卡——VMnet1和VMnet8,其中VMnet1是host网卡,用于host方式连接网络:VMnet8是NAT网卡,用于NAT方式连接网络的,并且它们的IP地址是随机生成的. VMware提供了三种工作模式,分别是bridged(桥接模式).NAT(网络地址转换模式)和host-only(仅主机模式),如下图.要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式. 2.bridged(桥接模式) 在这种模式下,使用VM…
DES:Data Encryption Standard(数据加密标准,又美国国密局,选中的IBM的方案,密钥长度为56,标准提出是要使用64位长的密钥,但是实际中DES算法只用了64位中的56位密钥,这一点是容易出错的) 3DES:trip DES(3级DES,是DES的升级版,主要是为了应对快速发展的计算机能力,能够在24小时内暴力破解传统的56位长度密钥的DES,而3DES相当于对统一数据块采用3次DES,3次DES使用的密钥如果完全不同,则密钥长度可以达到168位,大大延长了被暴力破解的…
首先安装了VMware,在其中安装了Ubuntu系统,正常启动之后开始考虑怎么才能够让主机和虚拟机实现网络互连并且由主机向虚拟机发送文件,通过在网上查阅相关资料,记录学习笔记如下. 学习参考资料: linux虚拟机中和主机三种网络连接方式的区别 http://blog.csdn.net/xh16319/article/details/17272113 虚拟机三种网络模式&桥接模式设置步骤 http://blog.csdn.net/to_baidu/article/details/52593380…
在DBeaver中看到SQLite有三种JDBC驱动,查了它们官方网站的相关解释,发现它们还是挺不一样的.   SQLite Wrapper by Christian http://www.ch-werner.de/javasqlite/ 这个驱动其实是在本地C/C++的SQLite上用JDBC实现进行了包装.大小100+K. 优点:体积小:速度快 缺点:依赖本地SQLite驱动   SQLite Zentus Driver http://www.zentus.com/sqlitejdbc/ 这…
javascript定义函数有3种方式: //3种函数定义方式,前两种常用 /** * 1,function 语句式 * 形式:句子 * 名称:有名 * 性质:静态 * 解析时机:优先解析 * 作用域:具有函数的作用域(正常的作用域) */ function test01(){ alert("我是test01"); } //test01(); /** * 2,函数直接量 ECMAScript 推荐的方式 * 形式:表达式 * 名称:匿名 * 性质:静态 * 解析时机:顺序解析 * 作用…
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制). C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制. 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样.之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中…
public公有继承 protected保护继承 private私有继承 我们知道类的private和protected成员,在类外是不可以使用的.只有public成员可以在类外直接使用. 公有继承时,基类的private成员派生类也不可用,基类的public和protected成员在派生类中可直接使用.继承过来(变成派生类相应的public和protected成员)只有public成员在派生类外可以直接使用. 保护继承时,基类的private成员仍为有私有.基类的public和protecte…
前言 我们在训练网络的时候经常会设置 batch_size,这个 batch_size 究竟是做什么用的,一万张图的数据集,应该设置为多大呢,设置为 1.10.100 或者是 10000 究竟有什么区别呢? # 手写数字识别网络训练方法 network.fit( train_images, train_labels, epochs=5, batch_size=128) 批量梯度下降(Batch Gradient Descent,BGD) 梯度下降算法一般用来最小化损失函数:把原始的数据网络喂给网…
前言 git merge 应该是开发者最常用的 git 指令之一, 默认情况下你直接使用 git merge 命令,没有附加任何选项命令的话,那么应该是交给 git 来判断使用哪种 merge 模式,实际上 git 默认执行的指令是 git merge -ff 指令(默认值) 对于专业的开发者来说,你可能无须每次合并都指定合并模式(如果需要的话还是要指定的),但是你可能需要知道 git 在背后为你默认做了什么事情,这样才能保证你的代码万无一失. 先说说什么是 Fast-forward 我们从一个…
1.所有的集合的父类都是Collection的接口 2.Set List Map 区别 A  在Set里面:无法添加元素的顺序,所以Set里面的元素不能重复 B  在List中:有索引号,类似于数组,里面的元素可以重复,可以记住添加的顺序 C  在Map里面:每一项都由一个键值对组成 (key,value) 3.iterator接口(迭代器,遍历器): 该接口也是Java集合框架的成员,该接口主要用于遍历(迭代访问)Collection中的元素 主要是用三个方法: A      boolean…
一>java遍历Hashtabe: import java.util.Hashtable; import java.util.Set; public class HashTableTest { public static void main(String args[]){ Hashtable<String, String> ht = new Hashtable<String, String>(); ht.put("one", "The first…
Set与List区别: 两者都是接口,并继承Collection接口:List有序,允许重复:Set无序,不能重复: ArrayList与LinkList区别: ArrayList是动态数组,查询效率高:而LinkList是双向链表,插入删除效率高: HashMap与Hashtable区别: 实现Map接口:HashMap是线程异步(ArrayList也是),Hashtable是同步的(Vectory也是),可以使用Collections.synchronizedMap方法实现同步;.HashM…
@SuppressWarnings("rawtypes") public class HashMapDemo { //hashMap遍历 public static void main(String[] args) { Map<String, String> map = new HashMap<>(); map.put("k1", "v1"); map.put("k2", "v2")…