RPC远程服务调用
RPC远程服务调用RPC的诞生
RPC远程过程调用(Remote Procedure Call)
调用远程计算机上的服务,就像调用本地服务一样。
1、首先我们调用需要知道jar包在哪里
2、所以我们需要一个注册中心,存放jar包的位置
3、当我们使用jar包的时候我们的controller层会先从注册中心中查询获得jar包的位置,然后再进行调用
后期会有框架封装这些操作,虽然代码上没有变化但是底层进行了封装。
RPC的JAVA版本–RMIRMI(remote method invocation),可以认为是RPC的java版本,允许运行在一个java 虚拟机的对象调用运行在另一个java虚拟机上对象的方法。
这是一个纯java版本的,如果你调用的对象不是java编写的,就无法利用RMI.
实现原理
RMI使用的是JRMP(Java Remote Messageing Protocol)协议, JRMP是专门为java定制的通信协议,所以是纯java的分布式解决方案
实现RMI程序步骤1、创建一个远程接口,继承java.rmi.Remote接口
2、实现远程接口,并继承UnicastR ...
固定思路详解
固定思路详解SpringbootSpringboot的依赖为什么可以不写版本号在父版本进入之后在进入父版本所依赖的父版本之后,发现里面写好了我们以后可能依赖的依赖的版本号,已经固定写好了,这里管理者所有依赖的版本,导入依赖之后不写版本就用这里的版本,有个版本号仲裁中心。
Springboot是怎么扫包的?在SpringApplication.run方法中传入了启动类的字节文件,还有参数,这里通过反射获得了启动类的注解@SpringBootApplication,而这个注解里面自动的功能,比如包扫描和自动装载。
而里面有个@EnableAutoConfiguration 就实现了自动包扫描,会获得包名然后,开始扫描。所以启动类必须覆盖所有与业务相关的类:启动类所在的包必须是业务类所在包的同包或者父包。如果没有覆盖,业务类就不会自动装配到IoC容器中。
Springboot如何配置呢?有一些默认的配置已经写好了都放在了所依赖的父项目中的仲裁中心里面,而springboot是在@SpringBootConfiguration里面有个@Import(AutoConfigurationImpor ...
Springboot
SpringbootSpring Boot 是一个快速开发框架,可以迅速搭建出一套基于Spring框架体系的应用,是Spring Cloud的基础。
Spring Boot开启了各种自动装配,从而简化代码开发,不需要编写各种配置文件,只需要引入相关依赖就可以迅速搭建一个应用
特点
1、不需要web.xml
2、不需要springmvc.xml
3、不需要tomcat,SpringBoot内嵌了一个tomcat
4、不需要配置JSON解析,支持REST架构
5、个性化配置非常简单
如何使用
Spring Boot 2.x要求必须基于Spring 5.x,要求java版本必须是8以上
Spring Boot的使用第一种方法是新建Maven工程然后在pom.xml中继承父项目
导入启动器Spring Boot的启动器实际上就是一个依赖。这个依赖中包含了整个这个技术的相关jar包,还包含了这个技术的自动配置,以前绝大多数XML配置都不需要配置了。当然了,启动器中自动配置无法实现所有内容的自动配置,在使用Spring Boot时还需要进行少量的配置(这个配置不是在xml中了,而是在pro ...
踩坑记录
mybatis创建SqlSessionFactory的bean实例失败的排查思路结果就出现问题了:mybatis创建sqlSessionFactory时,出现如下错误
意思是无法创建sqlSessionFactory的bean实例,sessionfactory作为mybatis的核心,创建不了实例,那还怎么玩下去!?于是马上想思路解决:
①xml配置写错;
②mapper路径写错;
123456<!--SqlSessionFactory--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="mapperLocations" value=" ...
Mybatis
Mybatis主流的ORM框架,之前叫IBatis后来叫MyBatis,实现数据持久化的框架,同时支持Java .NET, .Ruby三种语言,MyBatis是一个对JDBC进行封装的框架。
ORM 框架 Hibernate,两个的区别:
Hibernate是一个全自动化的ORM框架,MyBatis是一个半自动化的ORM框架
全自动化:开发者只需要调用相关接口就可以完成操作,整个流程框架都已经进行了封装。
Hibernate实现了POJO和数据库表之间的映射,同时可以自动生成SQL语句并完成执行。
半自动化:框架只提供一部分功能,剩下的工作仍需要开发者手动完成,MyBatis没有提供POJO与数据库表的映射,只实现了POJO与SQL的映射关系,需要开发者自定义SQL语句,以及数据与POJO之间的装配关系。
虽然功能上没有Hibernate更加方便但是这种半自动化的方式提高了框架的灵活性
开发者可以根据具体的业务需求完成定制化的持久层解决方案
MyBatis对所有的JDBC进行了封装,包括参数设置,SQL执行,结果集的解析等,通过xml配置的方式或者注解的方式完成POJO与数据的映射。 ...
Vue2
Vue2 简介Vue 的安装和配置首先安装node在官网搜索然后安装node,可以安装16.x版本的,然后下载安装管理node版本的工具nvm也是在网上搜索安装下载即可,这里安装nodejs就好了
【2024最新版】最新node.js安装及环境变量+vue安装,手把手教学,非常简单,包教包会!!!_哔哩哔哩_bilibili
Vue.js - 渐进式 JavaScript 框架 | Vue.js (vuejs.org)
VUE是MVVM框架,他是渐进式框架,是初创公司的首选框架,是轻量级的,有很多根据Vue扩展的独立的功能或库
渐进是什么意思呢,用一个小例子来解释
1234567891011121314151617181920212223242526272829<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="wid ...
计算机网络
计算机网络计算机网络的概念什么是计算机网络计算机网络是一个将众多分散的、自治的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统
计算机网络、互联网、互连网的区别
计算机网络
集线器不能完成网络冲突的问题,现在很少使用了
互连网(internet)
互联网(Internet)
总结
计算机网络的组成和功能组成
硬件、软件、协议
这些主机也可以成为端系统都是硬件
网络适配器(网卡)
从工作方式来看
交换服务就是对网络内部资源的动态配置,选择负载低的线路等分配方式
从逻辑功能看
功能
电路交换、报文交换、分组交换
电路交换技术
电路交换技术的优缺点
电报网络(报文交换技术)
报文交换技术的优缺点
分组交换技术
分组交换的优缺点
三种交换技术的性能对比电路交换性能分析第二章物理层
物理层接口特性
典型的数据通信模型
数据通信的相关术语
三种通信方式
串行传输,并行传输
同步传输、异步传输
码元
数据传输速率的两种表示方法
练习题
带宽
奈氏准则和香农定理失真
失真的一种现象– 码间串扰
奈氏准则
香农定理
编码 调制基带信号 ...
Go语言
go语言为什么要学go语言,go语言优势1)能合理利用多核CPU的优势提升软件系统性能
2)复杂度低,维护成本低,简洁高效
3)c/c++运行速度快但是编译速度慢而且存在内存泄漏的一系列问题,go语言不会
go语言吉祥物-金花鼠Gordon
开发工具一开始使用VSCode1、VSCode
安装就不介绍了
2、使用VSCode
在盘符建立文件夹然后打开文件夹
3、创建go文件
在里面就能写代码了
4、开始编写代码
开发环境搭建1、搭建Go开发环境 - 安装和配置SDK
类似于java的JDK
SDK下载地址:Golang中文社区:
下载完后解压就能用了
整个目录就是SDK
测试SDK是否搭建成功1、进入控制命令台
2、验证SDK环境安装成功
3、配置系统环境变量
4、验证配置成功
第一段程序1、go基本项目结构
2、编写代码
3、要对源文件进行编译 go build java中用的是javac
4、执行操作
5、通过go run 可以直接进行编译并且执行
go语言执行过程分析
上述两种执行流程的方式的区别
JDBC
JDBC原理JDBC是一种执行SQL语句的JavaAPI,为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
所以我们就是要学习JDBC规范来应用这些jar包里面的类。
JDBC访问数据库编码步骤:
1、加载驱动Driver
2、创建数据库连接Connection
3、创建一个发送Sql的发送器Statement
4、通过Statement发送sql语句
5、处理sql语句的结果
6、关闭资源 ResultSet Statement Connection
具体代码步骤首先我们要先导入lib包才能用里面的类,或者导入依赖
增加数据1234567891011121314151617181920212223242526272829303132package com.bitzh;import java.sql.*;/** * @Auther: oyy0v0 * @Date: 2024/4/18 - 04 - 18 - 23:01 * @Description: com.bitzh * @version: 1.0 */public class testJDBC ...
操作系统
操作系统操作系统概述1、操作系统的概念和定义
定义:是指控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,他是计算机系统中最基本的系统软件。
1、操作系统是系统资源的管理者
2、向上提供方便易用的服务
3、是最接近硬件的一层软件
2、操作系统的功能和目标 —–作为系统资源的管理者1、处理机管理(CPU)
2、存储器管理
3、文件管理
4、设备管理
3、操作系统的功能和目标—–向上提供方便易用的服务
提供了哪些服务?
GUI:图形化用户接口
联机命令接口也称为交互式命令接口也就是cmd
脱机命令接口也称为批处理命令接口类似于windows的搜索功能,一次搜一堆
程序接口通过程序代码间接使用就比如打印helloworld,printf函数就是使用了操作系统提供的功能。系统调用也称之为广义命令。
4、操作系统的功能和目标—最接近硬件的软件需要实现对硬件机器的拓展
我们把覆盖了软件的机器成为扩充机器,又称为虚拟机。
将裸机改造成为功能更强,使用更方便的机器。
操作系统的四个特征1、并发并发是指两个或者多个事件在同一时 ...