自定义博客皮肤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 522

原创 NIO基础——三大组件

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

2021-12-24 21:30:17 1111

原创 ORA-01882: timezone region not found

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

2021-10-14 10:17:23 3876

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

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

2021-09-10 15:02:26 776

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

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

2021-07-27 14:21:54 487

原创 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 2177

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

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

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

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

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

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

原创 @Autowired与@Resource的区别

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

2021-03-25 14:53:43 211

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

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

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

空空如也

空空如也

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

TA关注的人

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