文档库 最新最全的文档下载
当前位置:文档库 › Java集合框架总结

Java集合框架总结

Java集合框架总结
Java集合框架总结

JA V A集合框架

一、集合框架

在实际开发中,需要将对象根据不同的需求而存储在特定的数据结构容器中。但是数组虽然是一种用来存储数据的数据结构,但是它的局限性很低,很难满足各种的需求,所以JDK出现了用来满足各种需求的框架——集合框架。

“集合框架”主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型。

常见的集合类有:1)实现Collection接口的:List接口、Set接口。

2)实现Map接口的。

二、Collection接口

Collection接口表示了如何把一组对象作为它的元素。JDK没有直接提供Collection接口的实现,Collection接口的实现依赖于两个继承自自己的接口:Set和List。所有通过实现Collection接口的子接口的类应该提供两个标准的构造器:一个不需要参数的构造器,用来创建一个空的集合,另外一个需要一个类型作为参数的构造器,用来创建一个和参数的类型相同的元素的集合。

int size():返回这个集合中的元素的数量。

boolean isEmpty():返回集合是否包含元素,如果没有的话,返回true。

boolean contains(E e):如果这个集合包含某个指定的元素,返回true。

Iterator iterator():返回这个集合中的所有元素的迭代。

boolean add(E e):向集合中添加新的元素,如果添加成功,返回true。

boolean remove(E e):从集合中删除指定元素,如果删除成功,返回true。

boolean containsAll(Collection c):这个集合是否包含指定集合中的所有的元素。

boolean addAll(Collection c):添加指定的集合中的所有元素到这个集合中。

boolean removeAll(Collection c):删除当前集合中与给定集合相同的元素。在这个调用返回之后,这个集合将不包含和指定的集合一样的元素。

boolean retainAll(Collection c):从这个集合中删除所有不包含在指定的集合中的所有元素。

T[] toArray(T[] a):返回一个包含集合中所有的元素的数组。

void clear():从集合中删除所有的元素。

boolean equals(Object obj):比较这个集合和指定对象是否相等。

int hashCode():返回这个集合的哈希值。

三、List接口

List 接口继承了Collection 接口,用于定义一个允许重复项的有序集合。可以将List理解为存放对象的数组,只不过其元素个数可以动态的增加或者减少。该接口不但能够对列表的一部分进行处理,还添加了面向位置的操作。

面向位置的操作包括插入某个元素或Collection 的功能,还包括获取、除去或更改元素的功能。在List 中搜索元素可以从列表的头部或尾部开始,如果找到元素,还将报告元素所在的位置:

void add(int index, Object element): 在指定位置index上添加元素element。

boolean addAll(int index, Collection c): 将集合c的所有元素添加到指定位置index。

Object get(int index): 返回List中指定位置的元素。

int indexOf(Object o): 返回第一个出现元素o的位置,否则返回-1。

int lastIndexOf(Object o) :返回最后一个出现元素o的位置,否则返回-1。

Object remove(int index):删除指定位置上的元素。

Object set(int index, Object element) :用元素element取代位置index上的元素,并且返回旧的元素。

在“集合框架”中有两种常规的List 实现ArrayList 和LinkedList,分别用动态数组和链表的方式实现List接口。可以认为ArrayList和LinkedList的方法在逻辑上完全一样,只是在性能上有一定的差别。如果要支持随机访问,而不必在除尾部的任何位置插入或除去元素,那么,ArrayList 提供了可选的集合。但如果,您要频繁的从列表的中间位置添加和除去元素,而只要顺序的访问列表元素,那么,LinkedList 实现更好。

1)LinkedList类

LinkedList类——链表实现的List,在删除或插入时只需改变链表“指针”,即可实现。

(1) void addFirst(Object o): 将对象o添加到列表的开头

void addLast(Object o):将对象o添加到列表的结尾

(2) Object getFirst(): 返回列表开头的元素

Object getLast(): 返回列表结尾的元素

(3) Object removeFirst(): 删除并且返回列表开头的元素

Object removeLast():删除并且返回列表结尾的元素

(4) LinkedList(): 构建一个空的链接列表

LinkedList(Collection c): 构建一个链接列表,并且添加集合c的所有元素“使用这些新方法,您就可以轻松的把LinkedList 当作一个堆栈、队列或其它面向端点的数据结构。”

2)ArrayList类

ArrayList类——动态数组实现的List,可以通过下标迅速的索引到对应的元素,但在删除和移动时移动较多元素。

ArrayList类封装了一个动态再分配的Object[]数组。每个ArrayList对象有一个capacity。这个capacity表示存储列表中元素的数组的容量。当元素添加到ArrayList时,它的capacity在常量时间内自动增加。

在向一个ArrayList对象添加大量元素的程序中,可使用ensureCapacity方法增加capacity。这可以减少增加重分配的数量。

(1) void ensureCapacity(int minCapacity): 将ArrayList对象容量增加minCapacity

(2) void trimToSize(): 整理ArrayList对象容量为列表当前大小。程序可使用这个操作减少ArrayList对象存储空间。

四、List高级—数据结构:Queue队列

队列是常用的数据结构,可以将(Queue)队列看成特殊的线性表,队列限制了对线性表的访问方式,即只能从线性表的一段添加(offer)元素,从另一端取出(poll)元素。

队列遵循先进先出(FIFO)原则。

JDK中提供了Queue接口,同时使得LinkedList实现该接口(Queue经常要进行插入和删除的操作,而LinkedList在这方面效率最高)。

Queue接口中的主要方法:

Boolean offer(E e)讲一个对象添加到队尾,添加成功则返回true。

E pool()从队首删除并返回一个元素。

E peek() 返回队首的元素(但并不删除)。

五、List高级—数据结构:Deque栈

栈也是常用的数据结构,栈(Deque)则是Queue的子接口,定义了所谓的“双端队列”,即从队列的两端分别可以入队(offer)和出队(poll),如果将Deque限制为只能从一段入队

和出队,则可实现“栈(Stack)”的数据结构,对于栈而言,入栈称之为push,出栈称为pop。栈遵循先进后出(FILO)原则。

Deque常用的方法:

E push()压入,向栈中存入数据。

E pop()取出,从栈中取出数据。

E peek()获取栈顶位置的元素,但不取出。

六、Set接口

Set 接口也是Collection 接口的子接口,但是与Collection 或List 接口不同的是,Set 接口中不能加入重复的元素,是因为Set判断两个对象相同不是使用==运算符,而是根据equals方法。即两个对象用equals方法比较返回true,Set就不能接受两个对象。同时Set 集合里多个对象之间没有明显的顺序。

