java
文章平均质量分 74
Java
林语堂丶
这个作者很懒,什么都没留下…
展开
-
常见的设计模式
文章目录策略模式观察者模式装饰者模式工厂模式单例模式(单件模式)命令模式适配器模式与外观模式面向对象适配器:类适配器外观模式模板方法模式迭代器与组合模式迭代器组合模式状态模式复合模式策略模式策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。设计原则多用组合,少用继承。例子:我们有一个duck(鸭子)体系时,并不是所有的鸭子都会叫/飞。那么我们在设计这个类对象时,就不能使用继承方式来继承鸭子的叫(call)或者飞(fly),因为如果使用继承方式原创 2021-11-07 22:14:44 · 257 阅读 · 0 评论 -
接口和抽象类的区别
抽象类可以存在普通成员函数,而接口中只能存在public abstract方法抽象类中的成员比变量可以是各种类型的,而接口中的成员变量只能是public static final类型的抽象类只能继承一个,接口可以实现多个接口和抽象类的设计目的是不一样的。接口的设计目的是对类行为进行约束。规定类能够做什么。但是只约束了行为的有无,不管具体是怎么实现的。抽象类的设计目的是为了代码复用,不同的类具有一些相同的行为,并且一部分行为是一样的。可以让这些类提取出一些共同的行为。比如:对于狗和猫都要.原创 2021-11-01 17:49:35 · 146 阅读 · 0 评论 -
Lunece介绍和简单实用
文章目录Lunece什么是全文检索数据分类结构化数据查询方法非结构化数据查询方法如何实现全文检索Lunece实现全文索引的流程索引和搜索的流程图创建索引获取原始文档创建文档对象分析文档创建索引查询索引用户查询接口创建查询执行查询渲染结果测试案例——配置开发环境Lunece是开发全文检索功能的工具包,从官方网站上下载lunece-7.4.0,并解压入门程序需求:创建索引查询索引分词器Lunece自带的中文分词器IKAnalyzer索引库维护索引库的添加Field域的属性添加文档代码实现索引库删除删除全部指定查原创 2021-10-31 00:06:43 · 733 阅读 · 1 评论 -
分页常用工具类
分页工具类把分页的概念分享出来。仅供参考先说实现思路:我这里是使用的MySql的分页,使用limit关键字来实现,如果使用Oracle,需要麻烦一点,使用rownum+子查询来实现分页MySql语句 limit关键字需要两个参数select * from emp limit i,j;i表示起使位置,j表示查询长度假设一个页面显示3条数据,那么这里查询的语句就应该是select * from emp limit 0,3;第二页:select * from emp limit 3,3;原创 2021-10-31 16:48:58 · 1617 阅读 · 0 评论 -
GIT入门使用
Git概述:Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是linus Torvalds为了帮助管理Linux内核开发的一个开放源码的版本控制软件。Git采用了分布式版本库的方式,不必服务器端软件支持。模块Git 有一下几个模块:工作区:我们写文件的地方,拥有(.git)的文件夹缓存区:Git所提供,是用来暂时存储文件的位置。本地库:Git所保存版本快照的地方。入门在使用Git前,需要先创建一个仓库,您可以使用一个已经存在的目录作为Git仓原创 2020-09-11 09:02:32 · 112 阅读 · 0 评论 -
JavaWeb简单实现一个做题
构思在看题库时,就能直接看到答案,从而不去思考本题,就想到做一个软件来实现,从本地拿到题库,自己来做的想法。题库这里我简单找一个题库文件类型是docx原创 2020-09-06 13:38:54 · 798 阅读 · 0 评论 -
XML解析和Java的反射
目录XML解析XML概述XML的作用XML语法文档声明元素属性注释转义字符CDATAXML约束DTD约束Schema约束dmo4j解析DOM解析原理API使用反射类的初始化XML解析XML概述XML全称为Extensible Markup Language,意思是可扩展的标记语言。W3C在1998年2月发布1.0版本,2004年2月又发布1.1版本,但因为1.1版本不能向下兼容1.0版本,所以1.1很少有人使用。同时,在2004年2月W3C又发布了1.0版本的第三版。所以我们通常使用1.0版本。X原创 2020-09-06 13:30:48 · 286 阅读 · 0 评论 -
Java8新特性——流式操作
Stream流流概述Stream更加简洁写法流式思想概述获取流流概述说道Stream流很容易想到I/O Stream,而实际上,Stream流不是I/O的一种,而是Lambda所带来的的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库该有的弊端。几乎所有的集合(Collection接口或Map接口等)都支持直接或者间接的遍历操作,而我们需要对集合中的元素进行操作的时候,除了必须的添加、删除、获取外,典型的就是集合遍历。例如:public class Demo01ForEach原创 2020-09-03 17:57:39 · 380 阅读 · 0 评论 -
Java——网络编程
网络编程网络编程入门软件结构网络通信协议协议分类网络编程三要素协议IP协议端口号TCP通信编程概述Socket类构造方法成员方法ServerSocket类构造方法成员方法简单的TCP网络程序分析实现服务器向客户端回写数据模拟B\S服务器网络编程入门软件结构C/S结构 :全称Client/Server结构,只是客户端和服务器结构,常见程序有QQ、迅雷等软件。B/S结构:全称为Browser/Server结构,是指浏览器和服务器结构。常见的浏览器有谷歌、火狐等。两种架构各有优势,但是无论哪种架构,原创 2020-09-01 20:26:21 · 144 阅读 · 0 评论 -
Java——IO流
流IO流概述IO的分类顶级父类字节流一切皆为字节字节输入流(OutputStream)FileOutputStream类构造方法写出字节数据数据追加续写写出换行字节输入流(InputStream)FileInputStream类构造方法读取字节数据字节流练习:图片复制字符流字符输出流(Reader)FileReader类 输入流构造方法读取字符数据字符输出流(Writer)FileWriter类构造方法基本写出数据关闭和刷新写出其他数据IO流概述当你电脑上插入语一个U盘,可以把视频,拷贝到你的电脑硬盘原创 2020-09-01 16:49:45 · 115 阅读 · 0 评论 -
Java中ArrayList集合的扩容机制
ArrayList扩容机制集合和数组ArrayList扩容集合和数组集合的底层也是用数组来实现的,数组在创建的时候是需要定长度的。那这样为什么集合在创建的时候不需要定长呢?看源码/** * Constructs an empty list with an initial capacity of ten. */ public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;原创 2020-08-20 20:20:41 · 1258 阅读 · 0 评论