![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 59
Lee_jiaqi
这个作者很懒,什么都没留下…
展开
-
Java Web入门案例详细步骤(内附Java环境搭建:jdk1.8+tomcat8+MyEclipse)
一、Java环境搭建 Java环境搭建可参考此链接中的步骤进行:http://blog.csdn.net/yy243/article/details/52775311二、Java Web入门案例详细步骤: 1.打开MyEclipse,新建Web Project,输入工程名 2.下载基础jar包 可在百度云中下载链接:https://pan.baidu.com/s/1bpRYdS原创 2018-01-24 21:10:31 · 2010 阅读 · 0 评论 -
设计模式(Java)—Visitor模式
在数据结构中保存着许多元素,我们会对这些元素进行“处理”。在Visitor模式中,数据结构与处理被分离开来。我们编写一个表示“访问者”的类来访问数据结构中的元素,并把对各元素的处理交给访问类。这样,当需要增加新的处理时,我们只需要编写新的访问者,然后让数据结构可以接受访问者的访问即可。示例程序使用Composite模式中用到的那个文件和文件夹的例子作为访问者要访问者的数据结构,访问者会访问由文...原创 2018-09-19 20:26:32 · 10991 阅读 · 3 评论 -
设计模式(Java)—Meditor模式
Meditor的意思是“仲裁者”“中介者”。一方面,当发生麻烦事的时候,通知仲裁者;当发生设计全体组员的事情时,也通知仲裁者。当仲裁者下达指示时,组员会立即执行。团队成员之间不再互相沟通并私自做出决定,而是发生任何事情都要向仲裁者报告。另一方面,仲裁者站在整个团队的角度对组员上报的事情做出决定。这就是Mediator模式。示例程序这段程序是一个GUI程序,它展示了一个登陆对话框,用户在其中输入...原创 2018-09-25 16:20:12 · 863 阅读 · 0 评论 -
设计模式(Java)—Observer模式
在Observer模式中,当观察对象的状态发生变化时,会通知给观察者模式。Observer模式适用于根据对象状态进行相应处理的场景。示例程序观察者将观察一个会生成数值的对象,并将它生成的数值结果显示出来。不过,不同的观察者的显示方式不一样,DigitObserver会以数字形式显示数值,GrphaObserver则会以简单的图示形式来显示数值。Observer接口该接口是观察者的接口,具体...原创 2018-09-25 21:34:53 · 191 阅读 · 0 评论 -
设计模式(Java)—Chain of Responsibility模式
职责链模式(Chain of Responsibility):使多个对象都有机会处理同一个请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。示例程序类图Trouble类问题生成类。package Chain;//问题类,通过暴露问题标号使得解决问题的类判断是否有能力处理 public class Troubl...原创 2018-09-20 15:44:22 · 500 阅读 · 0 评论 -
设计模式(Java)—Facade模式
使用Facade模式可以为互相关联在一起的错综复杂的类整理出高层接口,其中的Facade角色可以让系统对外只有一个简单的接口。示例程序该程序只有三个简单类,一个是用于从邮件地址中获取用户名字的数据库类,一个用于编写HTML文件的类,以及一个扮演Facade角色并提供高层接口的类。Database类Database类可获取指定数据库名所对应的Properties的实例,我们无法生成该类的任...原创 2018-09-20 19:43:59 · 700 阅读 · 0 评论 -
设计模式(Java)—Memento模式
使用面向对象编程的方式实现撤销功能时,需要事先保存实例的相关状态信息。然后,在撤销时,还需要根据所保存的信息将实例恢复至原来的状态。要想恢复实例,需要一个可以自由访问实例内部结构的权限。但是,如果稍不注意,又可能会将依赖于实例内部结构的代码分散地编写在程序中的各个地方,导致程序变得难以维护。这种情况就叫做“破坏了封装性”。通过引入表示实例状态的角色,可以在保存和恢复实例时有效地防止对象的封装性...原创 2018-09-26 13:40:09 · 911 阅读 · 1 评论 -
设计模式(Java)—State模式
在State模式中,用类来表示状态,以类来表示状态后,可以通过切换类来方便的改变对象的状态。示例程序金库警报系统:金库与警报中心相连金库里有警铃和正常通话用的电话金库里有时钟,监视着现在的时间白天的时间范围是9:00-16:59,晚上的时间范围是17:00-23:59和0:00-8:59金库只能白天使用白天使用金库的话,会在警报中心留下记录晚上使用金库的话,会在警报中心发送紧急...原创 2018-09-26 19:44:57 · 1069 阅读 · 0 评论 -
设计模式(Java)—Flyweight模式
对象在计算机中是虚拟的东西,它的“重”和“轻”并非指实际重量,而它们“所使用的内存大小”。使用内存多的对象就是“重”的对象,使内存少的对象就是“轻”的对象。为了能够在计算机中保存对象,需要分配给其足够的内存空间。当程序中需要大量对象时,如果都使用new关键字来分配内存,将会消耗大量内存空间。关于Flyweight模式,一言以蔽之就是“通过尽量共享实例来避免new出实例”。当需要某个实例时,并不...原创 2018-09-27 10:36:00 · 413 阅读 · 0 评论 -
设计模式(Java)—Proxy模式
Proxy是代理人的意思,它指的是代替别人进行工作的人。当不一定需要本人亲自进行工作时,就可以寻找代理人去完成工作。但代理人毕竟只是代理人,能代替本人做的事情终究是有限的。因此,当代理人遇到无法自己解决的事情时就会找本人解决该问题。在面向对象编程中,“本人”和“代理人”都是对象。如果“本人”太忙了,有些工作无法自己亲自完成,就将其交给“代理人”对象负责。示例程序示例程序要实现一个带名字的打印...原创 2018-09-27 14:28:44 · 328 阅读 · 1 评论 -
设计模式(Java)—Command模式
一个类在进行工作时会调用自己或是其他类的方法,虽然调用结果会反映在对象的状态中,但是并不会留下工作的历史纪录。这时,如果有一个类,用来表示进行这项工作的命令就会方便很多。每一项想做的工作就不再是方法的调用这种动态处理了,而是一个表示命令的类的实例,既可以用物来表示,要想管理工作的历史纪录,只需管理这些实例的集合即可,而且还可以随时再次执行过去的命令,或是将多个过去的命令整合为一个新命令并执行。...原创 2018-09-27 19:49:07 · 5051 阅读 · 0 评论 -
设计模式(Java)—Interpreter模式
在Interpreter模式中,程序要解决的问题会被用非常简单的“迷你语言”表述出来,即用“迷你语言”编写的“迷你程序”把具体问题表述出来。迷你程序是无法单独工作的,我们还需要用Java语言编写一个负责“翻译”的程序。翻译程序会理解迷你语言,并解释和运行迷你程序。这段翻译程序也称为解释器。这样,当需要解决的问题发生变化时,不需要修改Java语言程序,只需要修改迷你语言程序即可应对。使用Java语...原创 2018-09-28 20:01:18 · 1514 阅读 · 2 评论 -
Java相关
对象流:对象流指的是可以直接把一个对象以流的形式传输给其他的介质,如硬盘。一个对象以流的形式进行传输,叫做序列化。该对象所对应的类,必须实现Serializable接口。Collection是Set List Queue和Deque的接口。Collection和Map之间没有关系,前者是放一个一个对象的,Map是放键值对的。Collections是一个类。HashMap和Hashtabl...原创 2019-05-11 17:02:31 · 128 阅读 · 0 评论 -
java中级相关
在Swing程序的开发中,需要建立3种线程的概念初始化线程初始化线程用于创建各种容器,组件并显示他们,一旦创建并显示,初始化线程的任务就结束了。事件调度线程通过事件监听的学习,我们了解到Swing是一个事件驱动的模型,所有和事件相关的操作都放是放在事件调度线程 (Event Dispatch)中进行的。比如点击一个按钮,对应的ActionListener.actionPerform...原创 2019-05-25 18:22:23 · 330 阅读 · 0 评论 -
JAVA程序打包成exe文件详细图解
https://www.cnblogs.com/ning1121/p/3925210.html遇到问题,解决如下:https://www.cnblogs.com/hejing-swust/p/7684785.html原创 2019-05-25 18:24:22 · 2877 阅读 · 0 评论 -
快速排序
之前对快排的理解不是很深,所以总是看了忘,忘了看,这次终于明白了!!!所以将我的理解记录一下。快排的思想是每一次排序是找到一个基准数,然后这次排序的目的是找到该基准数在最终排序好的序列中的位置,即该基准数位于比它小的数的左边,比它大的数的右边。所以在排序时:一般基准数选取数组中左边第一个数,然后i指向左边第一个数字,j指向右边第一个数字,从右边开始,如果数值大于等于基准数,则j–,否则将该数赋...原创 2019-08-04 14:44:17 · 211 阅读 · 0 评论 -
堆排序
https://www.jianshu.com/p/11655047ab58参考以上链接理解堆排序。堆实际上是一种特殊的完全二叉树,从根开始,其子树的根结点大于其左右子节点的值,递归下去依然如此,即这是大根堆。相反,其子树的根节点小于其左右子节点的值,递归下去依然如此,则这是小根堆。依据堆的定义可知,小根堆中的根节点为堆中的最小值,大根堆中的根结点为堆中的最大值,因此堆排序,就是可将大根堆或...原创 2019-08-05 15:00:29 · 130 阅读 · 0 评论 -
设计模式(Java)—Decorator模式
可以不断地为对象添加装饰的设计模式被称为Decorator模式。示例程序为文字添加装饰边框Display类该类是可以显示多行字符串的抽象类。package Decorator;//被装饰物与装饰物的抽象父类,这样保持了两者之间的一致性,在show方法中使用getRows方法和getRowText方法这里使用的是模板方法//在抽象类中的方法实现中使用抽象方法,这种设计模式是模板模式...原创 2018-09-19 14:26:14 · 2618 阅读 · 1 评论 -
设计模式(Java)—Composite模式
Composite模式是能够使容器与内容具有一致性,创造出递归结构的模式一、示例程序列出文件和文件夹Entry类:package Composite;//实体类,将文件类和文件夹类统一起来public abstract class Entry { public abstract String getName(); public abstract int getSize(); pu...原创 2018-09-18 21:52:37 · 357 阅读 · 0 评论 -
Java三大框架-------Struts2
一、框架概述 1、框架的意义与作用: 所谓框架,就是把一些繁琐的重复性代码封装起来,使程序员在编码中把更多的经历放到业务需求的分析和理解上面。 特点:封装了很多细节,程序员在使用的时候会非常简单。 2、三大框架: Struts2,Hibernate,Spring 3、学好框架: ...原创 2018-03-16 19:52:59 · 464 阅读 · 0 评论 -
Java三大框架---Struts2--(分文件管理配置文件和数据封装)
本博客叙述了分文件管理配置文件和数据封装的内容原创 2018-03-17 17:07:01 · 183 阅读 · 0 评论 -
Java---Struts2国际化及自定义拦截器
自定义拦截器的学习之后,收益很大原创 2018-03-31 21:18:12 · 170 阅读 · 0 评论 -
设计模式(Java)—Abstract Factory模式
抽象工厂的工作是将“抽象零件”组装为“抽象产品”。 在Abstract Factory模式中将会出现抽象工厂,它将会抽象零件组装为抽象产品。也就是说人们并不关心零件的具体实现,而只关心接口,我们仅使用该接口将零件组装成为产品。 在Tempate Method模式和Builder模式中,子层这一层负责方法的具体实现,在Abstract Factory模式也是一样的。在子类这一层中有具体的工厂,它...原创 2018-09-07 21:16:34 · 523 阅读 · 0 评论 -
设计模式(Java)—Bridge模式
Bridge模式的作用是将两样东西连接起来,它们分别是类的功能层次结构与类的实现层次结构。该模式在类的功能层次结构与类的实现层次结构之间搭建桥梁。类的层次结构的两个作用 1.类的功能层次结构 当要增加新的功能时,我们可以从各个层次的类中找出最符合自己需求的类,然后以它为父类编写子类,并在子类中增加新的功能。这就是“类的功能层次结构”。通常来说,类的层次结构关系不应当关系过深。2.类...原创 2018-09-08 15:04:47 · 1309 阅读 · 0 评论 -
设计模式(Java)—Adapter模式
一、适配器的角色 在程序的世界中,经常会存在现有的程序无法直接使用,需要做适当的变换之后才能使用的情况。这种用于填补“现有程序”和“所需程序”之间的差异的设计模式就是Adapter模式。Adapter模式有以下两种: 1.类适配器模式(使用继承的适配器) 2.对象适配器模式(使用委托的适配器)二、使用继承的适配器 示例程序:将输入的字符串显示为(Hello)或是Hello的简单程序...原创 2018-09-05 19:33:23 · 616 阅读 · 0 评论 -
设计模式(Java)—Iterator模式
Iterator模式用于在数据集合中按照顺序遍历集合。一、示例程序 将书(Book)放到书架(BookShelf)中,并将书的名字按顺序显示出来。 Aggregate接口(集合的接口):package Iterator;//集合接口、含有遍历器API//将遍历功能置于Aggregate角色之外public interface Aggregate { public...原创 2018-09-05 19:58:29 · 216 阅读 · 0 评论 -
设计模式(Java)—Template Method模式
Template模式是在父类中定义处理流程的框架,在子类中实现具体处理的模式。一、示例程序 将字符和字符串循环显示5次的程序 在AbstractDisplay类中定义了display方法,而且在该方法中依次调用open、print、close这3个方法,虽然这3个方法已经在AbstractDisplay中被声明了,但都是没有尸体的抽象方法。这里调用抽象方法的display方法就是模板方...原创 2018-09-05 22:05:17 · 378 阅读 · 0 评论 -
设计模式(Java)—Factory Method模式
用Template Method模式来构建生成实例的工厂,这就是Factroy Method模式,在Factory Method模式中,父类决定实例的生成方式,但并不决定所要生成的具体的类,具体的处理全部交给子类负责,这样就可以将生成实例的框架和实际负责生成实例的类解耦。一、示例程序 制作身份证卡(ID卡) 此程序中有两个包: 1.生成实例的框架(framework包) 2.加工处...原创 2018-09-06 12:48:10 · 249 阅读 · 0 评论 -
设计模式(Java)—Singleton模式
Single模式必须满足的条件: 1.确保任何情况下都绝对只有1个实例 2.在程序上表现出“只存在一个实例”示例程序:Singleton类:package Singleton;//单例模式public class Singleton { //private限定外界不能访问到该变量,static限定该变量属于类变量 private static Single...原创 2018-09-06 19:20:08 · 197 阅读 · 0 评论 -
Java标记接口
1.概述 Java中常用的三个标记接口分别是:RandomAccess、Cloneable、Serializable,在查看JDK源码的时候,我们会经常发现这些接口的存在,它们不包含任何的方法,但是却广泛的存在,这种接口我们称之为标记接口(Mark Interface),这些接口我们不用实现任何的方法,它们的作用就是当某个类实现这个接口的时候,我们就认为这个类拥有了接口标记的某种功能。2.S...原创 2018-09-06 21:13:59 · 170 阅读 · 0 评论 -
Java抽象类和接口的区别
对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。一、抽象类 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为:abstract void fun();...原创 2018-09-07 10:42:10 · 112 阅读 · 0 评论 -
设计模式(Java)—Builder模式
在构建具有复杂结构的物体时,很难一气呵成,我们需要首先建造组成这个物体的各个部分,然后分阶段将它们组装起来。 Builder模式时用于组装具有复杂结构实例的模式。示例:使用Builder模式编写“文档”程序,这里编写的文档具有以下结构: 1.含有一个标题 2.含有几个字符串 3.含有条目项目 Builder类:抽象类,并没有进行任何处理,仅仅声明了抽象方法,Builder类的子类...原创 2018-09-07 13:51:12 · 1519 阅读 · 0 评论 -
设计模式(Java)—Prototype模式
在Java中,我们可以使用new关键字指定类名来生成类的实例,像这样使用new来生成实例时,是必须指定类名的。但是,在开发过程中,有时候也会有”在不指定类名的前提下生成实例的需求”,例如,在以下情况下我们就不能根据类来生成实例,而是根据现有的实例来生成新的实例。 (1)对象种类繁多,无法将它们整合到一个类中时 (2)难以根据类生成实例时 生成实例的过程太过复杂,很难根据类来 生成实例...原创 2018-09-07 14:42:03 · 1864 阅读 · 0 评论 -
浅拷贝和深拷贝(Java中的clone)
clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢? 1. 使用new操作符创建一个对象 2. 使用clone方法复制一个对象 那么这两种方式有什么相同和不同呢? new操作符的本意是分配内存。程序执行到new操作符时, ...原创 2018-09-07 15:25:56 · 221 阅读 · 0 评论 -
设计模式(Java)—Strategy模式
以不同的算法去解决同一个问题的模式是Strategy模式,Strategy模式可以整体地替换算法的实现部分。一、示例程序“猜拳游戏”两种策略:1.如果这局猜拳获胜,那么下一局也出一样手势;2.根据上一局的手势从概率上计算出下一局的手势Hand类:package Strategy;public class Hand { //表示石头、剪刀、布三个的值 public static ...原创 2018-09-18 17:39:50 · 283 阅读 · 0 评论 -
归并排序
归并排序的思想是:先分再合并在合并的时候,将数组左右已经排好序的两部分分别使用辅助数组空间存储,然后按照将两个有序的数组合并为一个数组的思想去做。package bs;/* * 归并排序 * 先分再合并 * */import java.util.Scanner;public class MergeSort { public static void sort(int[] a...原创 2019-08-07 16:53:00 · 78 阅读 · 0 评论