其实Set具有与Collection完全一样的接口,除了注释不一样其他都一样,也就是Set 根本没有对Collection扩展,只是对add,equals,hashCode的定义说明不一样,因为Set是不允许重复元素的。但是要注意的是:虽然Set和Collection中的方法一样,但是他们是完全不一样的,List可以自动为Collection,但是绝对不可以转为Set的。

遍历Set集合的元素只有一种方式,迭代器。同时set集合不支持索引,也不具备List 集合的get()方法。

Set 接口的常用子类:

1)散列的存放:HashSet

HashSet按Hash算法来存储集合的元素,因此具有很好的存取和查找性能。

HashSet的特点:

(1)HashSet不是同步的,多个线程访问是需要通过代码保证同步

(2)集合元素值可以使null。

HashSet集合判断两个元素相等的标准是两个对象通过equals方法比较相等,并且两个对象的hashCode()方法返回值也相等。

其实原理是这样的:HashSet的底层采用HashMap来存放数据,HashMap的put()方法是这样的:

public V put(K key, V value) {

if (key == null)

return putForNullKey(value);

int hash = hash(key.hashCode());//----------1----------

int i = indexFor(hash, table.length);//-----------2---------

for (Entry e = table[i]; e != null; e = e.next) {//-----------3

---------

Object k;

if (e.hash == hash && ((k = e.key) == key || key.equals(k))) {

V oldValue = e.value;

e.value = value;

e.recordAccess(this);

return oldValue;

}

}//------------------4--------------------

modCount++;

addEntry(hash, key, value, i);

return null;

}

当向HashMap中添加元素的时候,首先计算元素的hashcode值,然后根据1处的代码计算出Hashcode的值,再根据2处的代码计算出这个元的存储位置如果这个位置为空,就将元素添加进去;如果不为空,则看3-4的代码,遍历索引为i的链上的元素,如果key重复,则替换并返回oldValue值。

2 )有序的存放:TreeSet

TreeSet是SortedSet接口的唯一实现,是按排序二叉树算法来存储元素的,TreeSet可以确保集合元素处于排序状态(元素是有序的)。

七、Map

→Map用于保存具有映射关系的数据(key-vlaue)。Map的key不允许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回false。

→Map集合与Set集合元素的存储形式很像,如Set接口下有HashSet、LinkedHashSet、SortedSet(接口)、TreeSet、EnumSet等实现类和子接口,而Map接口下则有HashMap、LinkedHashMap、SortedMap(接口)、TreeMap、EnumMap等实现类和子接口。

→Map的value非常类似List:元素与元素之间可以重复,每个元素可以根据索引(key)来查找。

→Map有时也称为字典,或关联数组。

→Map接口中定义如下方法:

void clear(); 删除Map对象中所有key-value对。

boolean containsKey(Object key) :查询Map中是否包含指定key,如果包含则返回true。

boolean containsValue(Object value): 查询Map中是否包含一个或多个value,如果包含则返回true。

Set entrySet(): 返回Map中所有包含的key-value对组成的Set集合,每个集合元素都是Map.Entry(Entry是Map的内部类)对象。

Object get(Obejct key): 返回指定key所对应的value;如果此Map中不包含key,则返回null。

boolean isEmpty(): 查询该Map是否为空(即不包含任何key-value对),如果为空则返回true。

Set keySet(): 返回该Map中所有key所组成的set集合。

Object put(Object key, Object value): 添加一个key-value对,如果当前Map中已有一个与该key相等的key-value对,则新的key-value对会覆盖原来的key-value对。

Object remove(Object key): 删除指定key对应的key-value对,返回被删除key 所关联的value,如果该key不存在,返回null。

int size(): 返回该Map里的key-value对的个数。

Collection values(): 返回该Map里所有value组成的Collection。

Map中包括一个内部类:Entry。该类封装了一个key-value对,Entry包含三个方法:Object getkey():返回该Entry里包含的key值。

Object getV alue():返回该Entry里包含的value值。

Object setValue():设置该Entry里包含的value值,并返回新设置的value值。

→可以把Map理解成一个特殊的Set,只是该Set里包含的集合元素是Entry对象,而不是普通对象。

→遍历Map有三种方式:

1、遍历map中的所有key

public Set keySet() 调用keySet()方法会返回一个Set集合的实例,其中保留的元素为Map中所有的Key。

2、遍历Map中所有的键值对Entry

public Set entrySet() 调用entrySet()方法会返回一个Set集合的实例,其中保存的元素为Map中的每一组键值对,每一个键值对用一个Entry实例保存。

3、遍历Map中所有的value(不常用)。

→Map接口提供了大量的实现类,如HashMap和Hashtable等,以及HashMap的子类,LinkedHashMap,还有SortedMap子接口及该接口的实现类TreeMap。

1)、HashMap和Hashtable实现类

HashMap和Hashtable都是Map接口的实现类,Hashtable是一个古老的Map实现类,它从JDK1.0起就有,它包含两个烦琐的方法:elements()(类似于Map接口定义的values()方法)和keys()(类似于Map接口定义的keySet()方法),现在很少使用这两种方法。

两点区别:

Hashtable是一个线程安全的Map实现,但HashMap是线程不安全的实现,所以HashMap 比Hashtable的性能高些;但如果多线程访问同一个Map对象,使用Hashtable实现类更好。Hashtable不允许使用null作为key和value,如果为null,则引发NullPointerException异常;但HashMap可以使用null作为key或value。

由于HashMap里的可以不能重复,所以HashMap里最多只有一对key-value值为null,但可以有无数多项key-value对的value为null。

HashMap重写了toString()方法方法总是返回如下格式的字符串:{key1 = value1,key2 = value2..}

HashMap、Hashtable判断两个key相等的标准是:两个key通过equasl方法比较返回ture,两个key的hashCode值相等。

LinkedHashMap类

HashMap有一个子类:LinkedHashMap,它也是双向链表来维护key-value对的次序,该链表定义了迭代顺序,该迭代顺序与key-value对的插入顺序保持一致。LinkedHashMap可以避免对HashMap、Hashtable里的key-value对进行排序(只要插入key-value对时保持顺序即可)。同时又可避免使用TreeMap所增加的成本。LinkedHashMap需要维护元素的插入顺序,因此性能略低于HashMap的性能,但在迭代访问Map里的全部元素时将有很好的性能,因为它以链表来维护内部顺序。

2)、SortedMap接口和TreeMap实现类

Map接口派生了一个SortedMap子接口,TreeMap为其实现类。类似TreeSet排序,TreeMap 也是基于红黑树对TreeMap中所有key进行排序,从而保证TreeMap中所有key-value对处于有序状态。

TreeMap两种排序方法:

