自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

F.R

学习、分享、交流、提升

  • 博客(17)
  • 问答 (5)
  • 收藏
  • 关注

原创 单点登录设计实现(一)

什么是单点登录?先来看看最初的应用架构:经典的单体架构,服务中包含了三个模块,部署在一个服务器中。用户与服务端建立会话的方式是利用cookeis和session(见第二章节cookies和session)。但是随着系统内的业务越来越多,单个服务器已经不能满足性能要求,并且业务之间的交互越来愈多,业务耦合性很高,维护起来很麻烦,于是就把按每个业务单独分开来,形成一个子系统,用户需要每个系统的业务,就去对应的子系统访问,如下图:用户需要对应的业务需求就去对应的子系统请求。当然这里的系统只..

2020-07-07 19:21:57 884

原创 两个冤家:==和equals

关于==由于数据类型分为基本类型(八种)和引用类型,所以下面分类来说:针对于基本数据类型,如果是数值类型,则只要在数值上相同,就返回true 针对于引用类型: 1)必须要求是同种类型的引用类型,即同属于一个类或父类,才能使用==进行对比,否则编译不通过;2)返回true的条件是,对比双方必须是同一个对象,也就是说变量引用的地址是相同的,是内存中的同一个对象。关于equals针对于基本数据类型,基本数据类型不能使用equals进行对比(没有此方法) 针对于引用类型来说...

2020-07-07 19:17:49 131

原创 小白教程,如何使用idea搭建工程

1.新建工程,File-new-Project2.选择maven3.填写项目包名和项目名选择Maven home directory,选择maven的安装路径选择maven的配置文件和repository:填写工程名及工程路径:点击finish后,选择在新窗口或者当前窗口打开创建的新工程:这里我们选择了新窗口,等待构建:构建完成后,目录下缺少java路径、source路径,和输出路径target,需要自...

2020-07-07 19:14:50 388

原创 servlet究竟是个啥

Java Web开发,servlet这个词大家一定不陌生,比如java自己提供的HttpServlet、springMVC中的dispatcherServlet等等,但是有没有人跟我一样,日常开发中直接上框架,管他什么sevlet是个啥,反正封装在框架,作为一个“资深”的渣渣开发,我只管用就好了,实现公司安排任务就行。(有多少人和我一样,可耻的举下手)。直到这一天,我打算正视他。可以说,只要涉及到java web开发,就离不开servlet,那servlet到底是个啥玩意,啥又是servlt容器,和ht

2020-07-07 19:08:45 406 1

原创 Quartz定时框架任务学习(一)

一、简介Quartz是一个作业调度的框架,可以让程序按照设定的日期和时间来执行。简而言之就是按照你设置的时间来定时执行任务。二、核心模块主要的核心模块有Job/JobDetial/Trigger/Calendar/Scheduler,下面来分别进行介绍:Job是一个接口,只存在一个方法execute,需要写出自己的Job相关类来实现此接口,而execute的方法就是需要执行的任务,例如下面的例子:JobDetialJobDetail表示一个具体的可执行的调度程序,Job是这个可执

2020-07-07 19:06:18 278

原创 Java传值和传引用总算搞明白了

所遇问题最近在做项目遇到了一个问题,具体场景是多线程下共享资源的问题,这里模拟一个具体场景:有一个启动线程的类,这个类中存放线程的共享变量,在这个类中新建多个线程,并将共享变量以构造器的参数引入,以此实现多线程间的数据共享。例如:有两个线程A和B,将list传给两个线程A和B:A线程负责打印list的大小,B线程负责在list中加入数据:运行程序后,如下:从结果可以看出,list变量是在连个线程共享的。但是我犯了一个基本的错误。。。...

2020-07-07 18:57:44 603

原创 Spring (三) IOC 多依赖处理及bean作用域

在上面的学习中,不止一次提到了,如果实现的依赖有多个,那么该怎么来指定需要的依赖。就比如国王依赖将军,将军有多个,该怎么来进行配置,来得到指定将军,这是本节要学习的。回到国王将军的例子,假设有两个将军,一个国王类,国王类依赖将军,如下:假设我这里要指定GenealA进行注入,配置如下:这里通过给GeneralA添加注解@Primary来告知spring在对国王类进行注入的时候在两个将军类中首选GeneralA类。这是基于自动装载的情况,如果使用XML的配置方式,则可以通过以下方...

2020-07-07 18:52:51 163

原创 vue中封装axios的两种方法

简述 使用源生的axios要按照它的格式进行参数的设置,相应的请求和接收,有时候需要对其进行封装,以此来更加适应于项目中的各种请求类型,使请求格式更加统一(如统一的配置参数,请求格式以及响应接收数据方式),使用更加方便,下面就介绍两种封装方法。一、简单封装:新建http.js,将axios请求封装到里面importaxiosfrom'axios'设置请求延时和请求根目录://延时设置axios.defaults.timeout=5000;//根请求路径设置...

