- 博客(17)
- 收藏
- 关注
原创 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 304
原创 springboot多环境配置
这样就可以直接发版了,发版启动也无需再指定环境,打包时已经指定。application-dev.yml 开发环境特有配置。application-prod.yml 生产环境。application-sit.yml 测试环境。application.yml 设置动态激活环境。application.yml 基础配置,通用。idea直接启动默认就是dev环境。
2023-11-14 13:54:29 333 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 1089 1
原创 【当前读和快照读】
mysql的当前读与快照读mysql默认隔离当前读快照读幻读mysql默认隔离隔离级别有四种Read Uncommitted(读取未提交内容)在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(DirtyRead)。Read Committed(读取提交内容)这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。这
2022-05-24 10:58:45 250
原创 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 131
原创 ArrayList初始容量及扩容概述
初始容量结论: new ArrayList<>();容量是 transient Object[] elementData;private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; }就是这个空数组,所以容量为0add扩容先看ad
2021-05-19 14:11:58 819
原创 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 190 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 151
原创 零拷贝
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 106 1
原创 NIO网络编程简单应用实例
实例要求编写一个NIO群聊系统,实现服务器端和客户端之间的数据简单通讯(非阻塞)实现多人群聊服务器端: 可以检测用户上线,离线,并实现消息转发功能客户端: 通过channel可以无阻塞发送消息给其他所有用户,同时可以接受其他用户发送的消息(有服务器转发得到)目的: 进一步理解NIO非阻塞网络编程机制服务器端代码:package com.ding.nio.groupchat;import java.io.IOException;import java.net.InetSocketAdd
2021-03-13 15:33:33 128
原创 selector选择器
基本介绍java的NIO,用非阻塞的IO方式,可以用一个线程,处理多个客户端连接,就会使用到selector(选择器)selector能够检测多个注册的通道上是否有事件的发生(注意: 多个Channel以事件的方式可以注册到同一个selector), 如果有事件发生,便获取事件然后针对每个事件进行相应的处理. 这样就可以只用一个单线程去管理多个通道,也就是管理多个连接和请求只有在连接真正有读写事件发生时, 才会进行读写, 就大大地减少了系统开销, 并且不必为每一个连接都创建线程,不用去维护多个线程
2021-03-07 17:48:25 287
原创 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 265
原创 NIO中的Buffer
缓冲区(Buffer)缓冲区(buffer): 缓冲本质上是一个可以读写数据的内存块,可以理解成是一个容器对象(含数组),该对象提供了一组方法,可以更轻松的使用内存块,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况.channel提供从文件,网络读取数据渠道,但是读取或写入的数据都必须经由buffer,如图:Buffer类及其子类在NIO中,Buffer是一个顶层父类,他是一个抽象类,类的层级关系图IntBuffer,存储整数数据到缓冲区FloatBuffer,存储小数数据到缓
2021-03-06 18:46:11 197 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 127
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人