自然排序:TreeMap的所有key必须实现Comparable接口,而且所有key应该是同一个类的对象,否则将会抛出ClassCastExcepiton异常。

定制排序:创建TreeMap时,传入一个Comparator对象,该对象负责对TreeMap中所有key 进行排序。采用定制排序时不要求Map的key实现Comparable接口。

TreeMap中判断两个key相等的标准也是两个key通过equals比较返回true,而通过compareTo方法返回0,TreeMap即认为这两个key是相等的。

八、小结

List:保证以某种特定插入顺序来维护元素顺序,即保持插入的顺序,另外元素可以重复。

ArrayList:是用数组实现的,读取速度快,插入与删除速度慢(因为插入与删除时要移动后面的元素),适合于随机访问。

Vector:功能与ArrayList几乎相同,也是以数组实现,添加,删除,读取,设置都是基于线程同步的。

LinkedList:双向链表来实现,删除与插入速度快,读取速度较慢,因为它读取时是从头向尾(如果节点在链的前半部分),或尾向头(如果节点在链的后半部分)查找元素。因此适合于元素的插入与删除操作。

Set:维持它自己的内部排序,随机访问不具有意义。另外元素不可重复,内部是以Map实现的。

HashSet:是最常用的,查询速度最快,因为内部以HashMap来实现,所以插入元素不能保持插入次序。

LinkedHashSet:继承了HashSet,保持元素的插入次序,因为内部使用LinkedHashMap实现,所以能保持元素插入次序。

TreeSet:基于TreeMap,生成一个总是处于排序状态的set,它实现了SortedSet接口,内部以TreeMap来实现。

Map:用于保存具有映射关系的数据(key-vlaue),Key不允许重复。

TreeMap:键以某种排序规则排序,内部以red-black(红-黑)树数据结构实现,实现了SortedMap接口。

HashMap:以哈希表数据结构实现,查找对象时通过哈希函数计算其位置,它是为快速查询而设计的,其内部定义了一个hash表数组(Entry[] table),元素会通过哈希转换函数将元素的哈希地址转换成数组中存放的索引,如果有冲突,则使用散列链表的形式将所有相同哈希地址的元素串起来。

Hashtable:也是以哈希表数据结构实现的,解决冲突时与HashMap也一样也是采用了散列链表的形式,不过性能比HashMap要低。

九、比较

1、ArrayList和Vector

同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的。

数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半2、Collection和Collections

Collection,java.unit下的接口,是一系列单值集合类的父接口,主要有List和Set,提供了基本的一些方法。而Collections是java.unit下的类,是针对集合的一些帮助类,是一系列算法的集合。里面的属性和方法基本都是static的,来实现对各种集合的搜索、排序、线程安全化等操作。

3、Iterator与ListIterator有什么区别?

Iterator:只能正向遍历集合,适用于获取移除元素。ListIerator:继承Iterator,可以双向列表的遍历,同样支持元素的修改。

4、heap和stack有什么区别。

栈(stack)是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。

堆(heap)是栈的一个组成元素。

十、总结

关于集合框架的只是很杂,很乱。我也只是根据咱们的学习总结了一些咱们经常需要用到和面试会经常考到的知识点。我希望每一个同学都能抽出那么几分钟看一看这个,来让我们的大脑再加深一下关于集合的印象。本文我没有使用代码进行演示,望大家谅解,谢谢您的参考!

javaweb开发要学习的所有技术和框架总结:

