2023年7月15日

Neutron网络模型

摘要: 网络类型 VLAN模型 VXLAN模型 VXLAN和VLAN VID转换 针对不同场景,VID说法不同。针对VXLAN来说是VNI,针对VLAN来说是VLAN ID。VLAN和VXLAN共用br-int网桥时,VXLAN解封装后变成VLAN报文,防止br-int上VXLAN报文解封装成VLAN后的内 阅读全文

posted @ 2023-07-15 16:29 王景迁 阅读(98) 评论(0) 推荐(0) 编辑

软SDN和硬SDN

摘要: 软SDN Overlay控制端点放在服务器内的虚拟交换机上。 硬SDN Overlay控制端点放在实体交换机上。 阅读全文

posted @ 2023-07-15 16:23 王景迁 阅读(117) 评论(0) 推荐(0) 编辑

下载k8s源码

摘要: 设置GOPATH环境变量 go env -w GO111MODULE=auto cd $GOPATH mkdir -p src/k8s.io cd src/k8s.io git clone https://github.com/kubernetes/kubernetes.git cd kuberne 阅读全文

posted @ 2023-07-15 16:21 王景迁 阅读(104) 评论(0) 推荐(0) 编辑

IoC

摘要: IoC(控制反转) Java中,一个类想要调用另一个类中的属性或方法,先通过new的方式创建后者的对象,再调用其属性或者方法。调用者掌握着被调用者对象创建的控制权。 控制反转把原本调用者通过直接new的方式来实现对象创建,反转给IoC容器来实现。 在Spring中,IoC容器管理Java对象。Bea 阅读全文

posted @ 2023-07-15 16:15 王景迁 阅读(75) 评论(0) 推荐(0) 编辑

AOP

摘要: AOP(面向切面编程) 问题 应用中非业务的通用功能(日志管理、权限管理、事务管理、异常管理等)代码横向散布在多个不同的业务模块中,容易产生大量重复性代码,不利于复用和维护。 解决方案 Spring AOP在运行时为目标对象通过动态代理(JDK或者CGLIB)生成一个动态代理对象,在代理对象中实现对 阅读全文

posted @ 2023-07-15 16:05 王景迁 阅读(3) 评论(0) 推荐(0) 编辑

创建Spring Boot+Spring MVC+Mybatis Demo项目

摘要: 参考资料 IDEA搭建Springboot+SpringMVC+Mybatis+Mysql(详细、易懂) 创建项目 创建多个目录 把application.properties改成yml格式并补充配置 mysql中创建数据库和表 create database db1; use db1; creat 阅读全文

posted @ 2023-07-15 16:02 王景迁 阅读(50) 评论(0) 推荐(0) 编辑

下载Spring源码并导入依赖

摘要: 下载Spring源码并切换分支 Spring源码仓https://github.com/spring-projects/spring-framework git checkout 5.0.x 安装和配置gradle 查看依赖的gradle版本:4.4.1gradle/wrapper/gradle-w 阅读全文

posted @ 2023-07-15 15:53 王景迁 阅读(160) 评论(0) 推荐(0) 编辑

手写MyBatis

摘要: 参考资料 从 0 开始手写一个 Mybatis 框架,三步搞定! Mybatis框架源码流程 mybatis的配置文件有2类1 mybatisconfig.xml,配置了全局参数,只有一个。2 Mapper.xml 配置多个statemement即sql,存在多个。 通过mybatisconfig. 阅读全文

posted @ 2023-07-15 15:47 王景迁 阅读(99) 评论(0) 推荐(0) 编辑

使用MyBatis Plus

摘要: IDEA配置 IDEA安装MyBatisX插件。根据IDEA指引来创建Spring Boot项目mybatisplus-demo1。 添加依赖 添加mybatisplus和lombok依赖 <dependency> <groupId>com.baomidou</groupId> <artifactI 阅读全文

posted @ 2023-07-15 15:43 王景迁 阅读(23) 评论(0) 推荐(0) 编辑

MyBatis框架使用问题

摘要: Mybatis根据数组或者List查询List结果 数组参数 //接口方法 ArrayList<User> selectByIds(Integer [] ids); //xml映射文件 <select id="selectByIds" resultMap="BaseResultMap"> selec 阅读全文

posted @ 2023-07-15 15:38 王景迁 阅读(3) 评论(0) 推荐(0) 编辑

String

