自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(146)
  • 资源 (3)
  • 收藏
  • 关注

转载 java 压缩图片

压缩图片代码参考原作者代码图片会被输出到原有位置,文件名不变import com.hdcs.wr.common.utils.StringUtils;import java.awt.image.BufferedImage;import java.awt.image.ColorModel;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import javax.imageio.*;

2021-08-06 11:31:25 213

原创 Maven简单使用

MavenAnt分布式Maven简介新建Maven项目Maven项目的目录结构(jar)Maven项目之间的关系创建 war 类型项目资源拷贝插件热部署Ant1.Ant 和 Maven 都是项目构建工具2.在项目的运行编译打包等过程都需要依赖ant构建工具3.现在的所有项目都是基于ant架构的分布式1.传统项目部署 1.1 新建一个项目,通过不同的包区分不同的模块 1.2 把这一个项目发布到服务器的tomcat中2.分布式项目部署(适用于高负载的情况下) 2.1 把一个完整的项目拆分成

2020-07-13 10:52:19 178

原创 VSFTPD+Nginx

VSFTPD+NginxVSFTPD简介(主要是文件上传和下载的功能)安装VSFTPDFtpClient反向代理和正向代理(客户端是否知道最终访问的真实地址)安装 nginx(俄罗斯人发明的)使用Nginx代理ftpuser目录VSFTPD简介(主要是文件上传和下载的功能)1.linux的组件(一款软件),安装到linux后通过java代码(FtpClient)实现文件上传2.VSFTPD基于FTP协议3.为什么要使用VSFTPD? 3.1 之前实现文件上传 客户端浏览器 向一个 集群(文件上

2020-07-13 10:44:07 721

原创 Linux简单使用

LinuxLinux简介Linux系统目录介绍XShellFilezilla工具使用安装jdkTomcat配置Linux简介1.发展历史 丹尼斯.里奇 肯.汤普逊 系统内核:汇编 b语言 C语言作为内核语言,发明unix linus召集unix原班人马,发明了系统linus,后更名Linux2.目前所谓的linux都是统称,具体版本都叫做发行版3.著名的发行版 3.1 red Hat:目前最大的Linux发行厂商 3.2 ubuntu:免费版本。界面比较好 3.3 麒麟 3

2020-07-13 10:40:59 315

原创 使用pageHelper所遇到的问题及解决方法

pageHelper首先问题1问题2问题3首先第一次使用该插件确实带来了许多问题问题1下载jar包时 版本的问题:第一次下载的jar pageHelper版本 和jsqlparser版本不兼容 导致 分页不生效。问题2配置pageHelper时,没有注意版本问题, pageHelper4.x.x.jar和pageHelper5.x.x.jar 配置文件是由区别的pageHelper4...

2020-04-07 12:41:30 3039 2

原创 HTML的部分标签学习

HTML的学习HTMLHTML的概念和三大基石和标准文档流HTML的head标签学习示例源码:HTML的body标签HTML的body标签(文本标签)代码示例:HTML的body标签(列表标签)代码示例:HTML的图片标签代码示例:HTML的超链接标签代码示例:HTML的表格标签代码示例:HTML的内嵌标签代码示例:HTML的框架标签代码实现:HTML的form标签代码示例:HTMLHTML的...

2020-02-19 13:12:24 354

原创 Log4j学习

Log4j学习Log4j的作用和级别log4j的作用Log4j的级别配置文件解释Log4j自定义输出格式Log4j的使用流程Log4j的作用和级别log4j的作用 什么是日志: 日志是系统运行过程中后台输出信息,方便程序员进行系统运行的管控以及Bug的查找 什么是Log4j? Log4j是一个日志输出的插件,专门用来进行日志管理的。 传统方式获取日志: 使用Sys...

2020-02-17 13:38:49 161

原创 反射学习

反射学习反射的概念和特点反射获取类对象的三种方式反射操作属性反射操作方法反射操作构造器反射案例反射的概念和特点反射的概念和特点: java的三大特性:封装、继承、多态 java的核心思想:面对对象--->万事万物皆对象------------------------------------------------------ java的类:具备相同特征的对象的模板 类Perso...

2020-02-16 21:03:54 150

原创 MySQL数据库

MySQL数据库MySQLmysql数据库介绍和安装MySQL数据库mysql的卸载:mysql的测试安装mysql创建连接mysql的使用mysql管理数据库mysql操作表mysql操作表的数据mysql的分页mysql的数据库备份MySQLmysql数据库介绍和安装MySQL数据库特点:开放源码的,轻量型的数据库管理系统。使用简单快捷navicat:mysql的图形化操作软件my...

2020-02-11 11:08:06 569

原创 正则表达式

正则表达式正则表达式开发中使用正则表达式的流程正则表达式的基本语法标准字符集合自定义字符集合量词(Quantifier)字符边界匹配模式选择符合分组预搜索(零宽断言)Java中使用正则表达式测试正则表达式的基本用法测试正则表达式对象分组的处理测试正则表达式对象替换操作测试正则表达式对象的分割字符串操作网络爬虫取链接正则表达式正则表达式定义: -描述了一个规则,通过这个规则可以匹配一类字符串...

2019-11-30 17:54:15 130

原创 备忘录模式

备忘录模式场景备忘录模式核心观察者模式结构备忘录模式实现备忘点较多时开发中常见的场景场景录入大批人员资料。正在录入当前人资料时,发现上一个人录错了,此时需要恢复上一个人的资料,再进行修改。Word文档编辑时,忽然电脑死机或断电,再打开时,可以看到word提示你恢复到以前的文档管理系统中,公文撤回功能。公文发送出去后,想撤回来。备忘录模式核心就是保存某个对象内部状态的拷贝,这样以后...

2019-11-26 18:24:02 121

原创 观察者模式

观察者模式观察者模式核心观察者模式实现使用Javase实现观察者模式观察者模式常见场景观察者模式核心观察者模式主要用于1:N的通知。当一个对象(目标对象Subject或Observable)的状态变化时,他需要及时告知一系列对象(观察者对象,Observer),令他们做出响应。通知观察者的方式:-推:每次都会把通知以广播方式发送给所有观察者,所有观察者只能被动接收-拉:观察者只要知道有...

2019-11-26 17:53:09 122

原创 状态模式

状态模式状态模式核心状态模式结构情景状态模式实现开发中常见的场景状态模式核心用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题状态模式结构Context环境类环境类中维护一个State对象,它是定义了当前的状态State抽象状态类ConcerteState具体状态类每一个类封装了一个状态对应的行为情景酒店系统中,房间的状态变化:• 已预订• 已入住• 空...

2019-11-24 17:09:28 102

原创 模板方法模式

模板方法模式模板方法模式介绍模板方法模式核心场景模板方法模式实现方法回调(钩子方法)什么时候用到模板方法模式开发中常见的场景模板方法模式介绍模板方法模式是编程中经常用得到的模式。它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。模板方法模式核心处理某个流程的代码已经都具备,但是其中某个节点的代码暂时不...

2019-11-24 16:20:27 101

原创 策略模式

策略模式策略模式定义策略模式本质场景if_else实现策略模式实现开发中常见的场景策略模式定义策略模式对应于解决某一个问题的一个算法族,允许用户从该算法族中任选 一个算法解决某一问题,同时可以方便的更换算法或者增加新的算法。并且 由客户端决定调用哪个算法策略模式本质本质:分离算法,选择实现场景某个市场人员接到单后的报价策略(CRM系统中常见问题)。报价策略很复杂,可以简单作如下分...

2019-11-23 12:50:34 219

原创 解释器模式/访问者模式

解释器模式/访问者模式解释器模式介绍开发中常见的场景访问者模式定义模式动机开发中的应用场景解释器模式介绍是一种不常用的设计模式用于描述如何构成一个简单的语言解释器,主要用于使用面向对象语言开发的编译器和解释器设计、当我们需要开发一种新的语言时,可以考虑使用解释器模式尽量不要使用解释器模式,后期维护会有很大的麻烦,在项目中,可以使用Jruby、Groovy、java的js引擎来代替解释器...

2019-11-23 12:28:31 174

原创 命令模式

命令模式命令模式介绍命令模式结构命令模式实现开发中常件的场景命令模式介绍将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作,也称之为:动作Action模式、事务transaction模式。命令模式结构Command抽象命令类ConcreteCommand具体命令类Invoker调用者/请求者请求的发送者,它通过命...

2019-11-23 12:14:52 223

原创 中介者模式

中介者模式中介者模式核心中介者模式本质中介者模式实现中介者模式核心如果一个系统中对象之间的联系呈现为网状结构,对象之间存在大量多对多 关系,将导致关系及其复杂,这些对象称为"同事对象"。我们可以引入一个中介者对象,使各个同事对象只跟中介者对象打交道,将复杂的网络结构化为如下的星形结构。中介者模式本质解耦多个同事对象之间的交互关系,每个对象都持有中介者对象的引用,只跟中介者对象打交...

2019-11-22 14:04:20 102

原创 迭代器模式

迭代器模式场景迭代器模式结构迭代器模式实现开发中常见的场景场景提供一种可以遍历聚合对象的方式。又称为:游标cursor模式聚合对象:存储数据迭代器:遍历数据迭代器模式结构聚合对象:存储数据迭代器:遍历数据迭代器模式实现自定义的迭代器接口:/** * 自定义的迭代器接口 * @author * */public interface MyIterator {...

2019-11-22 13:06:57 111

原创 责任链模式

责任链模式责任链模式定义场景责任链模式实现添加新的处理对象责任链模式开发中常见的场景责任链模式定义将能够处理同一类请求的对象连成一条线,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,如果不能则传递给链上的下一个对象场景- 公司里面,请假条的审批过程: • 如果请假天数小于3天,主任审批 • 如果请假天数大于等于3天,小于10天,经理审批 • 如果大...

2019-11-21 17:00:17 149

原创 享元模式

享元模式场景享元模式核心享元模式实现享元模式优点享元模式缺点场景-内存属于稀缺资源,不要随便浪费。如果有很多个完全相同或相似的对象, 我们可以通过享元模式,节省内存。享元模式核心-享元模式以共享的方式高效地支持大量细粒度对象的重用-享元对象能做到共享的关键是区分了内部状态和外部状态。内部状态:可以共享,不会随环境变化而改变外部状态:不可以共享,会随环境变化而改变享元模式实现-...

2019-11-20 17:40:49 101

原创 外观模式

外观模式外观模式核心外观模式实现注册公司流程不使用外观模式实现:注册公司流程使用外观模式:外观模式核心为子系统提供统一的入口,封装子系统的复杂性,便于客户端调用外观模式遵循迪米特法则(最少知识原则):一个软件实体应当尽可能少的与其他实体发生作用关系外观模式实现注册公司流程不使用外观模式实现:注册公司流程使用外观模式:代码实现:工商局:public interfac...

2019-11-19 13:38:52 89

原创 装饰模式

装饰器模式装饰器模式的职责装饰器模式实现细节装饰器模式实现装饰器模式总结装饰模式和桥接模式的区别装饰器模式的职责-动态的为一个对象增加新的功能-装饰模式是一种用于代替继承的技术,无需通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀、装饰器模式实现细节-Component抽象构件角色: 真实对象和装饰对象有相同的接口。这样,客户端...

2019-11-18 16:45:39 104

原创 组合模式

桥接模式使用组合模式的场景组合模式核心组合模式工作流程分析组合模式基本结构组合模式实现使用组合模式的场景-把部分和整体的关系用树形结构来标识,从而使客户端可以使用统一的方式 处理部分对象和整体对象组合模式核心-抽象组件(Compinent)角色:定义了叶子和容器构建的共同点-叶子(Leaf)构建角色:无子节点-容器(Composite)构建角色:有容器特征,可以包含子节点组合模式工作...

2019-11-18 16:08:42 77

原创 桥接模式

桥接模式桥接模式要点场景以多层继承结构实现多层继承结构存在的问题桥接模式实现桥接模式总结桥接模式要点处理多层继承结构,处理多维度变化的场景,将各个维度设计成独立的继承结构,使各个维度可以独立的扩展在抽象层建立关联、场景-商城系统中常见的商品分类,一电脑为例,如何处理好商品分类销售的问题以多层继承结构实现多层继承结构图:多层继承结构实现代码:/** * 问题: * -扩展性...

2019-11-17 14:07:56 70

原创 代理模式

代理模式核心作用AOP(面向切面编程)代理模式核心角色应用场景分类静态代理(静态定义代理类)动态代理(动态生成代理类)核心作用-通过代理,控制对对象的访问可以详细控制访问某个(某类)对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理。(即:AOP的微观实现!)AOP(面向切面编程)-它是可以通过预编译方式和运行期动态带来实现在不修改源代码的情况下给程序动态统一添加功能的一种...

2019-11-16 17:20:51 85

原创 适配器模式

适配器模式什么是适配器模式适配器模式中的角色适配器模式实现什么是适配器模式-将一个类的接口转换成客户希望的另一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的哪些类可以在一起工作。适配器模式中的角色-目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口、-需要适配的类(Adaptee):需要适配的的类或适配者类。-适配器(Adapter)...

2019-11-15 20:06:00 67

原创 原型模式

原型模式原型模式(克隆模式/拷贝模式)原型模式实现原型模式(浅克隆)浅克隆模式存在的问题原型模式(深克隆)原型模式(深克隆实现方式一)原型模式(深克隆实现方式二)new方式创建对象与clone方式创建对象比较原型模式(克隆模式/拷贝模式)-通过new产生一个独享需要非常繁琐的数据准备或访问权限,则可以使用原型模式。-就是java中的克隆技术,以某个对象为原型,复制出新的对象。显然,新的对象具...

2019-11-14 14:40:44 225

原创 建造者模式

建造者模式建造者模式的本质建造者模式实现建造者模式的本质-分离了对象子组件的单独构造(由Builder来负责)和装配(由Director负责)。从而可以构造出复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况下使用。-由于实现了构建和装配的解耦。不同的构建器,相同的装配,也可以做出不同的对象;相同的构建器,不同的装配顺序也可以做出不同的对象。也就是实现了构建算法、装配算法 的解耦,实现...

2019-11-13 17:19:13 80

原创 工厂模式

简单工厂模式工厂模式工厂模式核心本质简单工厂模式合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入工厂模式-实现了创建者和调用者...

2019-11-12 15:52:26 144

原创 单例模式

单例模式实现方式饿汉式懒汉式双层检测锁式静态内部类式枚举单例如何选用存在问题通过反射的方式直接调用私有构造器通过反序列化的方式构造多个对象测试懒汉单例模式防止反射和反序列化漏洞测试多线程环境下五种创建单例模式方法的效率实现方式饿汉式饿汉式(线程安全,调用效率高。 但是不能延迟加载)package Singleton;/** * 测试饿汉式单例模式 * @author * */...

2019-11-10 15:28:29 85

原创 java动态编译出现空指针

解决方案:找到jdk/lib/tools.tar 将他复制到 jre/lib中即可解决若再出现 错误:需要class, interface或enum } 的问题 则是编码问题 编译器与java文件编码改为一致即可解决...

2019-11-02 16:36:18 263

原创 安装java13没有jre完美解决

首先从官网下载好jdk安装好 并配置好环境变量之后-----使用管理员模式打开cmd(一定要是管理员模式 否则权限不够 会失败)-----键入 cd C:\Program Files\Java\jdk-13.0.1 (根据自己安装路径来)-----输入命令bin\jlink.exe --module-path jmods --add-modules java.desktop --output...

2019-10-30 19:24:26 2317

原创 多线程 CAS

package others;import java.util.concurrent.atomic.AtomicInteger;/** * CAS:比较并交换 * CAS是一组原子操作不会被外部打断 * @author * */public class CAS { //库存 private static AtomicInteger stock = new AtomicI...

2019-10-08 15:36:08 117

原创 多线程 可重入锁

package others;import java.util.concurrent.locks.ReentrantLock;/** * 可重入锁:锁可以延续使用+计数器 * @author * */public class TestLock04 { ReentrantLock lock = new ReentrantLock(); public void a() th...

2019-10-08 15:07:17 100

原创 多线程 ThreadLocal(4)

package others;/** * InheritableThreadLocal:继承上下文 环境的数据,拷贝一份给子线程 起点 * * @author * */public class TestThreadLocal04 { private static InheritableThreadLocal<Integer> threadLocal = new I...

2019-10-08 09:57:51 80

原创 多线程 ThreadLocal(3)

package others;/** * ThreadLocal:分析上下文 环境 起点 * 1、构造器: 那里调用就属于哪里 找线程体 * 2、run方法:本线程自身的 * @author * */public class TestThreadLocal03 { private static ThreadLocal<Integer> threadLocal...

2019-10-08 09:56:43 67

原创 多线程 ThreadLocal(2)

package others;/** * ThreadLocal:每个线程自身的数据,更改不会影响其他线程 * * @author * */public class TestThreadLocal02 { private static ThreadLocal<Integer> threadLocal = ThreadLocal.withInitial(()-&g...

2019-10-08 09:55:23 75

原创 多线程 ThreadLocal(1)

package others;/** * ThreadLocal:每个线程自身的存储本地、局部区域 * get/set/initialValue 获取/设置/初始化 * * @author * */public class TestThreadLocal01 {// private static ThreadLocal<Integer> threadLocal ...

2019-10-08 09:52:14 81

原创 多线程 DCL单例模式

package others;/** * DCL单例模式:懒汉式套路基础上加入并发控制,保证在多线程环境下,对外存在一个对象 * 1、构造器私有化-->避免外部new构造器 * 2、提供私有的静态属性-->存储对象的地址 * 3、提供公共的静态方法-->获取属性 * * @author * */public class DoubleCheckedLock...

2019-10-07 14:58:36 257

分页所需jar包和配置文件

分页所需jar包和配置文件方法 分页所需jar包和配置文件方法 分页所需jar包和配置文件方法分页所需jar包和配置文件方法 分页所需jar包和配置文件方法 分页所需jar包和配置文件方法分页所需jar包和配置文件方法 分页所需jar包和配置文件方法 分页所需jar包和配置文件方法

2020-04-07

jdk-9_doc-api-spec-google.zip

api文档 谷歌翻译版 api文档 谷歌翻译版

2019-09-02

java api 中文帮助文档.zip

java api 中文帮助文档.zip

2019-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除