自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 DAO层、Service层、Controller层和View层

1、DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。2、Service层:Service层主要负责业务模块的逻辑应用设计。同样是首先设计接口,再设计其实现的类,接着再Spring的配置文件中配置其

2021-03-10 23:08:31 232

原创 在linux和windows之间传输文件

本文介绍一种可以在linux和windows之间传输文件很方便的一个辅助程序首先是下载该程序: 记得要在网络连接的情况下,在命令行输入 yum install lrzsz 记的特别注意,在linux下安装要切换到root,管理员模式哦,我这里使用的是sudo来临时切换到root命令,需要设置,如果没有设置过的同学可以先, su root //通过该命令切换到root下。 然后回车。下载安装。 然后等待安装完毕即可 yum yum能够从指定的服务器中自动下载安装包并且进行安装,

2021-02-20 22:42:15 291

原创 Spring Boot框架model层、dao层、service层、controller层分析

文章目录 model层dao层service层controller层 model层 model层即数据库实体层,也被称为entity层,pojo层。一般数据库一张表对应一个实体类,类属性同表字段一一对应。 dao层 dao层即数据持久层,也被称为mapper层。d...

2021-02-19 22:46:04 1170

原创 基于JWT的Token登录认证

一、JWT简介 JSON Web Token ,是目前最流行的跨域认证解决方案 session登录认证方案:用户从客户端传递用户名,密码等信息,服务端认证后将信息存储 到session中,将session_id放到cookie中 以后访问其他页面,自动从cookie中取出ses...

2021-02-12 20:54:00 519

原创 微服务和分布式的区别

1.分布式将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。区别分布式的方式是根据不同机器不同业务。上面:service A、B、C、D 分别是业务组件,通过API Geteway进行业务访问。注:分布式需要做好事务管理。2.微服务架构微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是...

2021-02-12 20:51:59 278 3

转载 b+树图文详解

      转载自:伯乐专栏作者/玻璃猫,微信公众号 - 梦见 漫画:什么是b+树 这一次我们来介绍 B+ 树。 一个m阶的B树具有如下几个特征: 1.根结点至少有两个子女。 2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m 3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m 4...

2021-02-12 20:48:42 438

原创 线程的常用方法介绍

start()与run()       start() 启动线程并执行相应的run()方法       run() 子线程要执行的代码放入run()方法 我们会发现,调用start()方法才是 启动一个新的线程。调用run()方法只是主线程调用了一个类的一个普通方法。 getName()和setName()  getName...

2021-02-12 20:45:52 196

原创 jvm中的常量池

首先放上一张图片: 首先通过上图明白,java的runtime data area中分为栈,本地方法栈,程序计数器,堆,方法区 所以说堆内存和方法区不是在一起的,网上很多博客这一点都没有分清楚。详细分析可以看我的另一篇文章:堆内存,方发区,分清楚了吗? 其次,方法区和永久代的关系很像Java中接口和类的关系,类实现了接口,而永久代就是HotSpot虚拟机对虚拟机规范中方法区的一种实现方式。详细分析可以看我...

2021-02-12 20:44:37 115

原创 数组和链表的区别浅析

1.链表是什么 链表是一种上一个元素的引用指向下一个元素的存储结构,链表通过指针来连接元素与元素; 链表是线性表的一种,所谓的线性表包含顺序线性表和链表,顺序线性表是用数组实现的,在内存中有顺序排列,通过改变数组大小实现。而链表不是用顺序实现的,用指针实现,在内存中不连续。意思就是说,链表就是将一系列不连续的内存联系起来,将那种碎片内存进行合理的利用,解决空间的问题。 所以,链表允许插入和删除表上任意位置上的...

2021-02-12 20:43:01 1181

原创 java反射

反射是啥? 反射既然有“反”,就说明它是一个逆向的过程。那我们先来看看正向过程是怎样的。 设计一个类,类实例化成对象,对象调方法或属性去实现一些功能。 那反射是什么呢? 不知道大家是否还记得上图,这是刚接触java时学到的知识。我自己的理解是现在是知道1,反推到2,然后再通过2...

2021-02-08 22:16:06 193 2

原创 数据库索引的实现原理

数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。 为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。 上图展示了一种可能的索引方式。左边是数据表,一共有两列七条记录,最左边的是...

2021-02-08 22:13:47 501

原创 add()方法和Put()方法的差别

add()和put()方法都是集合框架中的添加元素的方法。 但是put()方法应用于map集合中,add()方法应用于collection集合中。 二者的主要区别是:返回值类型不一样。 add()放回布尔(boolean)类型。因为像Set集合中不允许添加重复的元素。当HashSet调用add()方法时,如果返回false,表示添加不成功。 put()的使用是:添加时出现相同的键,那么后添加的值会替换(覆盖)掉此键...

2021-02-08 22:10:36 2177

原创 float和double的主要区别