摘要: String str1= "abc"; String str2= new String("abc"); String str3= str2.intern(); System.out.println(str1==str2); System.out.println(str2==str3); System 阅读全文

posted @ 2023-07-15 15:31 王景迁 阅读(52) 评论(0) 推荐(0) 编辑

HashMap和ConcurrentHashMap

摘要: HashMap 结构桶数组+单链表+红黑树(JDK1.8引入) 容量是2的幂的原因寻找位置时,(n - 1)& hashCode值等价于hash%n,但是&比%具有更高的效率。得到key的hashCode值后,通过二次hash(第一次hash时右移 16 位,hashCode值高16位与低16位异或 阅读全文

posted @ 2023-07-15 15:24 王景迁 阅读(7) 评论(0) 推荐(0) 编辑

JVM内存模型和类加载

摘要: 内存模型 JVM内存模型主要分为堆、程序计数器、方法区、虚拟机栈和本地方法栈。 堆 堆中包含了字符串常量池。 程序计数器 记录线程执行的字节码的地址。 方法区 存放已被虚拟机加载的类相关信息,包括类信息、运行时常量池(存放编译生成的字面量和符号引用)。当类加载到内存后,JVM把类文件常量池中的内容存 阅读全文

posted @ 2023-07-15 15:21 王景迁 阅读(4) 评论(0) 推荐(0) 编辑

JVM垃圾收集

摘要: 默认垃圾收集器 JDK1.7和JDK1.8默认垃圾收集器都是ParallelScavenge(新生代)+ParallelOld(老年代)JDK1.9默认垃圾收集器G1 查看命令:java -XX:+PrintCommandLineFlags -version G1 JDK 1.7推出的垃圾收集器,特 阅读全文

posted @ 2023-07-15 15:15 王景迁 阅读(30) 评论(0) 推荐(0) 编辑

Java基础

摘要: 跨平台原理 Java的跨平台基于编译器和JVM。编译器把源文件编译成与平台无关的字节码class文件,JVM把该文件解释成与平台有关的机器码指令,在平台上执行。 Java面向对象的4个特征 1 抽象提取对象的共性,构成抽象类或接口,由继承抽象类的类或接口的实现类来重写抽象方法。2 继承子类继承父类( 阅读全文

posted @ 2023-07-15 15:06 王景迁 阅读(5) 评论(0) 推荐(0) 编辑

go 时间错误

摘要: invalid operation: n * time.Second (mismatched types int and time.Duration) package main import "time" func main() { n := 1 time.Sleep(n * time.Second 阅读全文

posted @ 2023-07-15 10:28 王景迁 阅读(44) 评论(0) 推荐(0) 编辑

go panic

摘要: panic可能原因 1. 空指针2. 直接调用panic函数3. 数组越界4. map读写并发(recover不能恢复) core dump程序出现段错误时出现的错误文件,通过该文件确认错误的位置。程序因段错误异常终止时打印堆栈信息// 开启core dump功能,不限制core文件大小ulimit 阅读全文

posted @ 2023-07-15 10:24 王景迁 阅读(63) 评论(0) 推荐(0) 编辑

go strings.Builder

摘要: 字符串拼接和strings.Buffer缺点 Go里面的字符串是常量,对字符串的修改会重新申请内存地址。虽然bytes.Buffer避免了字符串修改过程中的内存申请,但是最后从[]byte转成字符串时会重新内存申请。从Go 1.10开始,提供了性能更好的方法strings.Builder,与byte 阅读全文

posted @ 2023-07-15 10:20 王景迁 阅读(123) 评论(0) 推荐(0) 编辑

patrickmn.gocache

摘要: 一句话概括 基于内存的KV缓存,支持删除和过期以及持久化到文件并恢复。 使用示例 go.mod增加依赖require github.com/patrickmn/go-cache v2.1.0+incompatible package main import ( "log" "time" "githu 阅读全文

posted @ 2023-07-15 10:15 王景迁 阅读(31) 评论(0) 推荐(0) 编辑

切片

摘要: 结构体定义 runtime/slice.go文件中 type slice struct { array unsafe.Pointer // 数组的指针 len int cap int } 扩容 通过append方法添加数据,返回一个新的slice对象,地址和之前不一样。但是原来元素地址是不变的,直到 阅读全文

posted @ 2023-07-15 10:11 王景迁 阅读(22) 评论(0) 推荐(0) 编辑

导航