学习javaweb开发要学习的技术和框架总结: 前言:当初想学习javaweb开发的时候,希望能够全方面地学习(这样找工作时就胸有成足了)。但是对这个根本不理解,又不认识从事这方面的熟人,所以学习起来无从下手。经过了一年的‘死’学习,从网上,从书本,从视频里面深入了解了java。想从事java的朋友,只要把这些技术全学会了,哪就业肯定没有问题了。 前端技术: HTML, CSS, JA V ASCRIPT, JQUERY, AJAX HTML “超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。 超文本标记语言的结构包括“头”部分(外语:Head)、和“主体”部分(外语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。 CSS 级联样式表是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。 JavaScript JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。 jQuery jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。如今,jQuery已经成为最流行的javascript库,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。

Java集合类知识点总结

Java集合类 Java集合类 (1) 1.Map (3) 1.1.HashMap (3) 1.1.1.底层实现 (3) 1.1.2.特点 (3) 1.1.3.源码分析 (4) 1.1.4.多线程可能出现的问题 (5) 1.2.ConcurrentHashMap (6) 1.2.1.底层实现 (6) 1.2.2.源码分析 (7) 1.3.HashTable (9) 1.3.1.HashTable是线程安全的,因为所有方法上都加了synchronized关键 字。9 1.3.2.HashTable的key和value都不可以为null。 (9) 1.3.3.扩容时,capacity=2*capacity+1 (9) 1.3.4.数组默认大小为11 (9) 1.3.5.查找下标时,没有使用hash&length-1,而是直接进行计算的 (9) 1.4.TreeMap (9) 1.4.1.底层实现为红黑树 (9) 1.4. 2.TreeMap是一个有序的key-value集合,基于红黑树实现。该映射根据 其键的自然顺序进行排序,或者根据创建时提供的Comparator进行排序 (10) 1.4.3.接口实现 (10) 1.4.4.Entry (11) 1.5.LinkedHashMap (11) 1.5.1.底层是数组+链表+红黑树+双向链表 (11) 1.5.2.维护链表顺序和访问顺序 (11) 1.5.3.LinkedHashMap 可以通过构造参数 accessOrder 来指定双向链表是否在 元素被访问后改变其在双向链表中的位置。 (11) 1.5.4.当accessOrder为true时,get方法和put方法都会调用recordAccess 方法使得最近使用的Entry移到双向链表的末尾;当accessOrder为默认值 false时,recordAccess方法什么也不会做。 (11) 1.5.5.LRU实现 (11) 2.Collection (11) 2.1.List (12) 2.1.1.ArrayList (12) 2.1.2.LinkedList (13) 2.1.3.CopyOnWriteArrayList (13) 2.2.Set (14) 2.2.1.HashSet (14)

JAVA框架面试题汇总

1.SpringMVC Framework的理解: 1、它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是java组件。并且和Spring提供的其他基础结构紧密集成 2、不依赖于Servlet API(目标虽是如此,但是在实现的时候确实是依赖于Servlet的) 3、可以任意使用各种视图技术,而不仅仅局限于JSP 4、支持各种请求资源的映射策略 5、它应是易于扩展的 2.简单的谈一下SpringMVC的工作流程? 流程? 1、用户发送请求至前端控制器DispatcherServlet? 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。? 3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。? 4、DispatcherServlet调用HandlerAdapter处理器适配器? 5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。? 6、Controller执行完成返回ModelAndView? 7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet? 8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器? 9、ViewReslover解析后返回具体View? 10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。? 11、DispatcherServlet响应用户 3.如何解决POST请求中文乱码问题,GET的又如何处理呢? 在web.xml中加入: . .CharacterEncodingFilter . .???? .????????encoding .?????? utf-8

Java三大框架(ssh)总结

Hibernate框架 第一章数据结构 1.1认识数据结构 数据:是信息的载体,是能够被计算机识别、存储、计算的符号集合是计算机处理的对象的总称; 数据元素:也称为结点,是组成数据的基本单位; 数据项:是数据的最小单位; 数据对象:是具有相同特征的数据元素的集合,它是数据的子集; 数据结构:计算机存储、组织数据的方式; ●逻辑结构:指从逻辑关系上描述数据,与数据的存储无关,且独立于语言; ?线性结构:有且仅有一个开始结点和一个终端结点,所有结点最多只有一个前驱 结点和一个直接后继结点; ?非线性结构:指一个结点可能有多个直接前驱和直接后继结点。 ●存储结构:指数据元素及其关系在计算机存储时如何表示,依赖于语言; ●数据运算:通茶昂贵定义在数据的逻辑结构上。 1.2算法 是为求解一个问题需要遵循的,被清晰的制定的简单指令的集合;正确的算法有如下特点: ●用待处理问题的相关信息作为输入数据 ●对一个既定的合法输入,多次执行同一算法,总返回同一个结果(随机算法除外) ●算法中的指令是可行的,即每个指令都可以实现 ●算法中指令的数量是有限的 ●算法执行完毕后,能够输出正确的数据集合 1.3算法分析 目的在于选择合适的算法,算法分析是从复杂度来考虑的。复杂度:衡量一个算法好坏的重要手段; ●时间复杂度:以算法执行时间长短来衡量 ●空间复杂度:以算法执行占用的存储空间来衡量

第二章算法 第三章设计模式 3.1面向对象设计原则 单一职责原则:要求每个对象应该只有一种责任; 开闭原则:设计程序时对扩展开放,对修改关闭; 里氏替换原则:任何情况下,子类替换父类,不会影响程序运行; 依赖倒置原则:提倡高层不依赖底层,二者都依赖抽象; 接口隔离原则:把多个功能分开声明,不强迫客户实现不需要的功能; 迪米特原则:最少只是原则尽可能的降低访问级别; 组合/聚合复用原则:尽量不用继承达到复用类的目的,而是使用组合和聚合。 3.2设计模式分类 创建型模式:如何创建对象以及何时创建对象,工厂模式,单例模式 结构型模式:对象该如何组织以及采用什么样的结构更合理 行为型模式:规定了各个对象应该具备的职责以及对象间的通信模式 3.3什么是框架 应用程序骨架;框架技术的优势在于: ●不用再考虑公共问题,框架已经帮我们做好了 ●可以专心在业务逻辑上,保证核心业务逻辑的开发质量 ●结构统一,便于学习、维护 ●框架集成的前人的经验有助于写出稳健、性能优良并且结构优良的高质量程序 3.4主流框架 3.4.1 Struts框架 最早的Java开源框架之一,定义了通用的Controller(控制器),通过配置文件(一般是struts-config.xml)隔离了Model(模型)和View(视图),以Action的概念对用户请求进行了封装,是代码更清晰易读。 3.4.2 Struts2框架 新的框架特性: ●从逻辑中分离出横切关注点的拦截器 ●减少或者消除配置文件 ●贯穿整个框架的强大表达式语言 ●支持可变更和可重用的基于MVC模式的标签API

java开发技术总结

数据库 oracle-->数据库管理系统-->SQL、PL/SQL-->Java(JDBC+SQL) DBA,数据库编程程序员 1.概念导论 1)什么是数据库 有组织和结构存储数据。可以存储 字符、字节、图形、图像等类型数据 DB(数据库):数据集合 DBMS(数据库管理系统):对数据集合进行管理和操作的软件 --Oracle --DB2 --MySQL --SQLSERVER JDBC 1.什么是JDBC 全称Java DataBase Connection,Java数据库访问。 JDBC是Java访问数据库的一项技术 JDBC是SUN推出的Java访问数据库的一套标准。由一系列接口构成。 各个数据库厂商负责提供JDBC接口API的实现包。 开发者只需要掌握JDBC接口的使用,就可以实现对各种数据库的操作,不需要了解开发商的实现类。 XML 1、什么是xml(xtendsible markup language可扩 展的标记语言)? 1)定义 基于文本的通用的数据保存格式。 (1)通用的点的坐标 Point类point对象(x=10,y=20) a,序列化 b,数据库表 c,文件 ... (2)数据格式 10 20

HTML 知识准备 1、分层:表现层:UI界面(DOS界面、桌面类型、web类型) 业务层: 数据层:文件、Oracle数据库 2、Web类型的应用程序----B/S类型 打开Browser,输入URL,浏览器将请求发送到服务器 服务器得到请求,分析,返回响应 浏览器得到响应,解析(翻译),显示为页面 3、web学习阶段 客户端技术:HTML+CSS+Javascript---Web基础 服务器端技术:JSP、PHP、https://www.wendangku.net/doc/7814756958.html, 4、web基础的课程 HTML:页面的创建 CSS:页面的外观 JavaScript:页面的动态效果和交互行为--3 一:HTML概述 1、超文本标记语言:一种编写页面的纯文本的标记语言,文件以.html或者.htm为后缀,依靠浏览器运行显示----解释性的语言 2、标记:一些用<>括起来的内容,特殊的显示 3、主流浏览器:IE/Firefox/Chrome/ 4、浏览器兼容性:符合标准规范,具体问题 CSS 一:CSS概述 1、CSS:级联样式表(层叠样式表) 2、特征:为页面定义外观的语言,实现内容和表现的分离,多个样式可以合为一个,如果冲突,以优先级为准 二:基础语法 1、语法:属性名称:值;属性名称:值;比如--color:red; 2、如何应用 方式一(内联方式):<元素style=""/>---将样式直接定义在元素的style属性里 方式二(内部样式表):在页面的head里的style里定义样式 方式三(外部样式表):定义一个单独的.css的文件(定义样式);然后,在页面的head里用link引入---推荐方式 3、外部样式表的优点:实现内容和表现的分离,提高代码的可重用性和可维护性

慕课网分享:40个Java集合面试问题和答案

