前言在研究JPF时,发现存在两个版本的JPF,
Vector是很有用的一个数据集合,我们可以把它看成一个长度不确定的动态空间分配的数组
Tomcat与Digester的关系我们利用Tomcat做服务器开发Web应用时,总会有一个配置文件we第
Enumeration接口接口中的函数函数名称函数的作用hasMoreElements()检查当前集合中还有没有下一个元素nextElement()获得集合中的下一个元素如果当前集合中已经没有元素,那么会返回NoSuchElementException异常。 一般情况下利用Enumeration接口来遍历采取下面的格式:Enumeration enum = . . .; while (e
这篇博客主要介绍一下输入输出流中OutputStream这个抽象类首先介绍一下这个类的结构:OutputStream定义在java.id.OutputStream包含四个函数:public abstract void write(int b) throws IOExceptionpublic void write(byte[] data) throws IOException
----------------------------------------------URL----------------------------------------------------------------------java.net.URL代表对一个uniform resource locator(统一资源定位系统),类似http://metalab.unc.edu/java
文件的读取主要是用java.io.FileInputStreamjava.io.FileInputStream那么接下来我分为读文件和写文件两部分来介绍FileStream,也就是文件流-----------------------------------------FileInputStream---------------------------------------------
这个类的命名空间结构如下:java.io.InputStream 它的函数结构如下:public abstract int read() throws IOExceptionpublic int read(byte[] data) throws IOExceptionpublic int read(byte[] data, int offset, int lengt
stack是很常用的一个数据结构,满足LIFO(后进先出)的性质,java对stack这个数据结构进行了封装它的函数也很简单,我们一个一个来学习----------------------------------构造stack---------------------------------------------public Stack()一个动态变化空间的栈,当空间不够的时候会
利用k
接(注册到Selector轮询调度),
内创建自己的
单一职责原则(Single Responsibility Principle)SRP 基本概念单一职责原则定义:应该有且仅有一个原因引起类的变更,也就是接口或类和职责的关系是一一对应的。难点:职责的划分: 在不同情景和生产环境下我们对职责的细化是不同的(职责单一的相对性)单一职责原则提出的是一个评价接口是否优良的标准,但是职责和变化原因是不可度量的,因项目而异,因环境而异(不可度量性)优势: 类的
get目标角色:该角色定义我们要将原接口转化为何种接口,也就是我们期望得到的接口(方便多态地使用)Adaptee源角色:需要利用适配
java -version,查看是否已经安装JAVA的JDK和JRElinux下apt-ge
Maven的线上仓库maven的线上仓库是maven正常执行的保障,因为国内的网络环境问题,maven的中心库可能会出现速度慢的现象,可以采取利用国内的镜像来替代中心库的方法解决这一问题Maven映像的配置我的环境是win10 首先maven - v 查找到maven的安装路径 找到路径后,根据这个路径找到目录下的conf文件夹下的settings.xml,最好用IDE打开,这样xml的树形结
CocurrentHashMap的优势首先常用三种HashMap包括HashMap,HashTable和CocurrentHashMap:HashMap在并发编程过程中使用可能导致死循环,因为插入过程不是原子操作,每个HashEntry是一个链表节点,很可能在插入的过程中,已经设置了后节点,实际还未插入,最终反而插入在后节点之后,造成链中出现环,破坏了链表的性质,失去了尾节点,出现死循环。Hash
应该
为何要花时间实现自己的ClassLoader虽然人生的乐趣很大一部分来自于将时间花在有意思但是无意义的事情上,但是这件事绝对是有意思并且有意义的,有以下几个情景是值得我们花费时间实现自己的classLoader的:我们需要的类不一定存放在已经设置好的classPath下(有系统类加载器AppClassLoader加载的路径),对于自定义路径中的class类文件的加载,我们需要自己的ClassLoa
基本概念Decorator职能上: 动态地给一个对象添加一些额外的职责,就增加功能来说Decorator比从基类生成子类更灵活,而且能有效地控制子类的数量,防止子类爆炸(后面的特性会印证这个优势)。结构(工作原理)上: 可以创建始于Decorator对象(负责新功能的对象)终于原对象的一个对象链实现上: Decorator模式将Decrator对象(能够提供额外的功能)与这些对象的使用规则分离开
基本概念Observer观察者模式(Observer Pattern)又称为发布订阅模式(Publish/subscribe)定义对象间的一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并且自动更新根据单一职责原则,每个类的职责是单一的,我们可以通过触发机制,形成一个触发链,把各个单一的职责串联成真实世界中的复杂的逻辑关系。观察者模式的角色分工(JDK中提供了抽象接
响每一个类加载器都有一个独立的命名空间独立的命名空
依赖倒置原则(Dependence Inversion Principle)依赖倒置原则(DIP)的基本概念原始定义高层模块不应该依赖低层模块,两者都应该依赖其抽象抽象不应该依赖细节细节应该依赖抽象Java中的具体含义模块间的依赖通过抽象发生 实现类之间不发生直接的依赖关系其依赖关系通过接口或者抽象类产生 接口或抽象类不依赖于具体实现实现类依赖接口或抽象类依赖倒置(DIP)的好处采用DIP可以减少
基本概念Command命令模式是一个高内聚的模式(满足单一职责原则)概念:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式在项目中频繁使用,封装性和拓展性都有很好的保障Command模式中的角色分工: Client:创建一个命令并决定接受者Command:命令接口,定义一个抽象方法Concrete Command:具
基本概念定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,知道有对象处理它为止。COR(责任链)模式的角色分工: Handler:抽象处理者,定义一个处理请求的接口Concrete Handler: 具体处理者,处理请求的具体类,或者传给”下家”。Requester:发出请求等待处理的类,它无需关注到底是哪个具体的Hand
里氏替换原则(Liskov Substitution Principle)LSP的基本概念定义: 所有引用基类的地方必须能透明地使用其子类的对象只要父类能出现的地方子类就可出现,而且替换为子类也不会产生任何错误或异常,使用者可能根本就不需要知道是父类还是子类(封装造成的多态性)规范子类必须完全实现父类的方法 在类中调用其他类时必然要使用父类或者接口,如果子类中不支持父类中的方法,自然就违背了LS
ect(具体的主题角色):是被委托角色或者说是被代理角色Proxy(代理主题角色):是委托类或者代理类: 它负责对真实的角
Strategy基本概念策略模式(Strategy Pattern):定义一组算法,将每个算法都封装起来,并且他们之间可以互换。使用面向对象的继承和多态机制实现Strategy中的角色:Context封装角色: 它叫做上下文角色,起承上启下的封装作用,屏蔽高层模块对策略、算法的直接访问,封装可能存在的变化。Strategy抽象策略角色: 策略,算法家族的抽象,通常为接口,定义每个策略或算法的必
基本概念Visitor封装一些作用于数据结构中的各元素的操作,不同的操作可以
Collection最基本的集合接口,包含对于集合的基本的8个操作: 向集合中添加元素个元素,如果添加成功返回true,否则返
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号