![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 83
kongji103
这个作者很懒,什么都没留下…
展开
-
freemarker教程
FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出 下面是一个FreeMarker模板转载 2016-01-20 20:20:55 · 271 阅读 · 0 评论 -
java提高篇(三十)-----Iterator
迭代对于我们搞Java的来说绝对不陌生。我们常常使用JDK提供的迭代接口进行Java集合的迭代。[java] view plaincopyprint?Iterator iterator = list.iterator(); while(iterator.hasNext()){ String string = iterato转载 2015-12-18 17:54:00 · 200 阅读 · 0 评论 -
Java提高篇(三一)-----Stack
在Java中Stack类表示后进先出(LIFO)的对象堆栈。栈是一种非常常见的数据结构,它采用典型的先进后出的操作方式完成的。每一个栈都包含一个栈顶,每次出栈是将栈顶的数据取出,如下: Stack通过五个操作对Vector进行扩展,允许将向量视为堆栈。这个五个操作如下: 操作转载 2015-12-18 17:52:53 · 342 阅读 · 0 评论 -
Java提高篇(三二)-----List总结
一、List接口概述 List接口,成为有序的Collection也就是序列。该接口可以对列表中的每一个元素的插入位置进行精确的控制,同时用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。 下图是List接口的框架图: 通过上面的框架图,可以对List的结构了然于心,其各个类、接口如下: Colle转载 2015-12-18 17:51:59 · 243 阅读 · 0 评论 -
Java提高篇(三三)-----Map总结
在前面LZ详细介绍了HashMap、HashTable、TreeMap的实现方法,从数据结构、实现原理、源码分析三个方面进行阐述,对这个三个类应该有了比较清晰的了解,下面LZ就Map做一个简单的总结。 推荐阅读: java提高篇(二三)—–HashMap java提高篇(二五)—–HashTable Java提高篇(二六转载 2015-12-18 17:50:43 · 256 阅读 · 0 评论 -
Java提高篇(三四)-----fail-fast机制
在JDK的Collection中我们时常会看到类似于这样的话: 例如,ArrayList:注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证。快速失败迭代器会尽最大努力抛出 ConcurrentModificationException。因此,为提高这类迭代器的正确性而编写一个依赖于此异常的程序是错误的做法:迭代器的快速失转载 2015-12-18 17:49:19 · 203 阅读 · 0 评论 -
Java提高篇(三五)-----Java集合细节(一):请为集合指定初始容量
在实际开发过程中我们经常使用asList讲数组转换为List,这个方法使用起来非常方便,但是asList方法存在几个缺陷:一、避免使用基本数据类型数组转换为列表 使用8个基本类型数组转换为列表时会存在一个比较有味的缺陷。先看如下程序:[java] view plaincopyprint?public static void main(Strin转载 2015-12-18 17:47:04 · 282 阅读 · 0 评论 -
Java提高篇(三六)-----java集合细节(二):asList的缺陷
在实际开发过程中我们经常使用asList讲数组转换为List,这个方法使用起来非常方便,但是asList方法存在几个缺陷:一、避免使用基本数据类型数组转换为列表 使用8个基本类型数组转换为列表时会存在一个比较有味的缺陷。先看如下程序:[java] view plaincopyprint?public static void main(Strin转载 2015-12-18 17:42:31 · 203 阅读 · 0 评论 -
Java提高配(三七)—–Java集合细节(三):subList的缺陷
我们经常使用subString方法来对String对象进行分割处理,同时我们也可以使用subList、subMap、subSet来对List、Map、Set进行分割处理,但是这个分割存在某些瑕疵。一、subList返回仅仅只是一个视图 首先我们先看如下实例:[java] view plaincopyprint?public static voi转载 2015-12-18 17:40:00 · 189 阅读 · 0 评论 -
java提高篇(十六)-----异常(一)
Java的基本理念是“结构不佳的代码不能运行”!!!!! 大成若缺,其用不弊。 大盈若冲,其用不穷。 在这个世界不可能存在完美的东西,不管完美的思维有多么缜密,细心,我们都不可能考虑所有的因素,这就是所谓的智者千虑必有一失。同样的道理,计算机的世界也是不完美的,异常情况随时都会发生,我们所需要做的就是避免那些能够避免的异常,处理那些不能避免的异常转载 2015-12-18 17:38:23 · 200 阅读 · 0 评论 -
java提高篇(十四)-----关键字final
在程序设计中,我们有时可能希望某些数据是不能够改变的,这个时候final就有用武之地了。final是java的关键字,它所表示的是“这部分是无法修改的”。不想被改变的原因有两个:效率、设计。使用到final的有三种情况:数据、方法、类。 一、 final数据 有时候数据的恒定不变是很有用的,它能够减轻系统运行时的负担。对于这些恒定不变的数据我可以叫做“常量”转载 2015-12-18 17:36:42 · 164 阅读 · 0 评论 -
java提高篇(二九)-----Vector
在java提高篇(二一)—–ArrayList、java提高篇(二二)—LinkedList,详细讲解了ArrayList、linkedList的原理和实现过程,对于List接口这里还介绍一个它的实现类Vector,Vector 类可以实现可增长的对象数组。一、Vector简介 Vector可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。不过,转载 2015-12-18 17:55:20 · 205 阅读 · 0 评论 -
Java提高篇(二八)------TreeSet
与HashSet是基于HashMap实现一样,TreeSet同样是基于TreeMap实现的。在《Java提高篇(二七)-----TreeMap》中LZ详细讲解了TreeMap实现机制,如果客官详情看了这篇博文或者多TreeMap有比较详细的了解,那么TreeSet的实现对您是喝口水那么简单。一、TreeSet定义我们知道TreeMap是一个有序的二叉树,那么同理TreeSet同样也是一个有转载 2015-12-18 17:57:35 · 196 阅读 · 0 评论 -
java提高篇(十七)-----异常(二)
五、自定义异常 Java确实给我们提供了非常多的异常,但是异常体系是不可能预见所有的希望加以报告的错误,所以Java允许我们自定义异常来表现程序中可能会遇到的特定问题,总之就是一句话:我们不必拘泥于Java中已有的异常类型。 Java自定义异常的使用要经历如下四个步骤: 1、定义一个类继承Throwable或其子类。 2、添加构造方法(当然也转载 2015-12-18 18:13:17 · 319 阅读 · 0 评论 -
java提高篇(十八)-----数组之一:认识JAVA数组
噢,它明白了,河水既没有牛伯伯说的那么浅,也没有小松鼠说的那么深,只有自己亲自试过才知道!道听途说永远只能看到表明现象,只有亲自试过了,才知道它的深浅!!!!! 一、什么是数组 数组?什么是数组?在我印象中的数组是应该这样的:通过new关键字创建并组装他们,通过使用整形索引值访问它的元素,并且它的尺寸是不可变的! 但是这只是数组的最表面的东西!深一转载 2015-12-18 18:12:10 · 296 阅读 · 0 评论 -
java提高篇(十九)-----数组之二
前面一节主要介绍了数组的基本概念,对什么是数组稍微深入了一点点,在这篇博文中主要介绍数组的其他方面。 三、性能?请优先考虑数组 在java中有很多方式来存储一系列数据,而且在操作上面比数组方便的多?但为什么我们还需要使用数组,而不是替代它呢?数组与其他种类的容器之间的区别有三个方面:效率、类型和保存基本类型的能力。在java中,数组是一种效率最高的存储和随机访问对象引转载 2015-12-18 18:11:06 · 298 阅读 · 0 评论 -
java提高篇(二十)-----集合大家族
在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList、HashMap、HashSet,也有不常用的Stack、Queue,有线程安全的Vector、HashTable,也有线程不安全的LinkedList、TreeMap等等! 上转载 2015-12-18 18:09:49 · 231 阅读 · 0 评论 -
java提高篇(二二)-----LinkedList
一、概述 LinkedList与ArrayList一样实现List接口,只是ArrayList是List接口的大小可变数组的实现,LinkedList是List接口链表的实现。基于链表实现的方式使得LinkedList在插入和删除时更优于ArrayList,而随机访问则比ArrayList逊色些。 LinkedList实现所有可选的列表操作,并允许所有的元素包括nu转载 2015-12-18 18:08:43 · 216 阅读 · 0 评论 -
java提高篇(二三)-----HashMap
HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。下面就来分析HashMap的存取。 一、定义 HashMap实现了Map转载 2015-12-18 18:07:35 · 207 阅读 · 0 评论 -
java提高篇(二四)-----HashSet
在前篇博文中(java提高篇(二三)-----HashMap)详细讲解了HashMap的实现过程,对于HashSet而言,它是基于HashMap来实现的,底层采用HashMap来保存元素。所以如果对HashMap比较熟悉,那么HashSet是so easy!!一、定义[java] view plaincopyprint?public class HashSet转载 2015-12-18 18:05:39 · 206 阅读 · 0 评论 -
java提高篇(二五)-----HashTable
有两个类都提供了一个多种用途的hashTable机制,他们都可以将可以key和value结合起来构成键值对通过put(key,value)方法保存起来,然后通过get(key)方法获取相对应的value值。一个是前面提到的HashMap,还有一个就是马上要讲解的HashTable。对于HashTable而言,它在很大程度上和HashMap的实现差不多,如果我们对HashMap比较了解的话,对Has转载 2015-12-18 18:04:41 · 198 阅读 · 0 评论 -
Java提高篇(二六)------hashCode
在前面三篇博文中LZ讲解了(HashMap、HashSet、HashTable),在其中LZ不断地讲解他们的put和get方法,在这两个方法中计算key的hashCode应该是最重要也是最精华的部分,所以下面LZ揭开hashCode的“神秘”面纱。 hashCode的作用 要想了解一个方法的内在原理,我们首先需要明白它是干什么的,也就是这个方法的作用。在讲解数组时(ja转载 2015-12-18 18:03:30 · 229 阅读 · 0 评论 -
Java提高篇(二七)-----TreeMap
TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与Java提高篇系列博文保持一致还是叫做TreeMap比较好。通过这篇博文你可以获得如下知识点: 1、红黑树的基本概念。 2、红黑树增加节点、删除节点的实现过程。 3、红黑树左旋转、右转载 2015-12-18 18:01:01 · 386 阅读 · 0 评论 -
java提高篇(十三)-----字符串
可以证明,字符串操作是计算机程序设计中最常见的行为。 一、String 首先我们要明确,String并不是基本数据类型,而是一个对象,并且是不可变的对象。查看源码就会发现String类为final型的(当然也不可被继承),而且通过查看JDK文档会发现几乎每一个修改String对象的操作,实际上都是创建了一个全新的String对象。 字符串为转载 2015-12-18 17:35:34 · 165 阅读 · 0 评论 -
java提高篇(十二)-----equals()
equals() 超类Object中有这个equals()方法,该方法主要用于比较两个对象是否相等。该方法的源码如下:[java] view plaincopyprint?public boolean equals(Object obj) { return (this == obj); } 我们知道所有的转载 2015-12-18 17:34:41 · 164 阅读 · 0 评论 -
用 Servlet 进行上载的原理和实现
Servlet 是用 Java 编写的、协议和平台都独立的服务器端组件,使用请求/响应的模式,提供了一个基于 Java 的服务器解决方案。使用 Servlet 可以方便地处理在 HTML 页面表单中提交的数据,但 Servlet 的 API 没有提供对以 mutilpart/form-data 形式编码的表单进行解码的支持,因而对日常应用中经常涉及到到文件上传等事务无能为力。本文将从文件传输的基本转载 2015-11-30 18:22:33 · 493 阅读 · 0 评论 -
JSP 技术 -- 是友还是敌?
批判性地看待一种可行的表示技术:JavaServerPages servlet 技术作为一名 Java 技术老手和新的 Enhydra 拥护者,作者力劝开发人员在选择设计 Web 应用程序的途径时,考虑一下 JavaServer Pages (JSP) servlet 以外的其他方法。实际上,Web 开发人员也并非一致对 JSP 技术表示满意。既然现在有 Sun 技术的多种变体可以使用,所以您转载 2015-11-30 18:24:28 · 541 阅读 · 0 评论 -
Servlet 工作原理解析
Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础。因而掌握 Servlet 的工作原理是成为一名合格的 Java Web 技术开发人员的基本要求。本文将带你认识 Java Web 技术是如何基于 Servlet 工作,你将知道:以 Tomcat 为例了解 Servlet 容器是如何工作的?一个 Web 工程在 Servlet 容器中是转载 2015-11-30 18:19:16 · 142 阅读 · 0 评论 -
大型Servlet编程模型
本文研究在服务器上存储客户机数据的可扩展性的关键问题和使您的 servlet 在高流量的环境下正常运行的一些方法.这篇文章首先在 Java report中出现,得到允许后重新发表在这里。Kyle Brown 和 Skyler Thomas 是北卡罗来纳州 Research Triangle Park 的 IBM WebSphere Service 中的高级 Java 顾问。可以通过转载 2015-11-30 18:21:03 · 407 阅读 · 0 评论 -
Servlet 实现动态图文结合输出
构建动态网站,灵活性与美观经常会成为一个矛盾。网页设计师从视觉角度考虑,在许多地方采用了图片,有时甚至在动态输出的内容上使用了图片,比如网站的栏目、各类标题等。而这些内容往往 要经常变换,需要 WEB 页面的脚本程序根据数据库中的内容实时输出。传统使用图片的形式显然无法胜任需要经常变换内容的位置 ,通常是采用折衷的办法,或降低对视觉效果的要求,让设计师改用文字设计,或要求维护人员不时根据实际内容重转载 2015-11-30 18:17:50 · 1004 阅读 · 0 评论 -
J2EE 探索者: 隐式对象的多种用法
浅淡 JSP 技术中使用最多的对象接着上月对会话作用域的介绍,企业Java 专家 Kyle Gabhart 深入研究了 JSP 隐式对象的多种用法。接下来,他将介绍 9 个隐式对象,解释每个对象的用途(或者多种用途),最后给出一些怎样在JSP 编程中使用这些便利工具的最佳实践。您可以到我们的讨论论坛中分享您对这篇文章或者 J2EE 探索者系列中的任何其他文章的想法。本期的转载 2015-11-30 18:31:34 · 794 阅读 · 0 评论 -
JSP 最佳实践: 使用 JSP include 机制改进外观
将您的网站内容分成可管理的片段本文是新的 JSP 最佳实践系列文章的第一部分,它介绍了 JavaServer Pages include 机制。请跟随 Java 编程专家 Brett McLaughlin 学习如何使用 include 将静态的头文件和脚注文件加入您的网站或 Web 应用程序页面中。欢迎阅读 Java 专区中最新的 最佳实践系列文章。如果您看过先前的系列文章,那转载 2015-11-30 18:27:41 · 323 阅读 · 0 评论 -
JSP 技术 —— 是敌是友?
理性看待 JavaServer Pages servlets 表示技术作为一名资深的 Java 技术专家和 Enhydra 支持者,本文作者强烈建议开发人员在选择 Web 应用程序编程语言时,使用其他可以替代 JavaServer Pages (JSP) servlets 的技术。JSP 技术是 Sun 的 J2EE 平台和编程模型的一部分,用于解决将单调的内容转换为外观优美的表示层时遇到的困转载 2015-11-30 18:25:34 · 620 阅读 · 0 评论 -
Java Servlet 技术简介
Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程。Roy 将介绍并解释 servlet 是什么,它们是如何工作的,如何使用它们来创建您能够想像到的任意复杂度的 Web 应用程序,以及作为一名专业编程人员,您如何才能最有效地使用 servlet。开始之前关于本教程在您最喜欢的 Web 浏览器中,您所阅读转载 2015-11-30 18:15:14 · 457 阅读 · 0 评论 -
JSP 最佳实践: 用 jsp:include 控制动态内容
用于构建动态网站的简单 JSP 标记本文是 Java Brett McLaughlin 继第一篇 JSP 最佳实践文章后的后续文章,在文中,作者向您演示了如何扩展 JSP 技术中用于动态内容的包含功能。了解静态 include 伪指令和动态 jsp:include 元素之间的差异,搞清楚如何混合搭配这二者以获取最优性能。在新的 JSP 最佳实践系列的前一篇文章中,您了解了如何使转载 2015-11-30 18:30:19 · 235 阅读 · 0 评论 -
HTTP 代理如何正确处理 Cookie
大多数的 Web 应用程序都要求维护某种会话状态,如用户购物车的内容。这种会话状态的保持很多情况下需要借助于 Cookie 或者 Session 的帮助。本文结合在线页面翻译 (Machine Translation System)项目中对于 Cookie 的处理方法,探讨一下如何在 HTTP 应用代理中正确处理 Cookie 的传递和管理问题。读者定位为具有 Java 和 Web 开发经转载 2015-11-30 18:33:34 · 634 阅读 · 0 评论 -
java提高篇(一)-----理解java的三大特性之封装
从大二接触java开始,到现在也差不多三个年头了。从最基础的HTML、CSS到最后的SSH自己都是一步一个脚印走出来的,其中开心过、失落过、寂寞过。虽然是半道出家但是经过自己的努力也算是完成了“学业”。期间参加过培训机构,但是极其不喜欢那种培训方式,于是毅然的放弃了选择自学(可怜我出了6000块钱啊),虽然自学途中苦很多,但是乐更多,当中的付出和收获只有自己知道。黄天不负有心人,鄙人愚钝,在大四第转载 2015-12-18 16:28:03 · 208 阅读 · 0 评论 -
java提高篇(十一)-----代码块
在编程过程中我们可能会遇到如下这种形式的程序:[java] view plaincopyprint?public class Test { { //// } } 这种形式的程序段我们将其称之为代码块,所谓代码块就是用大括号({})将多行代码封装在一起,形成一个独立的数据体,用于实现特定的算法。一般来说代转载 2015-12-18 17:33:39 · 173 阅读 · 0 评论 -
java提高篇(十)-----强制类型转换
在java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换。 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制转换。因为子类拥有比父类更多的属性、更强的功能,所以父类转换为子类需要强制。那么,是不是只要是父类转换为子类就会成功呢?其实不然,他们之间的强制类型转换是有条件的。转载 2015-12-18 17:32:35 · 165 阅读 · 0 评论 -
java提高篇(九)-----详解匿名内部类
在java提高篇-----详解内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客。在这篇博客中你可以了解到匿名内部类的使用、匿名内部类要注意的事项、如何初始化匿名内部类、匿名内部类使用的形参为何要为final。 一、使用匿名内部类内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪。创建格式如下:转载 2015-12-18 17:31:55 · 209 阅读 · 0 评论