- 博客(43)
- 收藏
- 关注
原创 Html,Css基础
一.Html基础标签段落标签:文本格式化标签:div和span标签:图像标签:一般图片只设置宽或者只设置高,以免图片被压缩。超链接标签:可以设置target对目标窗口的弹出方式进行设置如果href里面指定的是一个压缩文件,那么会下载文件锚点连接:表格标签:table是表格标签,其中tr是每行,td是每一列,表头可以使用th标签进行修饰,会被加粗和居中显示。表格的属性:合并单元格:设置完了以后删除多余的单元格即可。无序列表:有序列表:自定义列表:
2021-02-24 14:29:29
234
1
原创 Vue的路由
一,路由的下载当我们使用脚手架创建项目的时候,会有对路由下载进行选择的选项,选中即可下载。二,路由的基本使用在router文件下的index.js对路由进行配置,配置好路径和组件之间的对应关系,并在入口函数中进行挂载:主函数中进行挂载:使用:在挂载组件(即index.html中使用的组件)中进行使用:标签router-link会被渲染成a标签,而router-view是组件对应显示的位置。设置访问页面自动显示首页:多加一组配置使用重定向跳转到首页即可路由中的mode属性:未使
2020-12-21 18:50:45
399
原创 Vue-cli2和Vue-cli3
一,安装'-g’的意思是全局安装二,使用脚手架创建项目使用脚手架2创建项目:脚手架2创建项目的文件作用:三,Runtime-complier和Runtime-only的区别在使用脚手架2创建项目的时候,会进行一个选择,就是在Runtime-complier和Runtime-only之间选择一个进行构建项目,后者会比前者性能更高,且代码更少,是为什么呢?Runtime-complier创建项目的入口函数:那么他会经历一个过程:首先是模板被解析成一个ast(抽象语法数),然后经过编译
2020-12-20 16:04:22
139
原创 Webpack的基础知识
一,webpack的安装和基本使用首先webpack是需要在node的环境下的,所以先要下载node,js,安装了node.js以后,使用webpack就是将你的前端文件打成一个包,最后一个包发布到服务器上面。在当前项目的目录下使用:第一个是你要打包的包,第二个是你要打包的位置,一般都放在dist目录下,执行完命令以后,就会在dist下面自动生成一个包(包名bundle.js),这样你就可以在你的html页面只需要引入一个文件就行了。设置自动出入口首先创建一个webpack.confi
2020-12-14 19:04:34
264
原创 关于Vue组件化开发,插槽
一,初始版使用Vue组件开发的三个步骤<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><div id="app"> <!--第三步使用模板--> <cpn></cpn></di
2020-12-10 18:21:45
155
原创 关于Mysql
Mysql的常见命令取别名去重distinct+号的作用Concat函数IFNULL函数模糊查询的‘_’和‘%’转义字符升序和降序str_to_date分组查询
2020-07-19 21:20:03
143
原创 关于SpringMVC
创建一个SpringMVC的项目创建一个没有模板的maven项目:右键项目添加web模块即可:导入依赖:<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version>
2020-07-13 21:04:19
211
原创 关于Spring
Spring的IOC(控制反转)控制反转就是将创建的对象的事情交给Spring来管理。IOC是控制反转的缩写,其实现方式是DI(依赖注入),所谓的DI就是给对象所依赖的属性赋值,含有两种方式的注入:依赖注入是有两种方式,一种是通过Set方法给值赋值,一种是根据构造器赋值,所以对应有两种注入,两种注入方式使用时,都必须有该方法。使用:p,c命名空间,scope作用域所谓的命名空间就是xml文件中能使用哪些标签,只有引入了这些命名空间,才能使用对应的标签,p,c命名空间对应着两种依赖注入的简写形式
2020-07-11 21:18:44
197
原创 Git的一些入门操作
Git的下载http://npm.taobao.org/mirrors/git-for-windows/Git的使用一.生成一个公钥,避免每次提交都要输入密码。使用ssh-keygen -t rsa就会在这个目录下生成两个文件:2.使用 第二个文件夹中的内容粘贴到 Gitee的公钥处。3.创建一个自己的仓库:二. 将项目导入到仓库中:git有三个区域: 工作空间 ,暂存区,本地仓库,服务器仓库(gitee)。到项目所在目录,右键打开 git cmd界面:使用 git init
2020-06-29 19:47:53
146
原创 微服务之Nocos,Sentinel
Nacos使用:导入依赖:父项目导入:子项目导入:application.yml:server: port: 9001spring: application: name: nacos-payment-provider cloud: nacos: discovery: server-addr: localhost:8848 #配置Nacos地址management: endpoints: web: e
2020-06-27 21:04:37
302
原创 微服务之Gateway,Config,Bus,Stream,Sleuth
Gateway网关提供一种简单而有效的方式对API进行路由,以及提供强大的过滤器的功能。(webflux是一种异步非阻塞的框架),也算是一种微服务,需要注册中心注册。使用:导入依赖:application.yml的配置:server: port: 9527spring: application: name: cloud-gateway cloud: gateway: discovery: locator:
2020-06-25 20:27:46
604
原创 微服务之Openfeign,Hystrix
Openfeign算是 Ribbon(负载均衡)和RestTemplate(服务和服务之间调用)的结合体。客户端使用restTemplate的 getForObject方法去调用服务端的方法 @GetMapping("/consumer/payment/get/{id}") public CommonResult<Payment> getPayment(@PathVariable("id") Long id) { return restTemplate.g
2020-06-24 20:49:55
3397
4
原创 微服务之服务注册中心和负载均衡
服务注册中心在微服务架构中,注册中心是最基础的核心功能之一,微服务集群一多,管理就麻烦,这时候注册中心就出场了,管理服务和服务之间的依赖关系,还可以实现服务调用,负载均衡,容错等,实现服务发现与注册。一.Eureka包含两个组件: Eureka服务端(提供服务注册服务)和Eureka客户端(通过注册中心进行访问)。单机 Eureka构建:1.导入依赖:2.主启动类:3.配置文件server: port: 7001 #指定服务端口eureka: instance:
2020-06-23 21:14:35
2243
原创 Redis的特殊数据类型和主从复制,事务
一.特殊数据类型Geospatial主要引用于 “附近的人”,可以存地理位置,添加:获取两地的距离(如图是获取北京到上海的距离):可以看到更多命令的网站:https://www.redis.net.cn/order/以一个纬度,经度为中心,在规定半径范围内寻找:以一个存入的地名为中心,规定半径范围内查找:因为geospatial的底层用的就是Zset,所以在查找所有元素的命令,跟Zset是一样的。二.特殊数据类型Hyperloglog这个特殊基本类型主要是用在取两者的并集。
2020-06-21 20:31:24
182
原创 Linux安装redis
Redis简介Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,当下最热门的Nosql技术之一,结构化数据库Redis能干嘛?内存存储,持久化。效率高,可用于高速缓存,发布订阅系统,地图信息分析,计数器。Redis的特性多样化的数据类型。持久化集群,事务Redis安装第一步去官网下载 压缩包https://redis.io将下载好的文件直接拖进xftp里面(前提是能找到的地方)一般程序都在 /opt 下面在opt 目录下进行解压解压完成安装基本
2020-06-19 21:37:38
540
原创 Linux的一些入门操作
在Linux中一切皆文件一些目录的作用(标红为重要目录)切换目录 cd显示目录下所有的文件,包括隐藏文件创建一个目录 mkdir 目录名同时创建多级目录 mkdir -p 1/2/3删除一个目录 rmdir 目录名同时删除多级目录 rmdir -p 1/2/3在操作文件时,若此路径下有这个文件就可以按TAB键自动补满拷贝文件到指定文件: cp 文件 指定文件删除一个文件返回上级目录 移动文件到指定文件: mv 文件 指定文件移动文件到指定文件,若指定文件已有则可以
2020-06-18 21:22:52
146
原创 关于Java的网络编程
UDP编程UDP的关键就是 DatagramSocket 和DatagramPacket,将数据打包发送和接收,包发出去以后,不管成功与否,效率高,但安全性低。注意UDP的数据都是字节数组!!相关操作:不分服务端和客户端,只分发送端和·接收端//UDP编程之接收方public class UDPGet { public static void main(String[] args) throws Exception { //1.使用DatagramSocket指定端口,创建
2020-06-16 20:36:22
143
原创 关于Java的IO流
一.字节流字节流分为 输入字节流和输出字节流,其中输入字节流对应着read,读取文件内容,字节输出流对应着write,向文件中写入,这里可以比喻成读书,知识就进入了脑海,所以是InputStream,写字是将脑海中的知识写出,所以是OutputStream。在使用字节流时,不能直接使用,通常要经过处理流(这里涉及到装饰者模式)装饰者模式:演示:/** * 一切都可以是字节流(inputStream,outputStream); * 还有字符流(read,write),字符流也可以看为是字节
2020-06-14 21:36:24
171
原创 Vue.js的一些基本操作
第一步引入Vue.js第二步new 一个Vue就行了其中的 el 用于绑定一个元素,data给数据赋值,使用{{}}就可以访问到值。Vue一些操作v-if: 为真就就显示内容v-if-else: 多重if,elsev-html: 将文本内容转为htmlv-bind: 绑定元素v-for:循环<div id="msg"> <!--这个:key是v-bind:key的简写形式,作用让vue进行监视--> <!--index是数组的下
2020-06-13 21:19:19
184
原创 MybatisPlus的相关操作
一. Mybatisplus入门(通用Mapper)将自己的Mapper继承BaseMapper,泛型为要操作的实体类。然后就可以进行一系列的增删改查操作了,有各种方式的增删改查,只演示部分。在测试类中将UserMapper注入增加一个:删除一个:修改一个:查找:分页:二.MybatisPlus中阶(条件构造器)想要根据条件搜查人,就要使用条件构造器 QueryWrappernested表示前面的括号,里面也是个接口函数类型:Lamabdag构造器
2020-06-05 21:52:52
314
原创 Aop以及Mybatis plus的一些操作
Aop在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式。Aop的注解: 前置通知@Before,@After后置通知,@AfterReturning返回值通知,@AfterThrowing异常通知,@Aroud环绕通知。@Aspect//定义一个切面public class AnnotionAop { //定义一个要插入的地方 @Pointcut("execution(* Utils.UserSeveiceimpl.*(..))") public voi
2020-06-03 21:51:33
2350
原创 6.2日学习内容
关于ES存储数据到Es的行为叫索引。ES中的索引就像mysql的一个个数据库,类型就好比mysql里的表,一行行的数据就相当于文档,一列列的就是属性。放数据:put /m1/m2/m3 ,其中m1是索引,m2是类型,m3是ID值。取数据:get/m1/m2/m3.@Bean写在方法上,class就为方法的返回值,id默认为方法名Bean的作用域有:Prototype,Singleton,request(同一个请求创建一个对象),Session(同一次会话产生一个对象)。单实例在容器创建的时候就
2020-06-02 21:10:02
80
原创 用idea操作RabbitMQ
第一步确保你的端口都开放了,浏览器可以访问得到。在配置文件中第二步注入RabbitTemplete第三部操作这是发消息的操作,需要指定交换器以及路由键。若传过去的是对象。则需要配置默认序列化。获取队列中的消息:创建一个交换器和队列,并绑定...
2020-06-01 21:44:52
1643
原创 RabbitMQ
第一步下载使用的是docker下载,下载docker可以去百度搜,很简单的命令。下载好了,镜像里面就有中间将此运行的时候总是报错,是需要重启docker。重启以后删除原有的mq。再重新运行,注意mymq后面的imageid第二步开放端口,安全组配置第三步访问即可(公网ip+端口号)启动RabbitMQdocker start rabbitmq的名字。查看是否启动:启动了就可以在浏览器进行访问(前提是进行过上面的操作)密码和用户名都是guest。如上图所示RabbitM
2020-06-01 21:21:48
295
原创 Docker安装Elasticsearch
第一步下载指定版本号下载完成:由于elasticsearch初始大小是2G非常大,所以一般要设置占堆大小-d后台运行,-p指定端口映射刚设置可能没有启动,重启一下docker,再重新启动服务就好了。...
2020-06-01 16:02:28
159
原创 5.30.5.31学习内容
注解(自定义注解) * 自定义注解 @Target表示能够放的地方,Type表示可以放在类,接口,注解上 * 还有Method放在方法上,CONSTRUCTOR构造器上 * LOCAL_VARIABLE局部变量上 * 一般自定义的注解Retention(保留策略)选择Runtime,需要用反射添加功能*/@Target(value={ElementType.FIELD,ElementType.CONSTRUCTOR,ElementType.LOCAL_VARIABLE,ElementType.TY
2020-05-31 22:00:53
121
原创 Springboot整合redis
第一步将redis的bind地址改为0.0.0.0第二步将保护模式改为 no第三步将服务器的端口开放(一个是安全组,一个是开放端口)第四步关闭只读模式第五步连接即可设置完记得shutdown,再重新启动!!!!!...
2020-05-31 11:32:44
100
原创 5.28日学习打卡
+=含有隐式的强制类型转换。Integer如果范围在-128到127之间就不会new对象,超过了就会new对象。java的四舍五入是在参数上加0.5然后进行向下取整。java语言的方法调用只支持参数的值传递。@PropertySource(value={“classpath:person.properties”})指定配置文件@ImportResource(location={“classpath:beans.xml”})写在主启动类上,绑定spring文件的。配置文件在项目路径下的c
2020-05-28 21:17:11
98
原创 5.26日学习打卡
Spring启动入口:classpathXmlApplicationContext(“bean.xml”);Spring主要的包:core,beans,aop,expression.从classpath寻找xml配置文件,根据xml的内容来构建ApplicationContext。bean的生命周期:实例化-》填充属性-》初始化-》销毁。脏读:一个事务读取另一个还未提交的事务。不可重复读:在同一个事务内,多次读同一数据。幻读:同一个事务查询多次的结果不一样。事务管理类型:声明式事务,编程式事务
2020-05-26 20:37:19
94
原创 关于反射
Volatile的可见性由MESI一致性协议保证,还有总线嗅探机制。Spring是轻量级的,开源的javaee的框架。IOC:控制反转,把创建对象的过程交给Spring进行管理。AOP:面向切面编程,再不修改源码的情况下进行功能增强。动态语言:可在程序运行的时候改变程序结构活变量类型。java不是动态语言,但是有一定的动态性。反射:程序在运行状态,可以动态加载一个只有名称的类,对于任意一个已加载的类,都能够知道类的属性和方法,对于任意一个对象,都能知道他的任意一个方法和属性。利用反射获取类的属性
2020-05-25 21:24:03
145
原创 5.24日学习打卡
类加载过程 加载阶段–>链接阶段–>初始化阶段。ClassLoader只负责类的加载,至于是否可以执行由Excution Engine决定。加载阶段:将类的全限类名转化为二进制的字节流,再将字节流转入方法区,在内存中生成一个Class对象。链接阶段分为:1.验证,确保Class文件的字节流符合当前虚拟机的要求;2准备:为类变量分配内存,并设置默认初始值。3.解析:将常量池内的符号引用转化为直接引用的过程。初始化阶段:执行类的构造器方法(此构造器不是那个构造器,是Clinit,这个类只有静
2020-05-24 21:28:52
126
原创 线程池的拒绝策略和四大函数式接口
线程池的拒绝策略AbortPolicy:直接抛出异常组织系统运行CallerRunsPolicy:不会抛弃任务,不会抛出异常,将多来的线程回退到调用者调用。DiscardOldestPolicy:抛弃队列等待时间最久的任务,然后尝试提交当前任务。Discardpolicy:默默地丢弃无法处理的任务。四大函数型接口函数型接口:Function<T,R> 参数T,返回R断定型接口:Predicate 参数T,返回boolean类型供给型接口:Supplier 无参数,返回T消费型接
2020-05-23 21:13:09
151
原创 GC算法,阻塞队列,线程池拒绝策略
有关GCGC的算法就是分代收集算法,就是什么区适合用什么算法就用什么算法。JVM在进行GC的时候,并非对着堆的三个区域一起回收的,大部分的时候在回收新生区,因此GC按照回收的区域分为轻GC(又叫普通GC)和FullGC(又叫重GC)。普通GC只针对于新生区域的GC,指发生在新生区的垃圾回收,因为java的对象存活率不高,所以轻GC非常频繁,回收速度也快。重GC指的是发生在养老区的垃圾回收动作,出现重GC经常会伴随至少一次的轻GC,重GC的速度一般比轻GC要慢上10倍。GC的算法有4种:引用计数法
2020-05-22 21:32:03
561
原创 堆的内存模型以及ClassLoader
前言5.21学习内容打卡。ArrayList线程安全类:CopyOnWriteArratList.读写分离的思想,在写入时复制原有的list,在复制体中进行写操作,原有的进行读操作,写操作是同步的,读不是。wait,notifyAll,使用判断的时候必须使用while,不然会造成虚假唤醒。非公平锁:允许线程插队;公平锁:不允许老版的同步以及通信:Synchornized->wait->notifyAll新版的锁: Lock -> Condition.await->Con
2020-05-22 09:35:44
202
原创 单例模式
主要几种可以用的方法单例模式:顾名思义就是只有一个实例,并且她自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。1. 饿汉式之静态变量写法//单例模式之饿汉式(静态变量式写法)/*优点:实例在类加载的时候就实例化了,避免了同步问题缺点:实例在类加载时实例化,可能没用到,就造成内存浪费*/class Singleton{ pr...
2020-04-25 14:49:56
122
原创 关于集合Map
一、Map中的put方法1. map的数据结构首先要知道map的一个数据结构,在jdk1.7以前,map的数据结构是 数组+链表 但在jdk1.8,map的数据结构就变成了 数组+链表+红黑树 ,本身是数组,但由于hash算法有hash冲突(hash算法会返回一个int型的数据,当返回的数据相同时,就叫hash冲突),所以加入了链表,但随着hash冲突的增加,链表越来越长,查找起来也不方便,所...
2020-04-22 21:17:30
129
原创 关于线程
一、进程和线程进程是一个程序的运行状态和资源占用的描述。线程:一个进程包含多个线程,每个线程都有特定的子任务完成。二、线程的状态1. 创建状态:线程被创建出来未调用start方法,此时的线程就处于创建状态。2. 就绪状态:线程调用了start方法,线程进入就绪状态。3. 运行状态:当cpu调度了处于就绪状态的线程,线程进入运行状态。4. 阻塞状态:当线程由于某种原因失去了对cpu的使...
2020-04-21 18:06:48
297
原创 关于Collection接口下的List集合和Set集合
一、List集合(有序,元素可重复)List接口下有以下实现类ArrayListLinkedlistVector线程不安全,效率高线程不安全,效率高线程安全,效率低底层实现是数组,所以增删慢,查改快底层实现是链表,所以增删快,查改慢底层实现是数组,所以增删慢,查改快二、Set集合Set接口有以下实现类hashSet:无序,元素唯一,底层实现是Has...
2020-04-19 20:32:06
247
原创 Java的基本数据类型
一、整数类型从大到小数据类型longintshortbyte字节数8421占位数6432168数据范围-263~263-1-231~231-1-32768~32767-128~127包装类LongIntegerShortByte二、字符型char,占两个字节,占位数16,大小为0~65535,包装类为Chara...
2020-04-19 18:16:35
90
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人