Java的数据结构有哪些?Map与Set的本质区别是什么?
分析:Java常见的数据结构有Collection和Map,其中Collection接口下包括List和Set接口,其下又有多个实现类如List下有ArrayList、LinkedList和Vector等实现类,Set下有HashSet、LinkedSet等实现类和SortedSet接口,HashSet下有LinkedHashSet子类,SortedSet接口下有TreeSet实现类。Map接口下有HashMap(有
LinkedHashMap子类)、HashTable(有Properties子类)实现类和SortedMap接口(有TreeMap实现类)。 JAVA的数据结构主要有List、Set、Map、ArrayList、HashSet、HashMap、Properties等。
Map与Set的本质区别有:Set不能包含重复的元素,最多有一个空值,继承自Collection接口,底层是Map实现机制。Map不能包含重复的键,每个键最多对应一个映射的值,不能有空值键。两接口提供的方法不完全一样。 Java中的Annotation的工作原理是什么?
Annotation提供一种机制,将程序的元素如:类,方法,属性,参数,本地变量,包和元数据联系起来。这样编译器可以将元数据存储在Class文件中。这样虚拟机和其它对象可以根据这些元数据来决定如何使用这些程序元素或改变它们的行为。
Http协议工作过程、?文件上传时,进度条的设计原理是什么?
Http协议即超文本传输协议,属于应用层的面向对象的协议。它支持客户/服务器模式,简单快速、灵活、无连接和无状态。http请求由请求行、消息报头、请求正文组成,http响应由状态行、消息报头和响应正文组成。 文件上传时进度条的设计原理:在java中主要用到I/O原理,已上传的数据值除以文件总大小的比值即实时进度的值。通过File类获取文件的总大小,在读取或写出文件时加一个进度计算的步骤,每读取或写出一次就计算进度值,更新进度条。
…… …… 余下全文