Java
Java系列
Jaksioncc
Code Code Code
展开
-
利用Currenthashmap+FutureTask+分布式锁,解决分布式场景下的线程安全问题
举一个例子某甲方公司要进行招标,来竞标的有A,B,C,D四家公司,每个公司都来了4个人。现有要求在进行产品演示的过程中,每家公司只能出一人与甲方爸爸进行产品演示。问题对于甲方爸爸来说,现在要采取一个方案,保证进入会议室的乙方人员只能是一人正常方案我们一般情况下的方案是,就设置一个门,乙方公司的人都在门外,每次只允许一个人进去。这样做虽然满足要求,但是效率不高,还容易出错。优化方案现在我们设置两道门,第一道门能够保证乙方每个公司都只能进去一个人,那么在第二道门前就只有4个人了,这样效率提高很多,原创 2022-06-30 18:31:46 · 726 阅读 · 0 评论 -
Thumbnails压缩图片
应用场景在和腾讯广点通交互生成视频的智能封面时,由于返回的智能封面图片的大小太大超出了限制,因此需要把图片压缩大小后再上传至腾讯关于图片压缩的解决方案在这里我主要使用的是Thumbnails来进行图片的压缩,下面会简单介绍一下工具类的使用。依赖<dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId>原创 2021-07-14 15:48:52 · 2829 阅读 · 1 评论 -
Java编程思想:动态代理的实现
简介代理是基本的设计模式之一,它是你为了提供额外的或不同的操作,而插入的用来代替“实际对象”的对象,这些操作通常涉及与“实际对象”的通信,因此代理通常充当中间人的角色,我们首先展示简单的静态代理从而引出动态代理。静态代理/** * 简单静态代理 */interface Interface{ void doSomething(); void somethingElse(String arg);}class RealObject implements Interface{原创 2020-10-11 20:10:55 · 180 阅读 · 0 评论 -
Java编程思想:关于Java中 ? extends T 和 ? super T 的理解
?通配符类型<? extends T> 表示类型的上界,表示参数化类型的可能是T 或是 T的子类;(上界通配符)<? super T> 表示类型下界,表示参数化类型是此类型的超类型(父类型),直至Object;(下界通配符)上界通配符<? extends T>不能往里存,只能往外取public class test { public static void main(String[] args) { List<Class&原创 2020-10-11 09:02:08 · 456 阅读 · 0 评论 -
Hystrix的快速入门
Spring Cloud调用接口过程Spring Cloud 在接口调用上,大致会经过如下几个组件配合:Feign ----->Hystrix —>Ribbon —>Http Client(apache http components 或者 Okhttp) 具体交互流程上,如下图所示:接口化请求调用当调用被@FeignClient注解修饰的接口时,在框架内部,将请求转换成Feign的请求实例feign.Request,交由Feign框架处理。Feign :转化请求Feign是一原创 2020-07-22 21:41:08 · 434 阅读 · 0 评论 -
Java实现阿里云视频点播的功能
获取视频的播放地址1.在阿里云中开通视频点播功能,上传一个测试视频视频基本信息:(视频ID)2.创建一个maven项目,引入依赖<dependencies> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> </d原创 2020-07-19 11:37:43 · 3130 阅读 · 1 评论 -
使用EasyExcel添加多级分类功能
绪论当面对很多数据要处理,并且需要导入导出Excel表格时。在使用POI时发现非常耗内存,这时GitHub上的阿里开源项目Easy Excel可以解决此类问题,它是基于java的读写Excel,十分省内存。本篇博文主要是总结其简单使用以及关于添加分类功能的实现。快速入门创建项目导入依赖(此依赖依靠PIO模块,项目还需要导入PIO模块)<dependency> <groupId>com.alibaba</groupId> <ar原创 2020-06-29 17:55:31 · 3952 阅读 · 1 评论 -
服务端(后端)OSS的使用(图片丶视频等资源的存储)
准备首先去阿里云官网,注册账号,实名认证,充一点钱,开通OSS服务,到下面的页面:控制台的使用创建Bucket,填完信息,点击确认。进入创建的Bucket页面上传文件访问(根据URL可以访问下载)Java代码中实现(因为在实际工作中,不会有操作控制台的权限)准备工作:创建阿里云oss的许可证(阿里云颁发的id和密钥)创建一个maven项目service_oss引入依赖<dependencies> <!-- 阿里云os原创 2020-06-28 19:24:05 · 3717 阅读 · 2 评论 -
JDK中常见的设计模式
JDK中常见的设计模式单例模式(Singleton pattern)用于 Runtime,Calendar 和其他的一些类中。工厂模式(Factory pattern)被用于各种不可变的类如 Boolean,像 Boolean.valueOf。观察者模式(Observer pattern)被用于 Swing 和很多的事件监听中。装饰器设计模式(Decoratordesign pattern)被用于多个 Java IO 类中。#单例模式单例模式重点在于在整个系统上共享一些创建时较耗资源的对象。整个原创 2020-06-04 22:37:34 · 1517 阅读 · 1 评论