float : 单精度浮点数 double : 双精度浮点数 两者的主要区别如下: 01.在内存中占有的字节数不同 单精度浮点数在机内存占4个字节 双精度浮点数在机内存占8个字节 02.有效数字位数不同 单精度浮点数有效数字8位 双精度浮点数有效数字16位 03.数值取值范围 单精度浮点数的表示范围:-3.40E+38~3.40E+38 双精度浮点数的表示范围:-1.79E+308~-1.79E+308 04.在程序中处理速度不同 一般来说,CPU处理单精度浮点数的速度比处理双精度

2021-02-08 22:08:49 1829 1

原创 DAO层的描述

1.DAO 层? 介于业务逻辑层和数据库之间,进行数据的访问和操作。   2.DAO 层包括三个部分。 DAO 接口:定义了一系列操作数据库的方法。 DAO 实现类:实现了操作数据库的方法。(对于不同数据库,有不同的实现) DAO 工厂类:返回一个 DAO 实现类对象。   3.DAO 接口设计 ...

2021-02-08 22:05:05 315

原创 JAVA常量池、栈、堆的比较

JAVA中,有六个不同的地方可以存储数据: 1.寄存器:最快的存储区,位于不同于其他存储区的地方——处理器内部。寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。 2. 栈:存放基本类型的变量数据和对象的引用。位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内...

2021-02-08 22:02:20 323

原创 Spring的基本原理-容器和bean

  在Spring中,那些组成你应用程序的主体及由Spring Ioc容器所管理的对象,都被称之为bean。简单来讲,bean就是Spring容器的初始化、配置及管理的对象。除此之外,bean就与应用程序中的其他对象没有什么区别了。而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。  容器:  org.springframework.beans.factory.Be...

2021-02-08 21:59:32 156

原创 war包与jar包区别

jar包是java打的包,jar包中只是用java来写的项目打包来的,里面只有编译后的class字节码文件和一些部署文件。 jar包:通常是开发时要引用的通用类,打成包便于存放管理。简单来说,jar包就是别人已经写好的一些类, 然后对这些类进行打包。可以将这些jar包引入到你的项目中,可以直接使用这些jar包中的类和属性,这些jar包一般放在lib目录下。 而war包里面的东西就全了,包括写的代码编译成的class字节码文件,依赖的包,配置文件, 所有的网站页面,包括html,jsp等等。一个

2021-02-08 21:55:00 266

原创 有参构造函数和无参构造函数的区别

构造函数是面向对象编程思想所需求的,它的主要作用有以下两个:     1)  创建对象。任何一个对象创建时,都需要初始化才能使用,所以任何类想要创建实例对象就必须具有构造函数。     2)  对象初始化。构造函数可以对对象进行初始化,并且是给与之格式(参数列表)相符合的对象初始化,是具有一定针对性的初始化函数。   如果在类中我们不声明构造函数,JVM会帮我们 有参的因为你...

2021-02-08 21:51:58 2667 1

原创 java链表基本概念

    链表是一种根据元素节点逻辑关系排列起来的一种数据结构。利用链表可以保存多个数据,这一点类似于数组的概念,但是数组本身有一个缺点—— 数组的长度固定,不可改变,在长度固定的情况下首选的肯定是数组,但是在现实的开发之中往往要保存的内容长度是不确定的,那么此时就可以利用链表这样的结构来代替数组的使用。       链表是一种最为简单的数据结构,它的主要目的是依...

2021-02-08 21:50:21 376

原创 TCP协议与UDP协议分析

网络编程有三个要素,分别是IP地址、端口号和通信协议,那本文主要讲述的是TCP与UDP这两种通信协议,以及编程的实现。 首先,我们需要了解一下IP地址、端口号、通信协议的相关知识。 一、IP地址 网络中的计算机使用IP地址来进行唯一标识,IP地址有IPv4和IPv6两种类型。IPv4采用十进制或二进制表示形式,十进制是一种比较常用的表示形式,如192.168.1.131,IPv6采用十六进制表示形式,一般不常用。 如何查看IP地址相关信息: 在Windows系统下,打开cmd,输入命令ipcon.

2021-02-07 23:43:27 468

原创 mybatis 一级缓存和二级缓存区别与理解

一级缓存基于sqlSession默认开启,在操作数据库时需要构造SqlSession对象,在对象中有一个HashMap用于存储缓存数据。不同的SqlSession之间的缓存数据区域是互相不影响的。 一级缓存的作用域是SqlSession范围的,当在同一个sqlSession中执行两次相同的sql语句时,第一次执行完毕会将数据库中查询的数据写到缓存(内存), 第二次查询时会从缓存中获取数据,不再去底层数据库查询,从而提高查询效率。 需要注意的是,如果SqlSession执行了DML操作(增删改),并且.

2021-02-07 22:19:19 354

原创 JAVA重写和重载的区别

