自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NIO基础——文件编程

上一次聊了NIO基础中的三大组建和BetyBuffer的东西。这次就聊文件编程 FileChannel一、FileChannel工作模式FileChannel只能工作在阻塞模式下,因此它并不能配合Selector(选择器)来使用。获取不能直接打开FileChannel,必须通过FileInputStream、FileOutputStream或者RandomAccessFile来获取FileChannel实例,它们都有getChannel()方法。通过FileInputStream创建的.

2021-12-25 20:20:11 421

原创 NIO基础——三大组件

一、三大核心NIO的三个最重要的核心分别为:Channel,Buffer和Selector。1.Channel(通道)Channel就像是通道,是一个关于程序与操作系统底层I/O服务交互的通道。比如:我们的程序对系统中某一个文件进行连接,以便于我们对它进行后续的操作。常见的Channel有以下四种:FileChannelDatagramChannelSocketChannelServerSocketChannelFileChannel主要用于文件传输,其他三种用于网络通信。2.B

2021-12-24 21:30:17 926

原创 ORA-01882: timezone region not found

记一次Oracle的报错,报错信息:java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1ORA-01882: timezone region not found当时我是把项目打包成了一个镜像部署的,然后在测试时出现了该报错。直接百度,返现问题是Oracle的时区问题。然后我容器停了,直接在服务器本机上运行,就没有报错了。众所周知,Docker的容器其实就是一个微型的Linux,所以问题应该出在Docke

2021-10-14 10:17:23 3407

原创 用Java写个聊天室——WebSocket的小试牛刀

介绍一下主人翁吧WebSocket协议是基于TCP的一种新的协议。WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符。它实现了浏览器与服务器全双工(full-duplex)通信。其本质是保持TCP连接,在浏览器和服务端通过Socket进行通信。为什么需要WebSocket正所谓技术服务于业务,如果技术不能解决业务上的痛点,那它存在的意义在哪?咱先分析几个业务场景:1. 订单支付2. 系统通知3. 即时通讯在很多电商项目中,当我们利用支付宝或者微信扫

2021-09-10 15:02:26 635

原创 SpringBoot实现动态增改启停定时任务

有时系统中需要定时任务做别的事情,但是简单的定时任务是无法人为去控制的。在SpringBoot中可以通过@EnableScheduling注解和@Scheduled注解实现定时任务,也可以通过SchedulingConfigurer接口来实现定时任务。但是这两种方式不能动态添加、删除、启动、停止任务。要实现上面的需求,一般来说可以使用框架——Quartz框架。下面要说的就是不去依赖别的定时任务框架实现需求。本篇博客所分享知识非本人原创,参考某一日在微信看到的一篇公众号发的文章,目前找不到了。添

2021-07-27 14:21:54 391

原创 Java基础篇——缓存池

在说缓存池之前先聊一个内容,就是关于“==”先看一段代码 Integer int_01 = 123; Integer int_02 = 123; System.out.println(int_01 == int_02); //true Integer int_03 = new Integer(123); Integer int_04 = new Integer(123); System.out.println(int_0

2021-07-08 14:59:12 1913

原创 阿里云OSS多文件下载并压缩到一个包里,以流的形式传给前端

先描述一下业务场景,公司的电子回单是以pdf的形式一个个存储在阿里云OSS里的。财务的需求就是需要根据月份范围拿到对应的那批回单。OK,接下就是说说我的实现思路,就是前端提供时间选择器,然后后端根据获取到的时间范围,去数据库里拿到KEY(其实就是oss里存储的文件名字),然后下载下来,并压缩到一个包里再传给前端。任务明确了,思路也有了,那就开始干了!(说明,文章里没有按照真实业务场景来,只是提供方案和代码……)后端代码:public class OSSUtil { //阿里云API的外网域

2021-05-13 13:49:06 2842 3

原创 关于实现订单超时的几种方案

先描述一下业务场景,用户下单后在规定时间内没有完成支付,那么系统需要把订单终结掉。但是这个规定时间可能不是定死的,它可能是3小时,2小时,30分钟等等个人的实现思路一、轮询数据库这种方式就是在保存订单的时候把订单的超时时间也一起保存进去,然后用定时任务去轮询数据库获取未支付的订单,再去判断是否超时了。但是!这种方法太捞了呀,而且也不具备实时性,比如我有个订单号为:123的订单是在10:00:00这个时间超时,但是我的定时任务是每5分钟执行一次,它又恰好是在09:58:00执行了一次任务,那么它这个

2021-04-08 10:15:24 7062 11

原创 @Autowired与@Resource的区别

有一说一,刚接触Spring的时候这两个注解确实分不清,感觉都能用。下面就谈谈我个人对这个两个注解的认识相同点@Autowired与@Resource都是做bean的注入时使用,并且Spring都时支持的。不同点一、来源不同@Autowiredimport org.springframework.beans.factory.annotation.Autowired;@Resourceimport javax.annotation.Resource;我们可以看到这两个注解压根就不是一个地

2021-03-25 14:53:43 132

原创 SpringBoot+Mybatis操作多数据源(Mysql和Oracle)

之前是没有用过的,然后因为工作就必须用到操作多数据源,也是面向百度编程了,也碰到了很多问题,然后就寻思着记录一下把。首先看一下包结构吧pom文件我就不给了,我觉得都能了解多数据源操作的人不会连pom文件都不知道咋写把。包结构中最重要的就是在dao层下再做细分,把你要操作的数据库对应的dao接口分开,我这里因为我操作的mysql和oracle所以就这么命名了,YeepayDao操作的是mysql里的一个库,PayUserDao操作的是Oracle里的某一个库。config里就是做数据源的配置了,其

2020-09-09 21:35:44 475 1

空空如也

空空如也

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

TA关注的人

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