![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
Jzen_
这个作者很懒,什么都没留下…
展开
-
工厂方法模式
一、介绍工厂方法模式(Fatory Method Pattern)是指定义一个创建对象的接口,但让实现这个 接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行。属于创建型模式,23中设计模式之一,在工厂方法 模式中用户只需要关心所需产品对应的工厂,无须关心创建细节,而且加入新的产品符 合开闭原则。工厂方法模式其实就是简单工厂模式的一个拓展,只是将工厂接口化,具体的实现让实现类决定。二、代码实现(示例)1、示例背景:一个时间管理者拥有多个女朋友,那么他要记住每个女朋友的名字,每天晚上根据原创 2020-07-10 16:46:02 · 206 阅读 · 0 评论 -
简单工厂模式
一、介绍简单工厂模式(Simple Factory Pattern)是指由一个工厂对象决定创建出哪一种产品类 的实例。属于创建型模式,但它不属于 GOF,23 种设计模式。二、适用场景1、适用 于工厂类负责创建的对象较少的场景,2、且客户端只需要传入工厂类的参数,对于如何创 建对象的逻辑不需要关心。三、作用根据不同的情景(参数)创建不同的对象。四、缺点1、工厂类的职业相对过重,增加新的产品时需要修改工厂类的判断逻辑,违背开闭原则。2、不易于扩展过于复杂的产品结构。五、代码实现(示例)1原创 2020-07-10 16:45:25 · 275 阅读 · 0 评论 -
根据图片流生成缩略图
package com.goldgrid.utils;import java.awt.image.BufferedImage;import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import jav...原创 2018-09-28 15:28:14 · 857 阅读 · 0 评论 -
批量上传图片到图片服务器
批量上传图片到图片服务器package com.goldgrid.util.batchpic;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.sql.SQLException;import java.text.ParseException;impo...原创 2018-09-19 16:13:46 · 1225 阅读 · 0 评论 -
测试http接口的类的实现
package com.goldgrid.utils;import java.io.BufferedReader;import java.io.ByteArrayOutputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileReader;import java.io.IOExc...原创 2018-09-17 14:49:04 · 573 阅读 · 0 评论 -
java压缩图片的三种方法:按原比例压缩到指定大小以内;压缩到指定宽高;通过压缩基数和压缩比例按原比例压缩。
package com.goldgrid.util;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStrea...原创 2018-09-11 17:15:37 · 5075 阅读 · 0 评论 -
java按比例压缩图片到指定的大小(kb、mb)
网上有很多压缩图片的方法,但是要么就是不能压缩到指定的大小以内,要么就是要引用第三方的插件,都不太符合我的要求,所以就想着自己写一个方法来实现。这种方法有点不好就是如果图片特别大则要进行多次判断和读取,可能时间会有点长,这要看实际情况,用的时候要自己注意。 实现的思路:读取图片大小→判断是否符合要求大小→不符合就宽和高同时缩减10%→再进行判断以此循环。packa...原创 2018-09-11 16:54:31 · 9470 阅读 · 0 评论 -
图片转byte,String字符串转byte
/** * 图片转化成byte数组 * @param bImage * @param format * @return */ public byte[] imageToBytes(BufferedImage bImage, String format) { ByteArrayOutputStream out = new ...原创 2018-09-04 21:36:50 · 662 阅读 · 0 评论 -
读取本地路径文件或者图片,以及图片的压缩
BufferedImage bufferedImage=ImageIO.read(new File("d:\\a.jpg"));//或者,路径可以是d:\\a.jpg也可以写成d:/a.jpgImage image=ImageIO.read(new File("d:/a.jpg")); /** * 图片缩放. * * @param width ...原创 2018-09-04 21:33:01 · 1807 阅读 · 0 评论 -
二进制流转成图片
List<PictureInfo> pictureInfo=new ArrayList<PictureInfo>(); int picToPdf=0; try { PictureService pictureService=new PictureServiceImpl(); ...原创 2018-06-27 14:28:11 · 3586 阅读 · 0 评论 -
Java笔记之基础(一)
1、JavaSE 面向对象:API+JVM+......2、JavaEE JSP+EJB+服务+......3、JavaME 移动设备+移动通信+......4、JVM: 源文件→通过编译器→二进制字节码文件(.class文件)→通过解释器→执行代码,显示效果。5、JDK:java开发工具包6、JRE:java运行环境7、JDK包含JRE,JRE包含JVM。JDK>JRE>JVM。...原创 2018-05-23 23:58:17 · 178 阅读 · 0 评论 -
通过HTTP POST方式发送XML请求数据,相应的接口对XML请求做出处理后返回参数
公司要求写一个接口供客户调用,客户那边传过来XML的请求数据,接口用来处理数据并返回一些参数。主要通过HTTP POST方式发送XML请求数据,相应的接口对XML请求做出处理后返回参数。主要的流程和代码如下: 首先写一个接口,大致流程为:1、创建两个bean,传送的bean(SendXMLBean.java)返回bean (ReturnXMLBean.java)→2、创建...原创 2018-05-22 17:13:49 · 12755 阅读 · 5 评论 -
Debug模式下Source not found问题及解决
在Debug模式下运行项目,可能会遇到Source not found 问题,如下图:这是可能找不到src.zip包,具体解决如下:1.打开Eclipse,点击Windows。在Windows选项下,选择“perferences”。在“perferences”窗口下,选择java->Incelled jres 。2.点击“jre6”,点击右侧“ Edit”。3.在edit jre对话框中,...原创 2018-05-14 13:50:02 · 17674 阅读 · 10 评论 -
basepath位置及使用
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" isELIgnored="false"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&原创 2018-05-11 15:47:05 · 1536 阅读 · 0 评论 -
使用map实现本地缓存
一、创建定时器线程池static class FactoryClass implements ThreadFactory{ @Override public Thread newThread(Runnable r) { Thread t = new Thread(r, "SegmentScheduledExecutorThread"); t.setDaemon(true); return t; } }pr原创 2020-07-08 18:02:12 · 2218 阅读 · 0 评论 -
静态代理模式
1、以一个生活中的例子来解释静态代理模式:到了一定的年龄,我们就要结婚,结婚是一件很麻烦的事情,(包括那些被父母催婚的)。有钱的家庭可能会找司仪来主持婚礼,显得热闹,洋气~好了,现在婚庆公司的生意来了,我们只需要给钱,婚庆公司就会帮我们安排一整套结婚的流程。整个流程大概是这样的:家里人催婚->男女双方家庭商定结婚的黄道即日->找一家靠谱的婚庆公司->在约定的时间举行结婚仪式->结婚完毕。婚庆公司打算怎么安排婚礼的节目,在婚礼完毕以后婚庆公司会做什么,我们一概不知,我们只要把钱给人家,原创 2020-07-09 20:21:30 · 128 阅读 · 0 评论 -
动态代理模式
一、动态代理的好处动态代理:其实动态代理与静态代理的本质一样,最终程序运行时都需要生成一个代理对象实例,通过它来完成相关增强以及业务逻辑,只不过静态代理需要硬编码的方式指定,而动态代理则是以动态方式生成代理(有编译时操作字节码生成的方式、以及运行时通过反射、字节码生成的方式)。动态生成的好处很明显,代理逻辑与业务逻辑是互相独立的,没有耦合,代理1个类100个类没有任何区别。二、动态代理例子(便于理解)到了饭点了,有两个用户都需要买菜,小姜要买青菜,小鑫要买萝卜,他们下单,骑手接收到订单之后去到超时给他原创 2020-07-09 20:15:51 · 141 阅读 · 0 评论 -
装饰者模式
1、装饰者模式的作用:对已有的业务逻辑进一步的封装,使其增加额外的功能,如Java中的IO流就使用了装饰者模式,用户在使用的时候,可以任意组装,达到自己想要的效果。举个栗子,我想吃三明治,首先我需要一根大大的香肠,我喜欢吃奶油,在香肠上面加一点奶油,再放一点蔬菜,最后再用两片面包夹一下,很丰盛的一顿午饭,营养又健康。(ps:不知道上海哪里有卖好吃的三明治的,求推荐~)那我们应该怎么来写代码呢? 首先,我们需要写一个Food类,让其他所有食物都来继承这个类。2、代码实现:public class Fo原创 2020-07-08 17:54:32 · 166 阅读 · 0 评论 -
适配器模式
1、适配器模式的作用:将两种完全不同的事物联系到一起,就像现实生活中的变压器。假设一个手机充电器需要的电压是20V,但是正常的电压是220V,这时候就需要一个变压器,将220V的电压转换成20V的电压,这样,变压器就将20V的电压和手机联系起来了。2、代码实现:public class Test { public static void main(String[] args) { Phone phone = new Phone(); VoltageAdapter ad原创 2020-07-08 17:53:42 · 126 阅读 · 0 评论 -
观察者模式
1、模式动机及定义:建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展,这就是观察者模式的模式动机。观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publis原创 2020-07-08 17:53:02 · 195 阅读 · 0 评论 -
单例模式
1、单例模式的介绍:单例模式(Singleton),也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。2、实现单例模式的思路是:一个类能返回对象一个引用(永远是同一个)和一个获得该实例的方法原创 2020-07-08 17:51:20 · 146 阅读 · 0 评论