自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Netty+ProtoBuf+Jdk 动态代理=手写简单Rpc

rpc 远程处理调用本地客户端 Consumer(客户端)远程服务提供者 Provider(服务端)consumer 和 provider 需要有相同的接口我们在使用feign或者之类的rpc都是类似(个人理解)使用netty完成连接 在连接中使用动态代理客户端在动态代理的方法调用中(Invoke) 使用netty 所维持的 channel 完成request 的发送 并异步等待返回结果服务端在接受特定的请求后解析自定义协议中的数据,使用代理完成请求任务,并且返回re..

2021-09-25 18:16:00 210

原创 Java 泛型

泛型泛型开始出现在jdk 1.5 因为集合容器的需要,泛型可以在编译时进行类型判断。类型参数化 类型由原来的具体化转为类似参数传入,在需要使用时再使用传入的参数类型。一、注意事项1、泛型只在编译时有效ArrayList<Student> students=new ArrayList<>();ArrayList<Result<String>> results=new ArrayList<>();System.out.pri

2021-09-19 11:53:19 138

原创 java8 Stream流

Stream不是 IO 流集合数据转化为数据流形式 (从数据源到目标数据中间的抽象形态)可以对这种抽象数据进行一些列 切片、筛选、排序 等的操作解决了大部分集合操作必须依赖于 外部迭代 的方式,让集合操作非常的简便[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ItUhQbaK-1624677798264)(C:\Users\Xingcl\AppData\Roaming\Typora\typora-user-images\image-2021062

2021-06-26 11:23:50 131

原创 java8 新特性 Lambda

LambdaLambda,表达式是jdk1.8 推出的新特性(语法糖),也可称为闭包,可以快速实现函数式接口方法,配合系统内置的函数式接口,代码会更简洁,增强可读性1. 函数式接口接口内只有一个抽象方法的接口称为函数式接口函数式接口可以使用@FunctionalInterface 标注 @FunctionalInterface interface MyFunctionalInterface { public int fun(); }2. Lambda基本语

2021-06-25 20:14:46 107

原创 蓝桥杯 阶乘约数

11届蓝桥杯软件类看了好多网上的没有马上看懂 所以自己写了一篇定义阶乘 n! = 1 × 2 × 3 × ··· × n。请问 100! (100 的阶乘)有多少个约数。public class Q5 { public static void main(String[] args) { // 正约数和 参考每个唯一分解定理 // 我们把100阶层已知的因子进行拆分 // 然后对各个质因数量求和 long ans = 1; int[] t = new int[101];

2021-05-31 22:25:34 375 1

原创 springboot web开发准备

在springboot项目文件夹下我们找不到 web-app文件夹我们该如何开发web-application静态资源前端页面持久处理静态资源1、存放位置在resources 目录下 为我们准备了 static 和 templatesstatic 用来存放静态资源templates 用来存放模板文件templatesn. 模板;范本(template的复数);属性单元1.2、源码分析找到springmvc的自动装配类 WebMvcAutoConfiguration.clas

2021-05-09 21:55:10 96

原创 ymal 文件的基础使用和 properties 的区别

yaml 文件的使用springboot配置文件可以使用application.properties也可以使用application.yaml和application.yml1、语法规则server: port: 8081 address: xxx对比propertiesserver.port=8082server.address=xxx代码量减少 可读性强属性值和属性名之间要存在一个空格功能对比2、属性值的注入我们在application配置文件中输

2021-05-08 21:33:45 418

原创 springboot自动装配

SpringBoot 自动装配SpringBoot 项目省略了许多配置文件的编写,目的是让开发者可以快速构建一个Spring项目,简化了Spring项目的搭建和开发的配置过程,从而使开发者不用再重复的编写重复的配置代码。不再由开发者编写大多数配置文件意味着部分灵活性的丢失,但是减少了开发者需要做出决定的数量1、开箱即用1.1、pom.xml再pom.xml文件中我们发现当前项目有一个父工程<parent> <groupId>org.springframework

2021-05-07 23:55:55 206

原创 动态代理 jdk 和 cglib

一、静态代理代理当客户对象(被代理对象)由于某些情况 不能直接访问 目标对象(例如 想请巴菲特吃饭 你应该跟它的秘书预约 而不能够直接打电话给巴菲特) 这时候可以提供一个中间类来访问目标对象。代理的作用保护了目标对象避免了 直接对目标对象进行访问 在代理中可以对客户对象进行检索?代理增强目标类拓展目标对象的能力(巴菲特只会跟你吃饭 但是它的秘书可能会一些其它的 例如给他排时间表订机票)代理模式可以减少耦合避免了客户对象和目标对象的直接接触 提高了可扩展性 要加什么功能直接加给代理增加代码

2021-05-06 11:45:57 94

原创 微服务

微服务译文:http://blog.cuicc.com/blog/2015/07/22/microservices/原文 :https://martinfowler.com/articles/microservices.html1、什么是微服务一种软件架构微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。这些服务共用一个最小型的集

2021-05-04 19:40:44 109

原创 MyBatis初识

MyBatis初识一、第一个MyBatis程序1、导入依赖Mybatis<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version></dependency>Junit<!-- https://mvnrepository

2021-05-03 22:51:29 181

原创 树的相关概念

树一、什么是树树在计算机术语中是一种数据的存放结构,是由n(n>=1)个有限节点组成的具有层次关系的集合这种结构的构成跟自然界中的树很相似[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nDFdNz1m-1614956848270)(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIs

2021-03-05 23:07:52 971 1

原创 Java反射

反射一、什么是反射反射(reflection) 是一种动态获取对象信息和动态调用对象功能称为java语言的反射机制 这种机制 是动态语言的关键在程序的运行时,可以构造任意类的对象、可以了解任意一个类的所有信息(接口、方法、注解、父类,成员变量、方法)并且可以调用 用反射获得的属性、方法二、类的装载过程类的加载过程指jvm 虚拟机 把.class文件加载到内存 并生成对映的class对象的过程类的加载 装载、链接(验证 准备 解析) 、初始化2.1、加载1、通过

2021-03-05 12:38:04 379 1

原创 MVC

一、MVCMVC是什么​ MVC 是一种软件设计规范​ 一定程度上完成了前后端分离​ MVC是一种框架模式MVC的分层Mode(模型)​ 提供要展示的数据(Dao)和行为(Service) 提供数据 提供 对数据操作的能力​ 提供业务实现​ 操作保存数据View(视图)​ 把数据展示给用户 和用户交互 发起请求 (负责进行模型的展示)​ 展示模型​ 发起请求Control(控制器)​ 接受用户和视图交互产生的请求 转换为模型的数据操作 返回操作后的数据

2021-02-27 11:28:48 102

空空如也

空空如也

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

TA关注的人

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