- 博客(20)
- 收藏
- 关注
原创 自制docker镜像
基于上一步的镜像 打包新的tomcat镜像。编写对应tomcat的dockerfile。先修改docker镜像路径将其改为私仓。docker logs <容器id>最终启动docker查看是否成功。8u202 为最后一个免费版本。下载所需版本的jdk安装包。编写Dockerfile。和上面一样进行推送到仓库。
2025-03-26 11:53:21
234
原创 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
原创 springboot多环境配置
这样就可以直接发版了,发版启动也无需再指定环境,打包时已经指定。application-dev.yml 开发环境特有配置。application-prod.yml 生产环境。application-sit.yml 测试环境。application.yml 设置动态激活环境。application.yml 基础配置,通用。idea直接启动默认就是dev环境。
2023-11-14 13:54:29
563
1
原创 【记一次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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