- 博客(12)
- 收藏
- 关注
原创 Netty中ByteBuf 和 java.nio.ByteBuffer的区别
ByteBuf 和 ByteBuffer的区别ByteBuf 和 ByteBuffer的区别ByteBuffer相关apiByteBufByteBuf 和 ByteBuffer的区别ByteBuffer对于ByteBuffer,其主要有五个属性:mark,position,limit,capacity和array。这五个属性的作用如下:mark:记录了当前所标记的索引下标;position:表示当前位置;limit:对于写入模式,表示当前可以写入的数组大小,默认为数组的最大长度,对于读取模式
2021-11-04 15:29:28 288
原创 ForkJoin
ForkJoinJava 7 开始引入了一种新的 Fork/Join 线程池,它可以执行一种特殊的任务:把一个大任务拆成多个小任务并行执行。即“分而治之”。ForkJoin 将相同的计算任务通过多线程的执行,提高计算速度。google 中的大数据处理框架MapReduce 就通过 ForkJoin 的思想,提高大数据的处理速度。如何使用使用 ForkJoin 框架,需要创建一个 ForkJoin 的任务。因为 ForkJoin 框架为我们提供了无返回值的 RecursiveAction 和有返回值的
2021-10-25 21:45:39 682
原创 Apache common-pool2 GenericObjectPool的使用
Apache common-pool2 GenericObjectPool的使用对象池是一种池化技术。设计模式中的享元模式就是说的一种池化的思想。项目中使用池化技术,可以大大减少因频繁申请内存和释放内存(malloc/free、new/delete)的开销,提高运行效率。例如,数据库连接池、线程池等,都是使用了池化的概念和技术。这里我们直接使用 Apche common-pool2 中的GenericObjectPool来快速实现一个对象池。使用实例使用GenericObjectPool只需要创建一
2021-10-03 17:03:35 890
原创 Springboot 项目中关于异常的设计
Springboot 项目中关于异常的设计ErrorCode错误码接口/** * @Description 异常码接口 * @Author yin.jinbiao * @Date 2021/10/1 20:24 * @Version 1.0 */public interface ErrorCode { int getCode(); String getMsg();}ErrorCodeEnum自定义错误码枚举(参考支付宝开发平台设计)/** * @Descr
2021-10-01 22:49:51 357
原创 Springboot 快速集成 MyBatis-Plus
Springboot 快速集成 MyBatis-Plus引入依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </
2021-09-30 11:18:24 56
原创 Springboot 项目启动时执行自定义方法
Springboot 启动时执行方法CommandLineRunnerSpring提供的这个接口表明,当它在一个Spring应用中时,应该被运行。一个Spring应用中可以定义多个CommandLineRunner,并且可以通过@Order来指明它们的执行顺序。ApplicationRunner与CommandLineRunner的作用是相同的。不同之处在于CommandLineRunner接口的run()方法接收String数组作为参数,即是最原始的参数,没有做任何处理;而ApplicationR
2021-09-26 15:26:08 405
原创 Springboot搭建源码阅读环境
Springboot搭建源码阅读环境下载源码下载源码,选择相应的版本,我这里下载的是2.2.9.RELEASE编译运行mvn clean install -DskipTests -Pfast编译源码。因为要下载很多依赖,所以可能耗时较长,建议maven配置阿里云镜像,下载更快一些。环境要求:jdk1.8+ 、Maven3.5+测试使用 IDEA 打开源码,并创建一个模块测试。注意 springboot parent的版本要与下载的一致。编写个controller测下通过即可。...
2021-09-23 17:02:58 118
原创 MongoDB入门
MongoDB应用场景社交场景。使用MongoDB存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人,地点等功能。游戏场景。使用MongoDB存储游戏用户信息,用户装备,积分等直接以内嵌文档的形式存储,方便查询,高效率存储和访问。物流场景。使用MongoDB存储订单信息,订单状态再运送过程中会不断更新,以MongoDB内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来。物联网场景。使用MongoDB存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维
2021-09-10 11:20:43 67
原创 双网卡的网络路由配置
双网卡的网络路由配置场景路由配置命令解决步骤场景有一种场景是需要服务器,既连接1网段,又连接到3网段。由于这两个网段是物理隔离的,所以需要服务器本身安装双网卡来完成这个操作。这时,从1网段的交换机和3网段的交换机分别接出来一根网线到两张网卡上,分别设置好默认ip。这样就完成了基本的设置。但是由于1网段没有连接外网,3网段连接外网,所以要实现,访问192.168.1.0的网络地址经由1网卡,其它的地址经由3网卡。路由配置命令四个命令的使用:print(打印)、add(添加)、delete(删除)、
2021-08-27 10:26:22 7237
原创 Ubuntu Docker 安装 FastDFS 及使用
Ubuntu Docker 安装 FastDFS 及使用文章目录Ubuntu Docker 安装 FastDFS 及使用安装安装创建安装目录mkdir /usr/local/docker/fastdfs/environmentcd /usr/local/docker/fastdfs/environment创建 DockerfileFROM ubuntu:xenialMAINTAINER [email protected]# 更新数据源WORKDIR /etc/aptR
2021-07-14 09:23:55 274
原创 Docker
Docker文章目录DockerDocker 基本概念Docker 镜像Docker 容器Docker 仓库公有 Docker Registry私有 Docker RegistryDocker 安装Ubuntu 安装 Docker关于版本使用脚本自动安装配置镜像加速器Docker 安装 redisDocker 安装 MySQL参考资料Docker 基本概念Docker 包含三个基本概念镜像 (Image)容器 (Container)仓库 (Repository) 理解了这三个概念,就理解了
2021-05-18 09:17:47 132
原创 MySQL压缩版安装
目录MySQL压缩版安装卸载旧版本安装参考资料MySQL压缩版安装版本:5.7.32环境 windows卸载旧版本安装前要确保之前的安装记录已被完全清除。如果之前没有安装过,直接安装即可。在控制面板中,卸载MySQL,并手动将MySQL安装目录删除。Win + R 打开运行框,输入regedit,在HKEY_LOCAL_MACHINE -> system -> ControlSet001-> service 与 HKEY_LOCAL_MACHINE -> syst
2021-05-17 11:35:30 99 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人