Set不能包含重复的元素,zui多有一个空值,继承自Collection接口,底层是Map实现机制。Map不能包含重复的键,每个键zui多对应一个映射的值,不能有空值键。两接口提供的方法不完全一样。
数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合。依据逻辑关系,数据结构分为:线性和非线性数据结构。
1.静态页面消耗最小,尽可能的HTML静态化,采用信息发布系统CMS实现信息录入自动生成静态页面、在前端缓存不经常改变的动态数据。2.CDN,把CSS/JS等资源分布在不同的服务器上。3.负载均衡(Nginx)。4.缓存不常改变的数据(Redis、memcache)。5.图片服务器与应用服务器分离。6.集群。
1.底层是一个双向链表,维护着一个first指针和一个last指针。2.随机读写(get,set)的时间复杂度为O(n)。3.插入操作add(object)的时间复杂度为O(1);add(index,object)的时间复杂度为O(n)。4.删除操作remove(object)的时间复杂度为O(1);remov...
摘要算法:MD5(128位)、SHA1(160位),是一种不可逆的过程,无论多大的数据,经过摘要算法后都生成相同长度的数据。只能通过字典进行破解。对称加密算法:DES、AES,加密解密时使用相同的秘钥。非对称加密算法:RSA,加密解密时使用不同的秘钥,对接支付宝使用RSA2。
1.lambda表达式:函数式编程,方法引用2.StreamAPI3.接口的默认方法4.日期时间API的改进,新增DateTimeFormatter方法
若字符串池中没有"123",则产生一个对象,并且放入常量池中,若有"123",则产生0个对象。若是Strings=newString("123"),若常量池中没有,则在常量池中创建一个,然后在堆内存中创建一个。
其中Running表示运行状态,Runnable表示就绪状态(万事俱备,只欠CPU),Blocked表示阻塞状态,阻塞状态又有多种情况,可能是因为调用wait()方法进入等待池,也可能是执行同步方法或同步代码块进入等锁池,或者是调用了sleep()方法或join()方法等待休眠或其他线程结束,或是因为发生了I/...
Lock是Java5以后引入的新的API,和关键字synchronized相比主要相同点:Lock能完成synchronized所实现的所有功能;主要不同点:Lock有比synchronized更精确的线程语义和更好的性能,而且不强制性的要求一定要获得锁。synchronized会自动释放锁,而Lock一定要求...
XML的主要作用有两个方面:数据交换和信息配置。在做数据交换时,XML将数据用标签组装成起来,然后压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再从XML文件中还原相关信息进行处理,XML曾经是异构系统间交换数据的事实标准,但此项功能几乎已经被JSON(JavaScriptObjectNotation)...