- 博客(21)
- 资源 (5)
- 问答 (4)
- 收藏
- 关注
转载 压缩算法:字符串(JSON)压缩和解压【JDK之Deflater压缩与Inflater解压】
Deflater 是使用了LZ77算法与哈夫曼编码的一个无损数据压缩算法。Java 提供的 Deflater 和 Inflater 类对 json 进行压缩和解压缩,下面是工具类:package com.wjcloud.utils;import java.io.ByteArrayOutputStream;import java.util.Base64;import java.util.zip.DataFormatException;import java.util.zip.Deflater;
2021-04-20 10:13:36
6063
原创 建造者模式(Builder Pattern)
建造者模式核心组成Builder:抽象建造者,定义多个通用方法和构建方法 ConcreteBuilder:具体建造者,可以有多个 Director:指挥者,控制整个组合过程,将需求交给建造者,由建造者去创建对象 Product:产品角色优点客户端不必知道产品内部组成的细节,将产品本身与产品的创建过程解耦 每一个具体建造者都相对独立,而与其他的具体建造者无关,更加精细地控制产品的创建过程 增加新的具体建造者无须修改原有类库的代码,符合开闭原则 建造者模式结合链式编程来使用..
2020-11-27 01:53:33
295
原创 工厂模式之--抽象工厂模式
抽象工厂模式核心组成AbstractFactory:抽象工厂角色,它声明了一组用于创建一种产品的方法,每一个方法对应一种产品,如创建支付和创建退款。ConcreteFactory:具体工厂角色,它实现了在抽象工厂中定义的创建产品的方法,生成一组具体产品,这些产品构成了一个产品族,每一个产品都位于某个产品等级结构中。AbstractProduce:抽象产品角色,它为每种产品声明接口。ConcreteProduce:具体产品角色,它定义具体工厂生产的具体产品对象,实现抽象产品接口中声明的..
2020-11-27 00:07:12
363
原创 工厂模式之--工厂方法模式
工厂方法模式核心组成 IProduct:抽象产品类,描述所有实例所共有的公共接口 Product:具体产品类,实现抽象产品类的接口,工厂类创建对象,如果有多个需要定义多个 IFactory:抽象工厂类,描述具体工厂的公共接口 Factory:具体工场类,实现创建产品类对象,实现抽象工厂类的接口,如果有多个需要定义多个 优点: 符合开闭原则,增加一个产品类,只需要实现其他具体的产品类和具体的工厂类; 符合单一职责原则,每个工厂只负责生产对应的产.
2020-11-15 13:55:25
361
原创 工厂模式之--简单工厂模式
简单工厂模式核心组成Factory:工厂类,简单工厂模式的核心,它负责实现创建所有实例的内部逻辑 IProduct:抽象产品类,简单工厂模式所创建的所有对象的父类,描述所有实例所共有的公共接口 Product:具体产品类,是简单工厂模式的创建目标优点:将对象的创建和对象本身业务处理分离可以降低系统的耦合度,使得两者修改起来都相对容易。缺点工厂类的职责相对过重,增加新的产品需要修改工厂类的判断逻辑,这一点与开闭原则是相违背 即开闭原则(Open Close Principle)对扩展
2020-11-15 13:38:03
318
原创 Joda-Money与mybatis使用实现金额转换
Joda-Money介绍Joda-Money提供了一个存储金额的类库。 JDK提供标准货币类,但不是货币的标准表示。Joda-Money填补了这一空白,提供了代表金钱的价值类型。 Joda-Money需要Java SE 8或更高版本,并且没有依赖项。(ps: 对于金钱,通常最好的做法就是数据库设计成bigint类型,单位是分,入库扩大 100 倍 ,出库缩小 100 倍)在springboot中使用Joda-Money引入依赖<dependency> <.
2020-10-26 04:14:20
1865
1
转载 必问的Spring面试解析,面试时要注意的那些坑
Spring概述(10)什么是spring?Spring是一个轻量级Java开发框架,最早有Rod Johnson创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序的开发。Spring最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。Spring可以做很多事情,它为企业
2020-10-25 12:57:25
527
原创 springboot集成使用caffeine本地缓存
一、springboot集成caffeine方法一1、引入依赖<!-- 引入caffeine --><dependency> <groupId>com.github.ben-manes.caffeine</groupId> <artifactId>caffeine</artifactId> <version>2.6.2</version></dependency>
2020-10-21 02:03:26
1344
1
原创 搭建redis主从模式配置(一主一从)
一、安装rediscd /usr/local/wget http://download.redis.io/releases/redis-4.0.6.tar.gztar -zxvf redis-4.0.6.tar.gzcd redis-4.0.6make && make install二、打开编辑 redis.conf 配置文件cd /usr/local/redis-4.0.6vim redis.conf主节点的redis.conf# 修改为后台启动.
2020-10-13 02:58:17
8079
原创 Nginx静态资源压缩
nginx.conf配置#开启gzip,减少我们发送的数据量gzip on;#大于1k后开始压缩gzip_min_length 1k;#4个单位为16k的内存作为压缩结果流缓存gzip_buffers 4 16k;#gzip压缩比,可在1~9中设置,1压缩比最小,速度最快,9压缩比最大,速度最慢,消耗CPUgzip_comp_level 5;#压缩的类型gzip_types application/javascript text/plain text/css applic
2020-10-08 22:53:35
677
原创 微信小程序获取手机号工具类
public class WxUtil { /** * 微信小程序获取手机号 * @param encryptedData * @param sessionKey * @param iv * @return * @throws Exception */ public static JSONObject wxDecrypt (String encryptedData, String sessionKey, String .
2020-07-16 14:36:37
358
原创 maven私服-nexus
maven仓库的分类maven仓库主要分为两种:一种是本地仓库,另外一种是远程仓库,中央仓库和公司内部架构的私服以及其他的仓库都属于远程仓库,当maven开始执行时,项目会根据pom.xml中的坐标在本地仓库查找该构件,如果在本地仓库没有,就会在远程仓库查询,如果远程仓库查找不到,就会返回错误。本地仓库:maven开始执行 mvn:时,需要使用到项目所依赖的构件时,它首先根据pom,xml文件中的坐标在maven本地仓库中查找,默认情况下,本地仓库的路径在Users目录下的.m2/r..
2020-07-15 14:01:00
226
1
原创 聚合项目打包依赖报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compil
使用spring-boot-maven-plugin打包会生成 .jar 和.jar.original 种包<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId></plugin>.jar.original是普通jar包,不包含依赖.jar是可执行jar包,..
2020-07-15 13:50:39
737
原创 Java中运算符“|”和“||”以及“&”和“&&”区别
1.“|”运算符:不论运算符左侧为true还是false,右侧语句都会进行判断,下面代码 public class TestOperator { private static int j = 0; private static Boolean methodB(int k) { j += k; return true; ...
2018-10-10 15:19:41
821
原创 前后端分离,spring boot跨域问题
跨域:浏览器同源策略1995年,同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。最初,它的含义是指,A网页设置的 Cookie,B网页不能打开,除非这两个网页"同源"。所谓"同源"指的是"三个相同"协议相同/域名相同/端口相同一句话:浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域浏览器控制台跨域提示:No...
2018-09-23 23:15:56
468
Eclipse注释模板设置
设置注释模板的入口:Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素。文件(Files)注释标签:/** * @Title: ${file_name} * @Package ${package_name} * @Description: ${t...
2018-06-08 19:53:35
115
原创 eclipse利用maven搭建ssm框架
先在数据库中执行sql语句,SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for `user_t`-- ----------------------------DROP TABLE IF EXISTS `user_t`;CREATE TABLE `u...
2017-10-05 04:14:46
204
原创 在CentOS 7 下安装 mysql
卸载MariaDB如果直接点击rpm包安装会得到错误提示。因为CentOS的默认数据库已经不再是MySQL了,而是MariaDB,为什么呢?MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼...
2017-10-04 02:49:19
148
在CentOS 7 下安装redis详解
一、redis安装1、在centos下面安装gcc,我们使用yum(包管理器)安装,因为gcc依赖了很多东西,而有些包系统可能已经安装了,有些没有,所以下面的命令最后都执行一遍,在Xshell中执行下面的命令: 1)、 yum install cpp 2)、 yum install binutils 3 )、yum install glibc-kernhea...
2017-09-28 02:18:46
248
原创 (转)redis内存优化与存储手段
Redis 常用数据类型 Redis 最为常用的数据类型主要有以下五种:StringHashListSetSorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下 Redis 内部内存管理中是如何描述这些不同数据类型的: 首先 Redis 内部使用一个 redisObject ...
2017-09-27 09:10:29
170
原创 deepin 系统下安装jdk
最近对linux系统挺感兴趣的,加之对本人的电脑上的Windows系统卡的要死,就把系统换成deepin linux了,瞬间运行顺畅得像德芙巧克力一般,但是在安装Linux版的jdk上有一些小问题,现在把安装流畅记录下第一步:在官网上下在jdkhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21...
2017-08-07 00:18:35
1084
淘宝-接口测试白皮书
2019-04-30
dubbo.xsd 约束文件 解决标签识别报红
2018-05-31
给前端的接口,什么时候返回jsonObject,什么时候返回jsonArray
2017-06-15
ssm设计json格式接口问题
2017-05-18
Java中 System.out.println(count++)输出结果没有自加1
2015-12-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人