慕课网分享:40个Java集合面试问题和答案 Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。这里,慕课网列出了一些关于Java集合的重要问题和答案,程序员们,你能回答出几道问题呢? 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下: (1)使用核心集合类降低开发成本,而非实现我们自己的集合类。 (2)随着使用经过严格测试的集合框架类,代码质量会得到提高。 (3)通过使用JDK附带的集合类,可以降低代码维护成本。 (4)复用性和可操作性。 2.集合框架中的泛型有什么优点? Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。它也给运行时带来好处,因为不会产生类型检查的字节码指令。 3.Java集合框架的基础接口有哪些?

Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java 平台不提供这个接口任何直接的实现。 Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。 List是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List 更像长度动态变换的数组。 Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。 一些其它的接口有Queue、Dequeue、SortedSet、SortedMap和ListIterator。 4.为何Collection不从Cloneable和Serializable接口继承? Collection接口指定一组对象,对象即为它的元素。如何维护这些元素由Collection的具体实现决定。例如,一些如List的Collection实现允许重复的元素,而其它的如Set就不允许。很多Collection实现有一个公有的clone方法。然而,把它放到集合的所有实现中也是没有意义的。这是因为Collection是一个抽象表现。重要的是实现。 当与具体实现打交道的时候,克隆或序列化的语义和含义才发挥作用。所以,具体实现应该决定如何对它进行克隆或序列化,或它是否可以被克隆或序列化。 在所有的实现中授权克隆和序列化,最终导致更少的灵活性和更多的限制。特定的实现应该决定它是否可以被克隆和序列化。 5.为何Map接口不继承Collection接口? 尽管Map接口和它的实现也是集合框架的一部分,但Map不是集合,集合也不是Map。因此,Map继承Collection毫无意义,反之亦然。 如果Map继承Collection接口,那么元素去哪儿?Map包含key-value对,它提供抽取key或value列表集合的方法,但是它不适合“一组对象”规范。 6.Iterator是什么? Iterator接口提供遍历任何Collection的接口。我们可以从一个Collection中使用迭代器方法来获取迭代器实例。迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者在迭代过程中移除元素。 7.Enumeration和Iterator接口的区别? Enumeration的速度是Iterator的两倍,也使用更少的内存。Enumeration是非常基础的,也满足了基础的需要。但是,与Enumeration相比,Iterator更加安全,因为当一个集合正在被遍历的时候,它会阻止其它线程去修改集合。 迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者从集合中移除元素,而Enumeration不能做到。为了使它的功能更加清晰,迭代器方法名已经经过改善。

JAVA 框架 SPRING 总结

Spring是什么? Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。他提供依赖注入容器,目标是使现有的技术更加易用,促进良好的编程习惯。 Spring框架是一个分层架构,由7个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式 Spring的6大容器 1、核心容器:核心容器提供Spring框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 2、Spring(JEE)上下文:Spring上下文是一个配置文件,向Spring框架提供上下 文信息。Spring上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。 3、Spring AOP:通过配置管理特性,Spring AOP模块直接将面向方面的编程功能集 成到了Spring框架中。所以,可以很容易地使Spring框架管理的任何对象支持AOP。Spring AOP模块为基于Spring的应用程序中的对象提供了事务管理服务。通过使用Spring AOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。 4、Spring DAO:JDBC DAO抽象层提供了有意义的异常层次结构,可用该结构来管 理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO的面向JDBC的异常遵从通用的DAO异常层次结构。 5、Spring ORM:Spring框架插入了若干个ORM框架,从而提供了ORM的对象关 系工具,其中包括JDO、Hibernate和iBatis SQL Map。所有这些都遵从Spring的通用事务和DAO异常层次结构。 6、Spring Web模块:Web上下文模块建立在应用程序上下文模块之上,为基于Web 的应用程序提供了上下文。所以,Spring框架支持与Jakarta Struts的集成。Web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。 7、Spring MVC框架:MVC框架是一个全功能的构建Web应用程序的MVC实现。 通过策略接口,MVC框架变成为高度可配置的,MVC容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText和POI。 Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。Spring的核心要点是:支持不绑定到特定J2EE服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同J2EE环境(Web或EJB)、独立应用程序、测试环境之间重用。

java基础总结

第一章初识java 一、java语言的历史 ●第一代java语言:Oak 二、java语言的现状 ?Java SE:主要用于桌面程序的开发。 ?Java EE:主要用于网页程序的开发。 ?Java ME:主要用于嵌入式系统程序的开发。(安卓)三、java语言的特点 ●跨平台(不同的操作系统都可运行) ●简单(没有直接使用指针) ●面向对象(世间万物皆为对象) ●半编译半解释(java文件---class文件----虚拟机) ●分布式(多个客户端访问、通过服务器的配置分发到 不同的服务器) ●健壮(异常的处理) ●安全(任何语言都具备、虚拟机沙箱原理) ●多线程、高性能、动态 四、java语言与C、C++语言的不同与区别 ●自动内存管理:Java对于内存的分配是动态的,并具 有垃圾回收机制。 ●不在类外定义全局变量。 ●Java中将不再使用goto语句。

●Java中取消了指针。 ●运行时系统对类型转换进行类型相容性检查 ●Java不支持头文件,使用import与其它类通讯。 ●Java中不包含结构和联合;所有的内容都封装在类中。 ●Java中不支持宏,它通过final 关键字来声明一个常 量。 ●Java不支持多重继承,可以通过Java中的接口实现 多重继承的功能。 ●CC++ 一般情况下都是偏硬件的,java一般偏软件(应 用、基于浏览器) ●(补充).net、php (网页制作比较快捷)、在安全级 别要求高的企业一般使用java(银行、政府系统) 五、环境的搭建 1、默认路径如下 ●C:\Program Files\Java\jdk1.6.0_02:提供编程中需要 的api包 ●C:\Program Files\Java\jre1.6.0_02:虚拟机文件所在的 位置 2.安装后各个文件夹代表的含义

Java框架面试题总结

目录 ................................................................................................................ Struts 篇4 1. Struts的工作流程 (4) 2. Struts的工作流程分解 (4) 3. Struts控制器组件的组成. 和控制器的主要功能 (4) 4. Struts中的几个关键对象的作用(说说几个关键对象的作用) (4) 5. Struts工作流程图(用例图) (5) 6. 说说MVC设计模式和它的优点 (5) 7. 说说struts是如何实现MVC的? (6) 8. Struts优点与缺点 (6) 9 . strust的Action是不是线程安全的?如果不是有什么方式可以保证Action的线程安 (6) 10. Tiles框架是什么? (6) 11. struts1.x 和struts 2 的区别 (6) 12 . Struts 的常用标签库及用法 (8) Struts html标签库 (8) Struts bean标签库 (12) Struts Logic标签库 (13) 13、JSP中动态INCLUDE与静态INCLUDE的区别? (15)

