redis
RedisRedis简介NoSQL简介 目前市场主流数据存储都是使用关系型数据库。每次操作关系型数据库时都是I/O操作,I/O操作是主要影响程序执行性能原因之一,连接数据库关闭数据库都是消耗性能的过程。尽量减少对数据库的操作,能够明显的提升程序运行效率。
针对上面的问题,市场上就出现了各种NoSQL(Not Only SQL,不仅仅可以使用关系型数据库)数据库,它们的宣传口号:不是什么样的场景都必须使用关系型数据库,一些特定的场景使用NoSQL数据库更好。
常见NoSQL数据库:
memcached :键值对,内存型数据库,所有数据都在内存中。
Redis:和Memcached类似,还具备持久化能力。
HBase:以列作为存储。
MongoDB:以Document做存储。
2.Redis简介 Redis是以Key-Value形式进行存储的NoSQL数据库。
Redis是使用C语言进行编写的。
平时操作的数据都在内存中,效率特高,读的效率110000/s,写81000/s,所以多把Redis当做缓存工具 ...
前端速通
前端速通ES6
ECMAScript(ES) 是规范、 JavaScript 是 ES 的实现
ES6 的第一个版本 在 2015 年 6 月发布,正式名称是《ECMAScript 2015 标准》(简称 ES2015)
ES6 指是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等
let推荐使用let关键字替代 var关键字声明变量,因为 var存在诸多问题,比如:
越域123456{ var a = 1; let b = 2;}console.log(a); // 1console.log(b); // ReferenceError: b is not defined
重复声明12345678// var 可以声明多次// let 只能声明一次var m = 1var m = 2let n = 3// let n = 4console.log(m) // 2console.log(n) // Identifier 'n' has already been declar ...
Dubbo
Dubbo什么是Dubbo了解 Dubbo 核心概念和架构 | Apache Dubbo 官方文档
Dubbo是阿里巴巴公司开源的一个高性能、轻量级的 Java RPC 框架
致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA (面向服务的)服务治理方案。
所以我们在学习的时候,通常是用到了springboot来当主体,来帮助我们创建对象然后包括在里面实现mybatis,dubbo等等中间件,那么springboot就利用它ioc和aop的特性方便我们注册对象,注册配置,那么mybatis就方便我们调用数据库,那么dubbo就方便我们进行远程调用,那么只是远程调用是不行的,所以还会在远程调用的基础上,增加服务注册 注册中心,服务熔断等等其他的技术,但是要知道dubbo主要用来实现我们远程调用的框架的
Dubbo的基本使用之前我们知道rpc是远程调用的,那么dubbo就是方便我们进行远程调用的,但是我们不知道调用谁,在哪里调用,ip和端口号是什么,那么这时候就需要注册中心了
先来个例子体验一下:这个例子中没有使用注册中心
创建两个maven工程一个当server一个当cl ...
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)
总结
计算机网络的组成和功能组成
硬件、软件、协议
这些主机也可以成为端系统都是硬件
网络适配器(网卡)
从工作方式来看
交换服务就是对网络内部资源的动态配置,选择负载低的线路等分配方式
从逻辑功能看
功能
电路交换、报文交换、分组交换
电路交换技术
电路交换技术的优缺点
电报网络(报文交换技术)
报文交换技术的优缺点
分组交换技术
分组交换的优缺点
三种交换技术的性能对比电路交换性能分析第二章物理层
物理层接口特性
典型的数据通信模型
数据通信的相关术语
三种通信方式
串行传输,并行传输
同步传输、异步传输
码元
数据传输速率的两种表示方法
练习题
带宽
奈氏准则和香农定理失真
失真的一种现象– 码间串扰
奈氏准则
香农定理
编码 调制基带信号 ...







