自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 GraphicsMagick实现云服务商基础图片处理

背景: 搭建图片处理服务的主要目的是为自研云存储提供图片处理能力,参考目前使用的云服务商阿里云、七牛云,搭建图片在线处理服务。本文手把手教会你使用GraphicsMagick工具实现云服务商提供的基础图片处理功能需求。⚠️ 注意事项如果之前本地还没有安装GraphicsMagick的话,建议现在立刻马上安装一下,然后跟着本文一起玩转图片处理功能!图片处理专栏1、手把手教你本地安装GraphicsMagick 2、Springboot集成GraphicsMagick常用功能&命令整.

2021-06-01 22:30:01 326 2

原创 Springboot集成GraphicsMagick

上一节我们已经本地安装了GM这个工具:手把手教你本地安装GraphicsMagick,本章看看如何将这个工具集成到项目中进行开发。以什么方式集成?JNI / 命令行(im4java)在im4java官网中提到:翻译过来就是: 从Java内部使用JNI运行本机代码始终会带来其他风险,对于长时间运行的进程(通常是Web应用程序服务器)尤其危险。内存损坏或分段错误(可能由故意操纵的图像触发)可能会使整个服务器瘫痪。所以我们选择使用命令行的方式进行调用。项目集成1、将gm命令行工具引入到项目中.

2021-05-23 03:16:16 414

原创 手把手教你本地安装GraphicsMagick

最近在做图片处理服务,最终选型使用GraphicsMagick进行图片处理官方安装步骤: http://www.graphicsmagick.org/INSTALL-unix.html前置步骤:安装 GM 之前,需要先安装 libjpeg 和 libpng 这两个库,否则命令无法处理 jpg 和 png 的文件,会出现如下报错:No decode delegate for this image format (XXX).Linux直接执行命令: yum install -y libpng-d.

2021-05-20 23:36:30 2910 5

原创 搞懂Java集合框架之TreeMap

搞懂Java集合框架之TreeMap简述红黑树源码分析1、TreeMap的基本框架2、get方法3、put方法4、remove方法小结简述​  在Map集合框架中,除了HashMap以外,我们比较常用的还有TreeMap。HashMap是无序的,而TreeMap底层由红黑树实现,可以根据对应的排序规则对key进行排序。TreeMap的继承关系图红黑树概述红黑树是一种自平衡的二叉查找树红黑树的每一个节点要么是红色,要么是黑色红黑树是一种弱平衡的二叉树,它的平衡是由“红黑树的特性”实

2020-06-12 00:58:00 191

原创 死磕JUC之AQS源码,一篇就够

AQS(抽象队列同步器)前言简单了解AQS的应用同步组件JUC中的锁AQS的结构Node节点AQS 队列结构图独占锁acquire(获取锁)1、tryAcquire(尝试获取锁)2、addWaiter(添加等待节点)3、acquireQueued(排队获取锁)获取独占锁的流程图总结release(释放锁)1、tryRelease(尝试释放锁)2、unparkSuccessor(唤醒后继节点)共享锁acquireShared(获取同步状态)1、tryAcquireShared(尝试获取锁)2、doAcquir

2020-06-08 00:40:05 252

原创 吐血整理:Redis的基本数据类型,你懂多少?

前言之前项目有使用过redis做缓存,对redis的五种基本类型只是一知半解,懂得如何去使用,但是没有深入探究。最近在读老钱的《redis深度历险:核心原理与应用实践》这本书,觉得书上对redis的探索还是比较深入的,同学们有兴趣可以去了解一下。话不多说,直接上干货。Redis的基本数据类型redis有5种基本的数据类型:string(字符串)list(有序列表)hash(字典)set(集合)zset(有序集合)1、string(字符串)数据结构:内部是一个字符数组,通

2020-06-05 21:40:21 161

原创 你该不会还不知道Java线程的几种状态吧?

Java线程分为几种状态,在网上一搜,答案不尽人意。很多文章还写着分为五种状态,其实线程分为几种状态,我们看看 jdk 源码便知。Java线程分为六种状态:NEW(新建):创建线程对象后尚未启动的线程,即未调用start方法;RUNNABLE(运行):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,调用了该对象的start()方法,该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,此时处于就绪状态(ready)。就绪状态

2020-06-05 13:59:40 116

原创 一文搞懂Java的回调机制

一文搞懂Java的回调机制什么是回调函数(Callback)Java里回调机制的实现同步调用异步回调异步回调的实现扩展不同系统之间进行回调什么是回调函数(Callback)回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。我们为什么需要回调机制呢?简单理解,就是 A类的 a() 方法调用

2020-06-03 16:22:23 341

原创 SpringMVC controller 接收对象类型的参数,正确打开方式

在我们工作中,有时候接口要接收很多参数,然后转化为对象,能不能直接在controller方法中直接接收对象参数呢?答案是可以的,只要前端传过来的参数名跟对象的属性一一对应的json格式就可以,同时必须引入json解析的依赖。首先,我们在项目中引入json解析的依赖:<dependency> <groupId>com.fasterxml.jackso...

2019-12-07 15:45:17 5323

原创 centos系统搭建Javaweb服务器环境

安装前准备:①下载:xampp-linux-x64-7.3.2-1-installer.run 下载链接:https://www.apachefriends.org/download.html②下载:apache-tomcat-8.5.38.tar.gz 下载链接:https://tomcat.apache.org/download-80.cgi③下载:jdk-8...

2019-04-21 13:27:11 163

原创 Jeesite4.x学习笔记(一):环境搭建中遇到的问题及解决办法

jeesite官方文档:https://jeesite.gitee.io/docs/install-deploy/注:在进行学习之前,要先进行环境搭建,本文重点对遇到的问题进行详细描述,对于简单的步骤,参照官方文档进行简单描述。接下来,跟着官方文档步骤进行操作:(我采用的开发软件是idea)①环境要求:1、Java SDK 1.8下载2、Eclipse IDE for ...

2019-03-30 23:47:53 2592

原创 idea编译项目时报错:java:-source 1.5 中不支持 diamond 运算符

问题引出:在idea里面导入了一个maven项目,编译项目 build->build project 时,报错:java:-source 1.5 中不支持 diamond 运算符。解决办法: 在pom.xml中引入:<plugin> <groupId>org.apache.maven.plugins</groupId> &lt...

2019-03-30 14:43:00 1782

原创 Mybatis接收Integer参数的问题

最近在做项目的时候,在mybatis中用标签判断分页参数时,出现了问题。<if test="startRow != null and startRow != '' and selectRow != null and selectRow != ''"> LIMIT #{startRow},#{selectRow}</if>这段代码是为了在SQL中设置分页参数,接...

2019-03-30 13:27:37 1900

空空如也

空空如也

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

TA关注的人

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