
学习总结
拥有翅膀的猿
学无止境,超越自我
展开
-
Ajax和SpringBoot实现JSON的传输与接收
无论是前后端分离的项目还是不分离的项目,在进行数据交互的时候我们可以将数据封装成XML、JSON等格式进行数据的交互;使用开发项目中最为常见的方式将数据封装成JSON格式传输到后台,前端分别使用axios、Ajax进行JSON 数据的传送,后端使用Spring Boot进行接收,并通过几种常用的注解实现JSON数据的接收。 使用前我们必须要理解什么是JSON对象?什么是JSON字符串? //首先定义一个JSON对象 1、使用Javascript的方式定义 var jsonObj原创 2020-09-03 16:16:45 · 1642 阅读 · 0 评论 -
Redis基础知识回顾&相关指令
Redis是一个用C语言开发的高速缓存数据库,高级的key:value存储系统 缓存穿透:指查询一个一定不存在的数据,由于缓存是不命中是需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库中去查询,造成缓存穿透。解决方案:最简单粗暴的方法:如果一个查询返回的数据为空(不管是数据不存在,还是系统故障),我们就把这个空结果进行缓存,但它的过期时间会很短,最长不超过5分钟。Redis支持的数据类型:Strings(字符串) lists(字符串列表) hashes(原创 2020-09-03 11:17:31 · 209 阅读 · 0 评论 -
线性表、栈、队列、串
一:线性表概念:n个元素有限序列(a1,a2,a3....an)存在唯一的表头和表尾 存储: 顺序存储(地址连续的存储单元依次存储)可以随机的存取表中元素,但是插入和删除操作要移动大量的元素。 链式存储(用结点来存储数据,结点空间可以是连续的也可以是不连续的)因此存储数据的元素的同时必须存储数据元素之间的逻辑关系。 其插入和删除不需要移动元素,通过指针来操作。 但是增加了存储空间开销,不能随机访问任意一结点。 获取第i 个元素的位置公式: LOC(ai) = LOC(原创 2020-08-20 16:44:03 · 499 阅读 · 0 评论 -
Vue基础知识总结
网络通信:axios , 前端通信框架。因为Vue的边界明确,就是为了处理DOM,所以并不具备通信能力,此时就需要额外使用一个通信框架与服务器交互;也可以直接选用JQuery提供的Ajax进行通信。 跳转;vue-router 管理:vuex vue:一种渐进式JavaScript框架 ,所谓渐进式就是逐步实现新特性,如实现模块化开发、路由、状态管理等新特性。综合了Angular(模块化)和React(虚拟DOM)的优点 NPM:项目综合管理工具,类似于后端的Maven CSS预处理器 SASS原创 2020-08-04 20:57:19 · 333 阅读 · 0 评论 -
MyBatis-plus基础巩固
周末无聊,就用了一天时间巩固了一下MyBatis-plus,此文仅作为学习总结,如果对你有用的话,欢迎收藏。工作中学会如何使用各种各样的工具确实有利于提升我们的开发效率,但是在使用工具的同时,更应该去看看其底层的源码、实现。官网:https://mp.baomidou.com/guide/ 特性 无侵入 耗损小 强大的CRUD操作 支持Lambda形式调用 支持主键自动生成 支持ActiveRecord模式 支持自定义全局通用操作 内置代码生成器 内置分页插件原创 2020-07-27 20:29:51 · 270 阅读 · 0 评论 -
Mybatis基础巩固
陆陆续续用了4天晚上的时间,巩固了一遍Mybatis基础,该篇文章仅用于知识存档。数据持久化 持久化就是将程序的数据在持久状态和瞬时状态转化的过程 namespace中的包名要和mapper接口的包名一致! select、insert、delete、update(增删改需要提交事务) id:就是对应的namespace中的方法名; resultType:SQL语句执行的返回值;对象、list parameterType:参数的返回值 resultMap:对应mapper文件中对象原创 2020-07-25 11:09:57 · 149 阅读 · 0 评论 -
MySQL基础总结
mysql中的操作语句不区分大小写 创建数据库 CREATE DATABASE IF NOT EXISTS test01 删除数据库 CREATE DATABASE IF EXISTS test01 使用数据库 USE test02, 如果你的表名或者字段名是特殊字符 USE `user` 查看数据库 SHOW DATABASES ---查看所有数据库 数据库的列类型 数值 tinyint 十分小的数据 1个字节 smallint 较小的数据 .原创 2020-07-13 21:40:12 · 119 阅读 · 0 评论 -
SpringBoot+SpringAOP整合系统日志统计
最近做一个关于系统日志统计相关的功能,主要统计的是controller层的操作,比较简单,没有涉及统计service层和dao层的。系统架构:SpringBoot、Shiro、Mybatis、thymelaf问题分析:系统日志统计 其实已经很成熟了,网上随便一搜都能找到较为完善的解决思路及代码示例,我再写一遍,仅仅是为了对新学习的技术起到一个巩固、复盘的一个过程。首先:统计系统访问日志,必然少不了日志表,还应该设计其主要统计的字段有哪些:/** 主键ID */private Inte原创 2020-07-06 17:07:36 · 545 阅读 · 0 评论 -
弗曼学习法,你在用吗?
今天简单的谈论一下弗曼学习法,是被学术界认为最niubi的学习方法。理查德.弗曼(1918-1988)1965年获得诺贝尔物理学奖,美籍犹太人,也是最早提出 纳米 的人。之所以以他的名字命名改学习方法,想必不用说大家也都知道了,总之很厉害一个人就是了。 弗曼学习法的原理,可以用一句话来概括(透过现象看本质),比方说我们刚学习、接触一个知识点,按照正常的逻辑就是去学会怎么使用它就行了,而带来的弊端就是,当时,亦或者一段时间内我们能记得,但是随着时间加长,没有使用过这个知识点,我们便会很快就忘记了。因为我原创 2020-06-30 14:16:00 · 392 阅读 · 0 评论 -
RuoYi系统学习部分总结
RuoYi系统是一个不错的Git项目,适合构建各种后台管理系统,其中提供多样化的版本:前后端不分离的、前后端分离的、基于微服务的,还支持各种常用数据库的。不得不说,改项目已经做得较为完善了。如果小伙伴感兴趣,可以去看看。地址:http://ruoyi.vip/前后端不分离:https://gitee.com/y_project/RuoYi前后端分离:https://gitee.com/y_project/RuoYi-VueSpring Cloud:https://gitee.com/y_pr原创 2020-05-22 17:13:33 · 2024 阅读 · 1 评论 -
Linux系统安装
VMware虚拟机软件应用 Linux系统安装设置 远程登录管理工具介绍=======================================================================VMware是一个虚拟PC的软件,可以在现有操作系统上虚拟一个新的硬件环境,相当于模拟出一台新的PC,以此来实现在一台机器上真正同时运行两个独立的操作系统。 网站:http://www.vmware.com VMware主要特点:不需要分区或重新开机就能在同一台PC上使用两种以上的原创 2020-05-12 23:24:02 · 104 阅读 · 0 评论 -
RabbitMQ
RabbitMQ使用场景?抢购活动、削峰填谷,防止系统崩塌; 延迟信息处理,如10分钟后给下单未付款的用户发送邮件提醒; 解耦系统,对于新增功能可以单独写模块扩展,比如用户确认请假后,新增了给影虎返回积分的功能,这个时候不用在业务代码里添加新增积分的功能,只需要把新增积分的接口订阅确认评价的消息队列即可,后面再添加任何功能只需要订阅对应的消息队列即可。RabbitMQ有哪些重要角色?生产...原创 2020-03-17 15:16:20 · 171 阅读 · 0 评论 -
kafka
kafka可以脱离zookeeper单独使用吗?为什么?不能脱离zookeeper单独使用,因为kafka使用zookeeper管理和协调kafka的节点服务器kafka有几种数据保留的策略?按照过期时间保留 按照存储的消息大小保留什么情况会导致kafka运行变慢?CPU性能瓶颈 磁盘读写瓶颈 网络瓶颈使用Kafka集群需要注意什么?集群的数量不是越多越好,最好不要超过7个,因...原创 2020-03-17 15:14:26 · 263 阅读 · 0 评论 -
zookeeper
zookeeper是什么?zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是google chubby的开源实现,是Hadoop和hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。zookeeper都有那些功能?集群管理:监控节点存活状态、运行请求等; 主节点选举:主节点挂掉了之后可以从备用的节点开...原创 2020-03-17 15:13:52 · 84 阅读 · 0 评论 -
设计模式
单例模式:保证被创建一次,节省系统开销工厂模式:(简单工厂、抽象工厂):解耦代码观察者模式:定义了对象之间一对多的依赖,当一个对象改变是,它的所有的依赖着都会收到通知并自动更新外观模式:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层的接口,让子系统更容易使用模板方法模式:定义了一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新...原创 2020-03-17 15:10:21 · 97 阅读 · 0 评论 -
java常见面试题一(总结)
一、java的跨平台原理? 1、通过JVM来实现统一的接口,可以在不同的操作系统上按照统一的java语法格式进行编码二、java中有几种基本数据类型?分别占几个字节? 1、java中提供了四类八种数据类型 byte----1 short----2 int------4 long-----8...原创 2019-09-03 22:45:39 · 119 阅读 · 0 评论 -
java常见面试题(二)
一、final、finally、finalize的区别final定义的变量为常量,不能再次定义;final定义的类不能派生出新的子类,不能作为父类被继承;final定义的方法,只能使用,不能被重载;finally:用于异常处理中,最终处理的异常,如果try...catch没有声明finally,可以不用;finalize:是java中垃圾回收机制,调用finalize()方法;...原创 2019-09-07 20:51:17 · 103 阅读 · 0 评论 -
java常见面试题(三)
一、线程的生命周期新建(New)、就绪(Runnable)、运行(Runnint)、阻塞(Blocked)、死亡(Dead)新建(New):当创建一个新的实例(对象),此线程进入新建状态;ps:未启动 Theard t = new Theard(); 就绪(Runnable) 线程已经启动,正在等待分配给CPU时间片,等候CPU的资源;t.start();...原创 2019-09-08 21:23:51 · 95 阅读 · 0 评论 -
IDEA的常用快捷键(总结)
现在编程开发的工具多样化,在日常学习中使用java开发,大多使用IDEA或者Eclipse;不得不说IDEA的功能更加强大,其中包括代码补全、自动配置、自动保存,(本人最喜欢用的就是ALT+Enter,谁用谁知道)还有很多内置的插件也更加人性化,使得在开发中节省了不少时间,本人刚接触IDEA的时候也很不习惯,尤其是里面很多内置快捷键和Eclipse不一样,如果习惯了Eclipse开发突然转到I...原创 2019-09-08 21:37:28 · 174 阅读 · 0 评论 -
java常见面试题(四)
String属于基本数据类型吗? String不属于基本数据类型,属于对象 String str="1"与String str = new String("i")相同吗? 不一样,因为内存的分配方式不一样,String str=“1”的方式,java虚拟机将其分配到常量池当中;而String str = new String("i")被分配到堆内存中。 ...原创 2019-09-11 21:40:29 · 155 阅读 · 0 评论 -
java常见面试题(五)
并行和并发有什么区别?并行:多个处理器或多核处理器同时处理多个任务; 并发:多个任务在同一个CPU核上,按细分的时间片轮流执行,从逻辑上来看那些任务是同时执行的。线程和进程的区别?一个程序至少有一个进程,一个进程至少有个一线程,一个进程下也可以有多个线程来增加程序的执行速度。 守护线程是什么? 守护线程是运行在后台的一种特殊进程,它独立于控制终端并周期性的执行某种任务或等待处理某些...原创 2019-09-12 21:01:19 · 157 阅读 · 0 评论 -
Java面试题(六)
如何保证多线程的运行安全? 使用安全类:java.util.concurrent下的类 使用自动锁synchronized 使用手动锁LockLock lock = new Lock();lock.lock();try{ System.out.println("获得锁");}catch(Exception e){ }finally{ Syste...原创 2019-09-13 22:02:18 · 102 阅读 · 0 评论 -
Eclipse常用快捷键大全
1、CTRL+SHIFT+R:打开资源(可以打开工作区中的任何一个文件)2、CTRL+O:列出当前类的所有方法以及属性3、CTRL+E:快速转换编辑器4、ALT+SHIFT+R:重命名属性及方法5、SHIFT+ENTER:在当前行之后插入空白行 CTRL+SHIFT+ENTER:在当前行之前插入空白行6、ALTE+方向键:决定所选区域向上或向下移动7、CTRL+M:编辑器窗...原创 2019-07-28 20:57:04 · 281 阅读 · 0 评论