自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java回复邮件

【代码】【无标题】

2025-04-09 17:39:54 222

原创 自制docker镜像

基于上一步的镜像 打包新的tomcat镜像。编写对应tomcat的dockerfile。先修改docker镜像路径将其改为私仓。docker logs <容器id>最终启动docker查看是否成功。8u202 为最后一个免费版本。下载所需版本的jdk安装包。编写Dockerfile。和上面一样进行推送到仓库。

2025-03-26 11:53:21 234

原创 java集成邮箱下载附件

最开始发现10M的附件下载太慢了 加了一段配置。

2025-01-09 11:08:48 316

原创 springmvc项目dubbo集成注册zk host相关

DUBBO_IP_TO_REGISTRY 如果系统配置了这个参数,并且不是本机ip那么就会覆盖上面的配置,这个参数通常是docker的时候使用,为了防止网络原因导致dubbo不通。那么接下来就会自动获取绑定的ip,即从配置文件中获取配置的ip地址,并判断如果是本机ip则通过方法获取本机ip进行覆盖,这块都没什么问题,都是绑定本机ip。这里是引用DUBBO_IP_TO_BIND 如果tomcat级别的系统配置有这个参数就去对应的ip,并会校验配置的ip是不是本机ip,通常我们不这么配置。

2024-05-16 16:07:15 482

原创 oracle创建用户

如果不清楚其他的怎么存储可以根据下面命令参考其他目录怎么放。指定命名空间,数据存放位置。

2023-11-17 13:59:43 131

原创 springboot多环境配置

这样就可以直接发版了,发版启动也无需再指定环境,打包时已经指定。application-dev.yml 开发环境特有配置。application-prod.yml 生产环境。application-sit.yml 测试环境。application.yml 设置动态激活环境。application.yml 基础配置,通用。idea直接启动默认就是dev环境。

2023-11-14 13:54:29 563 1

原创 json按key进行排序ASCII

【代码】json按key进行排序ASCII。

2023-09-21 11:23:10 647 1

原创 记一次springmvc响应string-json被转义斜杠问题

排查项目响应sting类型的json数据,最终的数据被转义了

2022-09-19 11:40:16 3413

原创 【记一次spring-gateway获取body的艰难历程】

真的是翻了很多文章,都没有达到效果不说废话直接干货定义BodyRewrite 用来接收spring的回调信息定义全局过滤将BodyRewrite 放进spring中 不说废话直接干货 定义BodyRewrite 用来接收spring的回调信息 import org.reactivestreams.Publisher; import org.springframework.cloud.gateway.filter.factory.rewrite.RewriteFunction; import org.spri

2022-05-27 23:32:29 1349 1

原创 【当前读和快照读】

mysql的当前读与快照读mysql默认隔离当前读快照读幻读 mysql默认隔离 隔离级别有四种 Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。 Read Committed(读取提交内容) 这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。 这

2022-05-24 10:58:45 321

原创 docker 安装 mongo

建表 DROP TABLE IF EXISTS user; CREATE TABLE user ( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT NULL COMMENT '年龄', email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (id) )

2021-08-13 17:07:02 198

原创 ArrayList初始容量及扩容概述

初始容量 结论: new ArrayList<>(); 容量是 transient Object[] elementData; private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; } 就是这个空数组,所以容量为0 add扩容 先看ad

2021-05-19 14:11:58 915

原创 Netty的Demo案例

客户端代码 package com.ding.netty.simple; import io.netty.bootstrap.Bootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import io.n

2021-04-05 17:28:42 267 1

原创 netty简介

Netty官网说明 https://netty.io/ Netty是由JBoss提供的一个java开源框架, netty提供异步的,基于事件驱动的网络应用程序框架, 用以快速开发高性能, 高可靠性的网络IO程序 Netty可以帮助你快速,简单的开发出一个网络应用, 相当于简化和流程化了NIO的开发过程 Netty是目前最流行的NIO框架, Netty在互联网领域,大数据分布式计算机领域, 游戏行业, 通信行业等获得了广泛的应用, 知名的 Elasicsearch, Dubbo等框架内部都采用了netty

