- 博客(13)
- 收藏
- 关注
原创 微服务网关Gateway4
核心概念路由:网关中最基础的部分,路由信息包括一个id、一个目的URI、一组断言工厂、一组Filter组成。如果断言为真,则说明请求的URL和配置的路径匹配。断言:Java8的断言函数,SpringCloud Gateway中的断言函数类型是Spring5.0框架中的ServerWebExchange。断言函数允许开发者定义匹配Http request中的任何信息,比如请求头和参数等。过滤器:SpringCloud Gateway中filter...
2022-01-03 20:01:31
594
原创 微服务FeignClient2
目录使用FeignClientfeign日志配置配置OkHttp使用FeignClientconsumer接口:@RestController@RequestMapping("/consumer/")public class ConsumerController { @Resource OrderFeignService orderFeignService; @GetMapping("findOrder") public ComR
2022-01-02 22:40:49
229
原创 微服务注册中心Nacos1
Nacos Server部署源码下载地址:https://github.com/alibaba/nacos.git下载安装包:https://github.com/alibaba/nacos/releasesLinux/Unix/Mac启动命令(standalone代表着单机模式运行,非集群模式):sh startup.sh -m standaloneWindows启动命令(standalone代表着单机模式运行,非集群模式):startup.cmd -m standalone..
2022-01-01 20:07:04
104
原创 JAVA设计模式2
1、享元模式介绍参考:享元模式 | 菜鸟教程package model.Builder;import java.util.HashMap;public class FlyweightTest { public static void main(String[] args) { //使用该工厂,通过传递信息来获取实体类的对象 for(int i=0; i < 20; ++i) { TreeNode tree =
2021-12-20 23:02:53
262
原创 JAVA设计模式1
1、单例模式懒汉模式:public class LazySingle { private volatile static LazySingle lazySingle; private LazySingle(){ } public static LazySingle getInstance(){ if(null==lazySingle){ synchronized (LazySingle.class){
2021-12-18 22:35:27
78
原创 Mysql索引优化1
1、索引数据结构B+Tree:下图:第一、二行非叶子节点,第三行叶子节点。非叶子节点一个节点称一页,一页大小16KB,默认值不推荐改:一个非叶子节点:假如索引bingint(8B)+下一个节点的磁盘文件地址(大概6B)=14;16384除以14=1170,一个非叶子节点大概1170个元素,假如叶子节点一个data是1KB,那么3行就是可以存1170乘1170乘16大概是2千多万,也就是千万级别的表也就是3次磁盘IO,而且mysql是会把根节点放到内存,高版本的会把...
2021-11-28 22:45:18
551
原创 jvm类加载机制和内存模型
目录jvm类加载机制jvm内存模型1、jvm类加载机制类加载器就是根据指定全限定名称将 class 文件加载到 JVM 内存,然后再转化为 class 对象。四种类加载器:启动类加载器(Bootstrap ClassLoader):用来加载jre下lib下java核心类库,无法被java程序直接引用。扩展类加载器(extensions class loader):它用来加载 Java 的扩展库jre下lib下ext目录下的包。Java 虚拟机的实现会提供一个扩展库目录。该类加载
2021-11-15 22:52:16
390
原创 netty自定义编码解码器解决拆包粘包
通过发送数据时同时发送数据长度,解决拆包粘包问题自定义编码器、解码器消息实体类:public class MyMessage { private int len;//发送内容的长度 private byte[] content;//发送的内容 public int getLen() { return len; } public void setLen(int len) { this.len = len; }
2021-11-11 23:00:25
1261
原创 netty简单聊天室实战
public class ChatServer { public static void main(String[] args) throws InterruptedException { EventLoopGroup bossGroup=new NioEventLoopGroup(1);//处理连接请求 EventLoopGroup workerGroup=new NioEventLoopGroup();//默认线程数量为cpu核数的两倍,处理业务 .
2021-11-10 22:17:59
350
原创 Netty简单Demo
netty server:public class NettyServer { public static void main(String[] args) { EventLoopGroup bossGroup=new NioEventLoopGroup(1);//处理连接请求 EventLoopGroup workerGroup=new NioEventLoopGroup();//默认线程数量为cpu核数的两倍,处理业务 try {
2021-11-09 22:56:54
491
原创 java字符串内存分析
String str1="abcd";//指向字符串常量池String str2=new String("abcd");//指向堆//str1==str2>falseString str3="ab";String str4="cd";String str5=str3+str4;//new StringBuilder().apend(str3).apend(str4).toString();//str1==str5>falseString str6="ab"+"cd";...
2021-11-07 22:44:20
221
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人