首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

java读书笔记】JSTL,快速精通

将jstl.jar和standard.jar拷贝到WEB-INF/lib下 2、使用 采用taglib指令引入标签库,例如:引入核心标签库 <%@ taglib uri="http://<em>java</em>.sun.com...使用JSTL的优点 JSTL到底有什么好处,为什么要用JSTL,优点如下: 1、简化页面,有利于维护,避免在页面中写Scriptlet(Scriptlet是包含在之间的<em>Java</em>代码)...当项目非常大的时候,jsp页面的<em>java</em>代码每次都必须重写,会出现大量的代码,不易于维护和修改,可读性差,对于不懂<em>java</em>的美工人员同样是一种痛苦。...总结 EL语言是JSTL输出(输入)一个<em>JAVA</em>表达式的表示形式。...通常,我们写JSP页面时,JSTL一般要配合EL表达式使用,达到一个共同的目的:简化页面,减少jsp页面的<em>java</em>代码,实现分层的思想。

61810

读书笔记 | 《Effective Java》 | 接口定义

接口优于抽象类 Java 有两种机制来定义允许多个实现的类型:接口和抽象类。...因为 Java 只允许单一继承,所以对抽象类的这种限制严格限制了它们作为类型定义的使用。 任何定义所有必需方法并服从通用约定的类都可以实现一个接口,而不管类在类层次结构中的位置。...为后代设计接口 在 Java 8 之前,不可能在不破坏现有实现的情况下为接口添加方法。如果向接口添加了一个新方法,现有的实现通常会缺少该方法,从而导致编译时错误。...在 Java 8 中,添加了默认方法(default method)构造,目的是允许将方法添加到现有的接口。但是增加新的方法到现有的接口是充满风险的。...在 Java 8 中添加到集合接口的一些方法已知是易受影响的,并且已知一些现有的实现会受到影响。

22630

Effective-java-读书笔记之方法

检查参数的有效性方法的参数限制, 应该在文档中指明, 并且在方法体的开头处检查参数, 以强制施加这些限制.对于公有的方法, 要用Javadoc的@throws标签在文档中说明违反参数值限制时会抛出的异常.Java...(除非通过将-ea或者-enableassertions标记传递给Java解释器来启用它们.)第50条 必要时进行保护性拷贝你的类是否能够容忍对象进入数据结构之后发生变化?...(例如: Collections.emtpySet).第55条 明智地返回optionals在Java 8之前, 当一个方法无法返回值的时候有两种选择: 返回null或者抛出异常.Java 8推出了一个新的解决方案...对于类, 接口和域, 概要描述应该是一个名词短语.Java 9引入了index, 方面文档查询....(注解的概要描述是个动词短语.)包级文档注释: package-info.java.模块级文档注释: module-info.java.在文档中还应该标明:线程安全性 -> 不论是否线程安全.如果可序列化

39750

Effective-java-读书笔记之异常

(对next()不适用, 因为null是next()方法的合法返回值.)第70条 对可恢复的情况使用受检异常, 对编程错误使用运行时异常Java提供三种可抛出结构(throwable):受检异常(checked...例如数组越界访问.如果无法决定到底应该用受检(checked exception)还是非受检异常(runtime exception), (无法确定是否可能恢复), 就用runtime exception.虽然Java...Java 8开始, 这种负担加重, 因为抛出受检异常的方法不能直接在流中使用.如果正确地使用API并不能阻止这种异常条件的产生, 并且一旦产生异常, 使用API的程序员可以立即采取有用的动作, 这种负担就被认为是正当的...加log供之后研究.第74条 每个方法抛出的异常都要有文档始终要单独地声明受检的异常, 并且利用Javadoc的@throws标记, 准确地记录下抛出每个异常的条件.虽然Java并不要求方法声明它可能会抛出的未受检异常

48661

Effective Java 读书笔记(7)避免finalizer

他们的使用可能会造成错误的产生,糟糕的性能以及移植性的问题,当然Finalizers有着一些有用的优点,我们会在后续介绍这些,但是作为首要的规则,你应该避免finalizers C++程序编写者们被警告不要去如同C++析构对于Java...的模拟来考虑finalizers,在C++之中,析构函数是经常被用来作为回收对象间关联资源的方法,作为构造函数的反面,但是在Java之中,垃圾回收收集器会在一个对象变得不可达的时候回收它的相关资源,对于程序员这部分来说并不需要特别地去添加...,C++的析构也通常被用来回收其他的非内存资源,Java中try-finally的块就是经常用作这个目的。...里面的close方法,其他的例子比如java.util.Timer里面的cancel方法,这个方法在对于使关联Timer实例的线程自身轻柔地终止上表现出必要的状态转变 java.awt包括Graphics.dispose...合法的使用就是关于本地对等体(Native Peers)的,一个native peer就是一个native 对象通过native方法来代表一个普通的对象,由于这个native peer并不是普通的对象,垃圾回收器当Java

48820

Effective-java-读书笔记之泛型

Java平台没有泛型之前的接口类型List完全一样.如果使用原生态类型, 就失掉了泛型在安全性和表达性方面的所有优势....如果一个参数类型在方法声明中只出现一次, 就用一个wildcard来替代它.swapHelper -> 把复杂的泛型内化.第32条 谨慎地结合泛型和可变参数泛型和可变参数都是Java 5的时候添加的,...实际上在实践中是有用的, 所以语言设计者保留了它.Java类库中: Arrays.asList(T...a), Collections.addAll(Collection c, T... elements), EnumSet.of(E first, E... rest).这些类库方法是类型安全的.在Java 7之前, 对泛型可变参数的警告只能在客户端通过...@SuppressWarnings("unchecked")来消除, Java 7加上了SafeVarargs注解, 方法的作者用来承诺安全性.一个有泛型可变参数的方法, 满足了下面两个条件就是安全的:

41460

Java编程思想读书笔记(一)【对象导论】

前言 作为学习Java语言的经典之作《Java编程思想》,常常被人提起。虽然这本书出版十年有余,但是内容还是很给力的。...在Java中,动态绑定是默认行为,不需要添加额外的关键字来实现多态。 1.8 单根继承结构 在Java中,所有的类最终都继承自单一的基类object。...1.9.1 参数化类型 在Java SE5出现之前,容器存储的对象都只具有Java中的通用类型:Object。...Java采用动态内存分配方式。 在称为堆(heap)的内存池中动态地创建对象。...Java对象生命周期: 如果是在堆上创建对象,编译器就会对它的生命周期一无所知。 Java提供了被称为“垃圾回收器”的机制,它可以自动发现对象何时不再被使用,并继而销毁它。

23940

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券