2021-04-05 15:20:29 247

原创 零拷贝

NIO与零拷贝 零拷贝基本介绍 零拷贝是网络编程 的关键,很多性能优化都离不开 在java 程序中,常用的零拷贝有mmap(内存映射) 和 sendFile,那么,他们在OS李,到底是怎样一个设计? 我们分析mmap和sendFile这两个零拷贝 另外我们看一下NIO中如何使用零拷贝 传统io数据读写 java传统IO和网络编程的一段代码 File file = new File("test.txt"); RandomAccessFile raf = new Rand

2021-04-05 12:09:45 170 1

原创 NIO网络编程简单应用实例

实例要求 编写一个NIO群聊系统,实现服务器端和客户端之间的数据简单通讯(非阻塞) 实现多人群聊 服务器端: 可以检测用户上线,离线,并实现消息转发功能 客户端: 通过channel可以无阻塞发送消息给其他所有用户,同时可以接受其他用户发送的消息(有服务器转发得到) 目的: 进一步理解NIO非阻塞网络编程机制 服务器端代码: package com.ding.nio.groupchat; import java.io.IOException; import java.net.InetSocketAdd

2021-03-13 15:33:33 192

原创 selector选择器

基本介绍 java的NIO,用非阻塞的IO方式,可以用一个线程,处理多个客户端连接,就会使用到selector(选择器) selector能够检测多个注册的通道上是否有事件的发生(注意: 多个Channel以事件的方式可以注册到同一个selector), 如果有事件发生,便获取事件然后针对每个事件进行相应的处理. 这样就可以只用一个单线程去管理多个通道,也就是管理多个连接和请求 只有在连接真正有读写事件发生时, 才会进行读写, 就大大地减少了系统开销, 并且不必为每一个连接都创建线程,不用去维护多个线程

2021-03-07 17:48:25 362

原创 NIO中的channel

基本介绍 NIO的通道类似于流, 但有如下区别: 通道可以同时进行读写,而流只能读或者写 通道可以实现异步读写数据 通道可以从缓冲读数据, 也可写数据到缓冲 #mermaid-svg-YcQzCIoLu5KRFE4h .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-YcQzCIoLu5KRFE4h .

2021-03-07 15:13:26 331

原创 NIO中的Buffer

缓冲区(Buffer) 缓冲区(buffer): 缓冲本质上是一个可以读写数据的内存块,可以理解成是一个容器对象(含数组),该对象提供了一组方法,可以更轻松的使用内存块,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况.channel提供从文件,网络读取数据渠道,但是读取或写入的数据都必须经由buffer,如图: Buffer类及其子类 在NIO中,Buffer是一个顶层父类,他是一个抽象类,类的层级关系图 IntBuffer,存储整数数据到缓冲区 FloatBuffer,存储小数数据到缓

2021-03-06 18:46:11 276 1

原创 NIO与BIO

netty介绍 netty时jboos提供的java开源项目 netty是一个异步的基于事件驱动的网络应用框架,用以开发高性能,高可靠的网络IO程序 netty本质是NIO框架,适用于服务器通信相关多种应用场景 netty是什么 netty应用场景 互联网行业 rpc框架中的应用,例如dubbo 游戏中的应用 地图服务器中的使用,进行高性能通讯 大数据领域 hadoop的高性能通讯和序列化组件(AVRO实现数据文件的共享) IO模型的简介 I/O模型简单理解: 就是用什么样的通道进行数据的发

2021-03-06 18:29:19 198

mvc项目进行docker化

mvc项目进行docker化

2024-04-02

本地mvn archetype

本地mvn archetype

2023-12-07

空空如也

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

TA关注的人

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