15 1. ............................................................................................................. a jax是什么15 2. .................................................................................................... ajax实现的原理16 3. ............................................................................................. ajax框架的基本流程16 4. .................................................................................................... dwr的实现原理. 16 5. ...................................................................................................... ajax 开发步骤. 16 ............................................................................................................... Spring 篇16 一. .............................................................................................................. 基础知识16 1. ........................................................................................................ 对IOC的理解. 16 2. ..................................................................................... 依赖注入的三种实现形式? 17 3. ............................................................................ Setter注入和构造方法注入比较18 4. ............................................... 对AOP的理解,以及AOP在项目中是如何使用的? 18

java集合类总结

1.本讲内容:集合collection (数组和集合90%功能相似,但是最大的区别是,数组在初始化的时候必须确定大小,而集合不用,而且集合是一堆的类,使用起来非常方便。) 讲集合collection之前,我们先分清三个概念: 1colection 集合,可用来存储任何对象的一种数据结构(容器)。 2Collection 集合接口,指的是,是Set、List 和Queue 接口的超类接口 3Collections 集合工具类,指的是类。 SCJP考试要求了解的接口有:Collection , Set , SortedSet , List , Map , SortedMap , Queue , NavigableSet , NavigableMap, 还有一个Iterator 接口也是必须了解的。 SCJP考试要求了解的类有:HashMap , Hashtable ,TreeMap , LinkedHashMap , HashSet , LinkedHashSet ,TreeSet , ArrayList , Vector , LinkedList , PriorityQueuee , Collections , Arrays 下面给出一个集合之间的关系图: 上图中加粗线的ArrayList 和HashMap 是我们重点讲解的对象。下面这张图看起来层级结构更清晰些。 我们这里说的集合指的是小写的collection,集合有4种基本形式,其中前三种的父接口是Collection。 4List 关注事物的索引列表 5Set 关注事物的唯一性 6Queue 关注事物被处理时的顺序 7Map 关注事物的映射和键值的唯一性 一、Collection 接口 Collection接口是Set 、List 和Queue 接口的父接口,提供了多数集合常用的方法声明,包括add()、remove()、contains() 、size() 、iterator() 等。 add(E e) 将指定对象添加到集合中 remove(Object o) 将指定的对象从集合中移除,移除成功返回true,不成功返回false contains(Object o) 查看该集合中是否包含指定的对象,包含返回true,不包含返回flase size() 返回集合中存放的对象的个数。返回值为int clear() 移除该集合中的所有对象,清空该集合。 iterator() 返回一个包含所有对象的iterator对象,用来循环遍历 toArray() 返回一个包含所有对象的数组,类型是Object toArray(T[] t) 返回一个包含所有对象的指定类型的数组 我们在这里只举一个把集合转成数组的例子,因为Collection本身是个接口所以,我们用它的实现类ArrayList做这个例子:例子1: package edu.xjfu;

Java集合框架的知识总结

Java集合框架的知识总结 说明:先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析。 1、综述 所有集合类都位于java.util包下。集合中只能保存对象(保存对象的引用变量)。(数组既可以保存基本类型的数据也可以保存对象)。 当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进行处理。从JDK1.5以后,这种状态得到了改进:可以使用泛型来限制集合里元素的类型,并让集合记住所有集合元素的类型(参见具体泛型的内容)。 Java的集合类主要由两个接口派生而出:Collection和Map,Col lection和Map是Java集合框架的根接口,这两个接口又包含了一些接口或实现类。

Set和List接口是Collection接口派生的两个子接口,Queue是Java提供的队列实现,类似于List。 Map实现类用于保存具有映射关系的数据(key-value)。 Set、List和Map可以看做集合的三大类。 List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问。 Set集合是无序集合,集合中的元素不可以重复,访问集合中的元素只能根据元素本身来访问(也是不能集合里元素不允许重复的原因)。 Map集合中保存Key-value对形式的元素,访问时只能根据每项元素的k ey来访问其value。 对于Set、List和Map三种集合,最常用的实现类分别是HashSet、ArrayLi st和HashMap三个实现类。(并发控制的集合类,以后有空研究下)。2、Collection接口 Collection接口是List、Set和Queue接口的父接口,同时可以操作这三个接口。Collection接口定义操作集合元素的具体方法大家可以参考API文档,这里通过一个例子来说明Collection的添加元素、删除元素、返回集合中元素的个数以及清空集合元素的方法。 public class TestCollection {

Java中集合类用法总结

帮助 | 留言交? | 登录 首页我的图书馆主题阅读精彩目录精品文苑Tags 会员浏览好书推荐 以文找文 如何对文章标记,添加批注? Java 中集合?用法总结(转载) wade0564 收录于2010-07-08 阅读数:查看 收藏数:7 公众公开 原文来源 tags : java 集合类 欢迎浏览 wade0564 个人图书馆中收藏的文章,想收藏这篇好文章吗,赶快 吧,1分钟拥有自己的个人图书馆! 我也要收藏 举报 Java 中集合?用法总结 收藏 Collection ├List │├LinkedList │├ArrayList (异步,线程不安全,空间用完时自动增长原容量一半)│└Vector (同 步,线程安全,空间用完时自动增长原容量一倍)│ └Stack └Set ├HashSet └TreeSet Map ├Hashtable ├HashMap ├WeakHashMap └TreeMap Map 接口: | + -- WeakHashMap: 以弱键 实现的基于哈希表的 Map 。在 WeakHashMap 中,当某个键不再正常使用时,将自动移除其条 | 目。更精确地说,对于一个给定的键,其映射的存在并不阻止垃圾回收器对该键的丢弃,这就使该键成为 可终止的,被终 | 止,然后被回收。丢弃某个键时, 其条目从映射中有效地移除,因此,该类的行为与其他的 Map 实现有所不同。此实现 | 不是同步的。 | + -- TreeMap:该映射根据其键的自然顺序进行 排序,或?根据创建映射时提供的 Comparator 进行 排序,具体取决于使用的 | 构造方法。此实现不是同步的。 | + -- HashMap:基于哈希表的 Map 接?的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了 | 非同步和允许 使用 null 之外,HashMap 类与 Hashtable ?致相同。)此类不保证映射的顺序,特别是它不保证该顺 | 序恒久不变。此实现不是同步的。 | +-- SortedMap: 进一步提供关于键的总体排序 的 Map 。该映射是根据其键的自然顺序进 行排序的,或?根据通常在创建有 序映射时提供的 Comparator 进行排序。对有序映射的 collection 视图(由 entrySet 、keySet 和 values 方法返回 )进行迭代时,此顺序就会反映 出来。要采用此排序方式,还需要提供一些其他操作(此接?是 SortedSet 的对应映 射)。 Collection 接口: | 热点推荐 中国经典汤品——广东汤常用多音字汇总 如果你失恋。。。这些话...影响世界的100个管理定律汽车发动机?作过程和原理分析温家宝总理答中外记?问女人味,有多少男人可以读懂?珍稀的白头叶猴(组图)三鹿门事件之——中国,...国家公务员职务与级别当代古筝四美 付娜《渔...生活?秘方 真的很实用...哲理?品:守护梦想聚会时可以玩的?游戏依赖型人格障碍的表现和治疗经典妙语,十分精彩江边施救[贴图]李一男2003年在港湾...电脑速度慢的解决方法 ...重装系统后必须做的10件?事