2020-07-07 18:46:42 1046

原创 Vuex到底如何使用

一、简介1.1什么是Vuex官方的定义如下:Vuex是一个专为Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件状态,并以相应的规则保证状态以一种可预测的方式发生改变。官方的解释看的一团迷雾,简单来说就是把一堆可能很多地方(各组件)会用到的数据管理起来,可以对这些变量进行修改,需要的时候就去取。2.两个小例子:1) 在项目中很多地方都要进行请求,vue中一个页面的每个组件都可能会有请求,服务器每次请求都需要判断用户的权限、token等信息,这里就可以把用户的.

2020-07-07 18:44:47 416

原创 Java的传参和传引用

所遇问题最近在做项目遇到了一个问题,具体场景是多线程下共享资源的问题,这里模拟一个具体场景:有一个启动线程的类,这个类中存放线程的共享变量,在这个类中新建多个线程,并将共享变量以构造器的参数引入,以此实现多线程间的数据共享。例如:有两个线程A和B,将list传给两个线程A和B:A线程负责打印list的大小,B线程负责在list中加入数据:运行程序后,如下:...

2020-01-28 22:53:36 1065

原创 使用idea搭建maven工程

1.新建工程,File-new-Project2.选择maven3.填写项目包名和项目名选择Maven home directory,选择maven的安装路径选择maven的配置文件和repository:填写工程名及工程路径:点击finish后,选择在新窗口或者当前窗口打开创建的新工程:这里我们选择了新窗口,等待...

2020-01-28 22:28:34 113

原创 Mysql索引(三) 使用explain命令

五、使用explain命令 在查询的时候使用explain命令可以查看是否使用了索引,以便查看查询语句的性能和索引建立的是否合适。 先来设定两张表:学生基本信息表:student(id,name,sex,code,firstname,lastname)学生课程表:study(student_id,course,timme)给学生信息表加上索引:主键:id唯一索引...

2020-01-28 20:45:42 284

原创 Mysql索引(二) 索引类型及优化

三、Mysql的索引1. 聚集索引说完了索引的数据结构,来看一下我们经常用到的数据库mysql,是怎样使用个索引的。我们在建表时,通常会把表的某个字段设为主键,这个主键就是一个索引。通常如果建表的时候不设置主键,那么表中的数据是无序的一行行的排列在磁盘中的,如果给表加上了主键,那存储数据的二结构就变成了树状结构,整个表就变成了一个索引,成做聚集索引。所以一个表只能有一个主键,主键的作用就是...

2020-01-28 20:44:21 136

原创 Mysql索引(一) 索引作用及结构

一、什么是索引?在了解索引之前,先来看看索引的作用。举一个经常用到也很贴切的例子,就是书的目录,试想,如果书没有目录,让你去找其中一个章节的内容,你需要一页一页的翻,看看对应内容,才能找到;如果使用目录,你就能快速定位你想找的内容在第几页,然后直接去那一页寻找就可以了。这里书的目录就看可以看做一个索引,有同样的功效,返回到我们的数据库查询就是,如果你要从一万条用户信息数据中查询名叫张三...

2020-01-28 20:42:17 245

原创 JVM虚拟机学习(一)JVM的内存划分

1. 运行时数据区域在执行java程序的过程中,jvm划分了多个区域,每个区域各自实现着自己的作用,有些区域是在jvm执行的整个过程中存在,有些则伴随着代码属性或方法的创建而创建、销毁而销毁,总的来说,jvm的运行时区域可以分为以下几个区域:(本图为引用)下面就分别来介绍这几个区域的作用。1.1 程序计数器可以将它看做是当前线程所执行的字节码的指示器,提示了当前线程应...

2020-01-12 17:40:55 175

原创 Spring (二) IOC bean加载及bean依赖设置

上篇说到,spring就像一个第三方,为你注入你需要的类,而不用自己new,这里就引入了spring是如何发现我们编写的类并进行创建的,又是怎么来判断类与类之间的依赖关系的,并进行注入的。总的来说,spring提供了三种方式进行类装配:在XML文件中配置:类的定义和类之间的依赖关系通过xml文件描述,然后spring去加载这个xml文件,来创建bean和他们之间的依赖关系。在Java配置类中...

2020-01-12 16:55:52 682

原创 Spring (一) IOC依赖注入

要弄清楚SpringIOC的原理是什么,首先要弄清楚为什么需要他。我们对Spring IOC最多的描述就是控制反转、依赖倒置,所以这里就要先了解一下什么事控制反转和依赖倒置。我们知道,类与类之间存在调用关系,一个类会依赖另一个,调用另一个类的方法或属性去完成某一件事,这也是类的单一职责和模块化设计要求。简单举个例子来说,设想这样一个简单场景:一个国家要发生战争,国王要派遣将军去打仗,首先是将军...

2020-01-12 16:20:41 84

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除