问: Java 重载与重写是什么?有什么区别? 答:   重载(Overload)是让类以统一的方式处理不同类型数据的一种手段,实质表现就是多个具有不同的参数个数或者类型的同名函数(返回值类型可随意,不能以返回类型作为重载函数的区分标准)同时存在于同一个类中,是一个类中多态性的一种表现(调用方法时通过传递不同参数个数和参数类型来决定具体使用哪个方法的多态性)。 图1. Android类中的一个重载例子 重写(Override)是父类与子类之间的多态性,实质是对父类的函数进行重新定义,如果在

2021-02-07 22:03:48 68

原创 使用IDEA连接MySQL数据库时,出现有关时区的问题

错误描述 使用IDEA连接MySQL数据库时(数据库服务器已经启动,并且输入了正确的用户名和密码),出现了如下的错误 解决办法 找到Advanced选项 → 找到名字为serverTimezone的一栏 → 输入UTC → 点击Apply保存 测试是否成功 娓娓道来 因为MySQL默认的时区是UTC时区,所以我们要将serverTimezone的值设为UTC,即告诉IDEA,MySQL服务器时区是UTC时区。 在网上看到的解决办法是这样的: 在mysql的命令模式下,输入:set glob

2021-02-07 21:56:34 588

原创 字符串常量池

作为最基础的引用数据类型,Java 设计者为 String 提供了字符串常量池以提高其性能,那么字符串常量池的具体原理是什么,我们带着以下三个问题,去理解字符串常量池: 字符串常量池的设计意图是什么? 字符串常量池在哪里? 如何操作字符串常量池? 字符串常量池的设计思想 a.字符串的分配,和其他的对象分配一样,耗费高昂的时间与空间代价,作为最基础的数据类型,大量频繁的创建字符串,极大程度地影响程序的性能 b.JVM为了提高性能和减少内存开销,在实例化字符串常量的时候进行了一些优化 为字符串开辟

2021-02-07 21:48:03 102

原创 在java中String的方法:toString()怎么用

toString public String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂。建议所有子类都重写此方法。 Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于...

2021-02-07 21:41:32 5532 2

原创 Java中static关键字的作用与用法

写在前面 这篇总结一下Java中static关键字的作用与用法。 参考文献如下: [java]static关键字的四种用法Java中static关键字的作用Java中的static关键字解析Java中static关键字的作用 下面直接分析static关键字的四种基本用法。 ...

2021-02-07 21:31:40 392

原创 有参构造方法的作用和无参构造方法的作用

Java无参构造方法的作用 class Person{ private String name ; // 表示人的姓名 private int age ; // 表示人的年龄 public void tell(){ // 定义说话的方法 System.out.println("姓名:" + this.getName() + ",年龄:" + this.getAge()) ; } public Person(){ System.out.println("#...

2021-02-07 21:29:58 1177 1

原创 java中构造方法的理解,super()与构造方法,无参,有参构造方法,this()与构造方法

一、为什么要引入构造方法。 当创建对象的时候需要对属性值初始化,构造方法,即对象创建时要执行的方法。 要求在实例化的同时,就指定好name,和age的值。这就要用到构造方法。又叫做构造器Constructor. 二、构造方法的定义格式 构造方法在new的时候自动执行。且只执行一次。new一次执行一次。 注意:每个类都有构造方法,即使不写也有,编译时javac会自动检查类是否有构造方法,如果有,就执行,...

2021-02-07 21:27:22 2024 1

原创 Java 方法中加void和不加void的 区别

只要记住void即无返回值就OK了,如果不用void,那么这个地方一定是被一个其它的数据类型所替代,比如下面用的是String,当然也可能是int或者Boolean等等,那么此时我们下面就要有一个return返回值。 package com.Thursday.one; public class Variable { public static void speaker(){ System.out.print...

2021-02-07 21:17:33 1133 1

原创 java中引用数据类型

Java中有俩种数据类型,其中主要有8中基本数据类型和引用数据类型,除了8中基本数据类型以外都是引用数据类型,8中基本数据类型分别是byte,short,int,long,char,boolean,float,double,具体如下:1、boolean:数据值只有true或false,适用于逻辑计算。2、char:char型(字符型)数据在内存中占用2个字节。char型数据用来表示通常意义上的字符...

2021-02-06 23:45:12 905 1

原创 基本数据类型与引用数据类型的区别

【基本数据类型】 基本数据类型:声明时直接在栈内存中开辟空间,并直接在当前内存中存放数据,赋值时传递的是变量中的值, 总的来说,基本数据类型传的是值。   【引用数据类型】  声明引用数据类型(数组或对象),会将实际的数据存放在堆内存中,同时,在栈内存中声明一个数组名或对象名, 存放着在堆内存中的首地址; 所以,当使用数组名赋值时,传递的是地址。总的来说,引用数据类型传的是地址。 ...

2021-02-06 23:19:36 144

空空如也

空空如也

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

TA关注的人

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