Java高级特性 总结

一、集合框架和泛型 1.集合框架 (1)定义:java中的集合是指一系列存储数据的接口和类,这些类和接口都位于java.util包 中 (2)原因(为什么使用集合框架):a、数组的大小是固定的;b、数组保存数据类型是单一的; c、数组操作数据比较复杂 (3)分类:主要有Collection、Map两个接口组成。 Collection接口是集合中最大的接口(与Map接口是等级并列关系)

Collection接口的常用方法,所有的List Set都有这些方法 <1>Collection 接口存储一组不唯一、无序的对象. <2>List 接口存储一组不唯一、有序的对象. <3>Set 接口存储一组唯一、无序的对象. <4>Map 接口存储一组键值对象, 提供key-value(k-v)的映射. <5>Iterator:迭代器. <6>Collections:工具类.(提供了对集合进行排序、遍历等多种算法实现) 2、List 接口. List 接口的实现类: <1>ArrayList:实现了长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素效率高. *常用方法:

<2>LinkedList:采用了链表存储方式,插入、删除元素是效率较高. *常用方法: 3、Set接口 <1>存储唯一、无序的对象. <2>Set 里面存放的是对象的引用. <3>采用equals()方法比较两个对象是否为同一对象. <4>Set是接口,没法new,不存在get()方法(因为set无序)

set接口中的数据不能通过下标去访问 遍历集合:转换成数组增强型for 迭代器 Set 接口的实现类: HashSet HashSet集合的特点:集合内的元素是无序排列的 HashSet类是非线性安全的 允许集合元素值为null 4、Iterator接口 <1>增强型for <2>迭代器Iterator *获取Iterator:Collection 接口的iterate()方法. *Iterator 的方法: *boolean hasNext(): 判断是否存在另一个可访问的元素. *Object next(): 返回要访问的下一个元素. 5、Map 接口. Map 接口存储一组成对的键key 值value Key:唯一无序value:不唯一无序 (1) 以键值对形式存储数据(2)不允许出现重复键(3) 元素存储顺序无序Map 接口实现类: <1>HashMap. *常用方法:

javaweb复习总结全

javaweb第一天 1、junit测试框架 Arrsert.assertEquals(long execpted,long actual) 测试两个long类型的值execpted 与actual 是否相等,相等返回true,否则返回false; 2、泛型类型的转换 1、泛型的实际类型参数不具备继承关系、 2、泛型的作用: jdk5.0之前,将对象保存到集合中,对象会失去他自己特有的信息,在从集合中取出该集合时,程序员必须手动的强制类型转换,这样不免在给程序带来安全性的问题,但是泛型的出现使得程序员在编码时可以限制集合中的处理类型,从而把运行时的可能发生的问题,转变为编译时的问题,以此提高程序的可读性和安全性。 结论:通过限制集合中的处理类型,使得程序更具可读性和安全性 3、自定义泛型方法 public void doMethod( T t ); 注意:在泛型方法中只有对象类型才能作为实际参数

3、枚举类 1、java中声明的枚举类,都是https://www.wendangku.net/doc/7814756958.html,ng.Enum的实例 2、枚举类中的构造方法默认只能是private的, 为什么枚举类中的构造方法默认只能是private呢? 答:因为使用枚举给变量赋值时,他必须是规定的范围的枚举值,既然是规定范围的,那么就不能让外界new 出一个对象。 3、枚举类中声明的每一个枚举值都是枚举类的一个实例对象

4、枚举中常用的方法: 1、name() 获得枚举对象的名字 2、ordinal() 获得枚举的下标 3、valueof (String name) 将一字符串转变成枚举 4、values() 返回枚举数组,用于遍历枚举数组 4、反射 1、反射就是将java的各个成分映射成java类。使用反射需要使用到以下一个API:Class 、onstructor、Field、Method 2、使用发射的要领就是需要先得到类的字节码对象,得到了字节码对象就得到了类身上的所有的一切,有了字节码,利用反射就可以操作类,给类的成员变量赋值,调用类的方法等。 3、使用反射得到泛型的实际参数类型,比如:List 需要获得Date的实际类型 4、如何得到字节码: 1、类名.class 2、对象名.class 3、Class.forName(“包名.类名”); 5、Class.forName()方法的作用:他首先查看内存之中有没有某个类的字节码,若没有,则创建一份字节码,若有,则加载字节码到内存之中,并封装成Class对象 5、内省---javabean 1、什么是javabean? 答:javabean就是遵循一定编写规则的特殊java类,规则有: 1、必须提供一个公共的午餐的构造方法 2、必须具有的属性都是private的 3、必须提供get和set方法供外界操作和访问该javabean的属性,方法名一定是 set和get后要紧跟属性名,属性名的第一个字母要大些 2、使用BeanUtils工具包操作javabean 1、常用的方法:

JavaWeb基础与SSH框架知识总结

一、JSP知识: 1.用户第一次请求JSP页面时,JSP引擎会转译该JSP文件为Servlet文件(.java),并编译该文件,生成字节码文件(.class)。最后将一个HTML页面发送给客户端。用户再次请求JSP页面时,JSP引擎会直接运行字节码文件,将HTML 页面发送给客户端。 2.静态网页服务器返回的HTML文件是事先储存好的,动态网页服务器返回的HTML文件是程序生成的。静态网页文件中不允许有Java代码,动态网页文件中允许有Java代码,也允许有HTML标记。 3.Apache是一种网页服务器,支持的技术有Perl、python、Tcl、PHP。 IIS是微软提供的互联网信息服务,一般用于支持ASP、https://www.wendangku.net/doc/7814756958.html,、PHP等技术。 Tomcat用于支持JSP技术。 WebLogic用于支持JSP技术。 4.Tomcat服务器的默认端口是8080。 IIS服务器的默认端口是80。 5.HTML文件必须由开头结尾。 文档头信息包含在与之间。 包含的五种标签。、<META>、<SCRIPT>、<STYLE>、<LINK> Title meta link style script 6.Java的页面元素有哪些?语法是什么?HTML元素指令表达式 Java片段注释声明动作 <%@ %> <%= %> <% %> <%-- --%> <%! %> <jsp:include> 7.Include指令允许导入其他的文件,但必须保证与前页面集成为一个完整的JSP页面。 8.JSP的内置对象有几种?分别是什么? 共有9种: request对象,response对象,pageContext对象,session对 象,application对象,out对象,config对象,page对象,exception对象 9.JSP的作用域。pageContext request session application 10.out.print和out.println 11.Post提交和get提交 12.Request获取页面提交过来的参数或者Form表单信息的方法。13.JavaBean类必须是非抽象的公共类,属性必须为私有,但可通过公有方法访问。JavaBean的属性可以和表单的控件名称很好的耦合,得到表单提交的参数。 14.本机地址为:localhost或者127.0.0.1 test a.jsp music-mp3.mp3 15.绝度路径是文件名的完整路径;相对路径是指相对当前网页文件名的路径。16.HTML加入一些JSP元素就可以构成一个JSP页面。 17.Jsp:include动作标记和include指令的区别 include指令是指把其它页面的JAVA代码(源码)加进来,跟本页面的代码合并在一起,相当于把源码从那个页面复制到本页面中来,然后再编译。所以变量可以共用。并用由于本页面编译时已经包含了别的文件的源码,所以以后其它页面更改时,本页面并不理会,因为已经编译过了。 <jsp:include>动作是指两个页面的代码运行完以后,再把包含的那个页面运行后的HTML结果页面加到本页面运行后的HTML结果页面中来。所以变量不能共用。</p></div> </div> <div> <div>相关文档</div> <div class="relatedtopic"> <div id="tabs-section" class="tabs"> <ul class="tab-head"> <li id="12589118"><a href="/topic/12589118/" target="_blank">java集合类总结</a></li> <li id="15209936"><a href="/topic/15209936/" target="_blank">java集合总结</a></li> <li id="8282659"><a href="/topic/8282659/" target="_blank">java框架总结</a></li> </ul> </div> </div> </div> </div> <div class="category"> <span class="navname">相关文档</span> <ul class="lista"> <li><a href="/doc/fa9722419.html" target="_blank">JavaSE学习总结</a></li> <li><a href="/doc/1c980212.html" target="_blank">java基础总结</a></li> <li><a href="/doc/553358155.html" target="_blank">java集合详解</a></li> <li><a href="/doc/8017397701.html" target="_blank">Java中常用的集合</a></li> <li><a href="/doc/e615608138.html" target="_blank">黑马程序员java培训就业班笔记集合体系地的总结</a></li> <li><a href="/doc/266389361.html" target="_blank">JAVA集合之LIST列表深刻总结案例附上解释跟总结</a></li> <li><a href="/doc/61121523.html" target="_blank">java集合类实验报告</a></li> <li><a href="/doc/cf8351855.html" target="_blank">项目五用集合存储对象</a></li> <li><a href="/doc/f55582965.html" target="_blank">Java集合类小结(思维导图版)</a></li> <li><a href="/doc/0a12782189.html" target="_blank">java开发技术总结</a></li> <li><a href="/doc/389539568.html" target="_blank">Java类集合之List详解</a></li> <li><a href="/doc/842478198.html" target="_blank">Java集合排序及java集合类详解(Collection、List、Map、Set)</a></li> <li><a href="/doc/e215575250.html" target="_blank">Java的学习总结</a></li> <li><a href="/doc/f814330134.html" target="_blank">Java中循环遍历总结</a></li> <li><a href="/doc/1e16172611.html" target="_blank">Java中集合类用法总结</a></li> <li><a href="/doc/5517308597.html" target="_blank">Java集合类</a></li> <li><a href="/doc/a813368084.html" target="_blank">java集合框架练习题</a></li> <li><a href="/doc/ea17741573.html" target="_blank">Java-课程知识点复习总结</a></li> <li><a href="/doc/0f9459006.html" target="_blank">Java-集合容器-2.List及其实现类</a></li> <li><a href="/doc/302815222.html" target="_blank">黑马程序员java培训就业班笔记:集合体系总结</a></li> </ul> <span class="navname">最新文档</span> <ul class="lista"> <li><a href="/doc/0719509601.html" target="_blank">幼儿园小班科学《小动物过冬》PPT课件教案</a></li> <li><a href="/doc/0e19509602.html" target="_blank">2021年春新青岛版(五四制)科学四年级下册 20.《露和霜》教学课件</a></li> <li><a href="/doc/9319184372.html" target="_blank">自然教育课件</a></li> <li><a href="/doc/3019258759.html" target="_blank">小学语文优质课火烧云教材分析及课件</a></li> <li><a href="/doc/db19211938.html" target="_blank">(超详)高中语文知识点归纳汇总</a></li> <li><a href="/doc/af19240639.html" target="_blank">高中语文基础知识点总结(5篇)</a></li> <li><a href="/doc/9919184371.html" target="_blank">高中语文基础知识点总结(最新)</a></li> <li><a href="/doc/8b19195909.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/8019195910.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/7f19336998.html" target="_blank">高中语文基础知识点总结大全</a></li> <li><a href="/doc/7a19336999.html" target="_blank">超详细的高中语文知识点归纳</a></li> <li><a href="/doc/6719035160.html" target="_blank">高考语文知识点总结高中</a></li> <li><a href="/doc/6a19035161.html" target="_blank">高中语文知识点总结归纳</a></li> <li><a href="/doc/4d19232289.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/3a19258758.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/2519396978.html" target="_blank">高中语文知识点归纳(大全)</a></li> <li><a href="/doc/2419396979.html" target="_blank">高中语文知识点总结归纳(汇总8篇)</a></li> <li><a href="/doc/1f19338136.html" target="_blank">高中语文基础知识点整理</a></li> <li><a href="/doc/ef19066069.html" target="_blank">化工厂应急预案</a></li> <li><a href="/doc/bc19159069.html" target="_blank">化工消防应急预案(精选8篇)</a></li> </ul> </div> </div> <script> var sdocid = "7c40b89589eb172ded63b7b8"; </script> <div class="footer"> <p><a href="/tousu.html" target="_blank">侵权投诉</a>  © 2013-2023 www.wendangku.net  <a href="/sitemap.html">站点地图</a> | <a href="https://m.wendangku.net">手机版</a></p> <p><a href="https://beian.miit.gov.cn" target="_blank">闽ICP备11023808号-7</a>  本站文档均来自互联网及网友上传分享,本站只负责收集和整理,有任何问题可通过上访投诉通道进行反馈</p> </div> <script type="text/javascript">foot();</script> </div> </body> </html>