自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring事务的隔离级别有哪些?

spring事务的隔离级别有哪些?spring中的事务隔离级别就是数据库的隔离级别,有以下几种:read uncommittedread committedrepeatable readserializable在进行配置的时候,如果数据库和spring代码中的隔离级别不同,那么以spring的配置为主。...

2021-11-19 14:11:59 1171

原创 spring框架中使用了哪些设计模式及应用场景

spring框架中使用了哪些设计模式及应用场景工厂模式,在各种BeanFactory以及ApplicationContext创建中都用到了模版模式,在各种BeanFactory以及ApplicationContext实现中也都用到了代理模式,Spring AOP 利用了 AspectJ AOP实现的! AspectJ AOP 的底层用了动态代理策略模式,加载资源文件的方式,使用了不同的方法,比如:ClassPathResourece,FileSystemResource,ServletContex

2021-11-18 08:45:17 1057

原创 Spring框架中的单例Bean是线程安全的么?

Spring框架中的单例Bean是线程安全的么?Spring中的Bean对象默认是单例的,框架并没有对bean进行多线程的封装处理如果Bean是有状态的,那么就需要开发人员自己来保证线程安全的保证,最简单的办法就是改变bean的作用域把singleton改成prototype,这样每次请求bean对象就相当于是创建新的对象来保证线程的安全有状态就是有数据存储的功能无状态就是不会存储数据,你想一下,我们的controller,service和dao本身并不是线程安全的,只是调用里面的方法,而且多线程调

2021-11-17 09:59:29 470

原创 JDK10新特性

JDK10新特性1.局部变量类型推断2.集合中新增copyof()3.G1垃圾回收器注意:Java9和Java10都不是LTS(Long-Term-Support)版本。这两个版本迭代周期短,⽽JDK11才是JDK8之后第⼀个LTS版本。JDK10⼀共定义了109个特性,其中包含12个JEP-JDK Enhancement Proposal(对于程序员有价值的新特性只有⼀个),还有些新API和JVM规范以及JAVA语⾔规范上的改动官⽅⽂档:http://openjdk.java.net/projects

2021-11-16 22:07:54 616

原创 spring支持的bean作用域有哪些?

spring支持的bean作用域有哪些?singleton使用该属性定义Bean时,IOC容器仅创建一个Bean实例,IOC容器每次返回的是同一个Bean实例。prototype使用该属性定义Bean时,IOC容器可以创建多个Bean实例,每次返回的都是一个新的实例。request该属性仅对HTTP请求产生作用,使用该属性定义Bean时,每次HTTP请求都会创建一个新的Bean,适用于WebApplicationContext环境。session该属性仅用于HTTP Session,同一个

2021-11-16 09:29:34 303

原创 BeanFactory和ApplicationContext有什么 区别

BeanFactory和ApplicationContext有什么区别相同:Spring提供了两种不同的IOC 容器,一个是BeanFactory,另外一个是ApplicationContext,它们都是Java interface,ApplicationContext继承于BeanFactory(ApplicationContext继承ListableBeanFactory。它们都可以用来配置XML属性,也支持属性的自动注入。而ListableBeanFactory继承BeanFactory),

2021-11-15 23:10:55 167

原创 说说你对Aop的理解?

说说你对Aop的理解?AOP全称叫做 Aspect Oriented Programming 面向切面编程。它是为解耦而生的,解耦是程序员编码开发过程中一直追求的境界,AOP在业务类的隔离上,绝对是做到了解耦,在这里面有几个核心的概念:切面(Aspect): 指关注点模块化,这个关注点可能会横切多个对象。事务管理是企业级Java应用中有关横切关注点的例子。 在Spring AOP中,切面可以使用通用类基于模式的方式(schemabasedapproach)或者在普通类中以 @Aspect 注解(@A

2021-11-12 14:21:03 694

原创 Spring是如何简化开发的?

Spring是如何简化开发的?基于POJO的轻量级和最小侵入性编程通过依赖注入和面向接口实现松耦合基于切面和惯例进行声明式编程通过切面和模板减少样板式代码

2021-11-11 10:14:12 715

原创 说一下使用spring的优势?

说一下使用spring的优势?Spring通过DI、AOP和消除样板式代码来简化企业级Java开发Spring框架之外还存在一个构建在核心框架之上的庞大生态圈,它将Spring扩展到不同的领域,如Web服务、REST、移动开发以及NoSQL低侵入式设计,代码的污染极低独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦Spring的AOP支持允许将一些通用任务如

2021-11-10 12:41:33 573

原创 如何实现一个IOC容器?

如何实现一个IOC容器?IOC(Inversion of Control),意思是控制反转,不是什么技术,而是一种设计思想,IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。在传统的程序设计中,我们直接在对象内部通过new进行对象创建,是程序主动去创建依赖对象,而IOC是有专门的容器来进行对象的创建,即IOC容器来控制对象的创建。在传统的应用程序中,我们是在对象中主动控制去直接获取依赖对象,这个是正转,反转是由容器来帮忙创建及注入依赖对象,在这个过程过程中,由容器帮我们查找

2021-11-09 07:34:02 411

原创 JDK8新特性

JDK8新特性第⼀节:Lambda表达式1.1 使⽤lambda表达式1.2使⽤lambda表达式注意事项1.3函数式接⼝第⼆节:⽅法引⽤第三节:Stream API3.1 什么是Stream?3.2 如何使⽤Stream API3.2.1 Stream的创建⽅法3.2.2 Stream中间操作3.2.3 Stream 的终⽌操作3.2.4 并⾏操作第四节:新时间⽇期API4.1 本地化⽇期时间 API4.2 Instant、ZoneId4.3 时间矫正器 TemporalAdjuster4.4 DateT

2021-11-08 22:36:25 973

原创 什么是Redis?简述它的优缺点?

什么是Redis?简述它的优缺点?Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value 的最大限制是1GB,不像 memcached只能保存1MB的数据,因此Red

2021-11-08 08:56:19 310

原创 Vue基础4

这里写目录标题组件-局部组件组件-组件嵌套组件-组件通信的几种情况组件-父子组件传值-props属性组件-组件和模块的区别单页应用(简称SPA)单页应用 SPA-实现原理路由-js 实现路由路由-vue-router-文档组件-局部组件局部组件的实现在实例选项compoents中定义局部组件名字在组件名字相对应的对象中定义选项(template、data()、…)在实例视图中使用组件<!DOCTYPE html><html lang="en"><head

2021-10-24 20:21:45 134

原创 Netty

这里写目录标题1 概述2 为什么使用Netty1 概述Netty的官网:https://Netty.io/Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.Netty是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客

2021-10-21 11:25:28 158

原创 NIO网络编程

Java支持的网络编程模型的I/O模式: BIO、 NIO、AIO。文章目录1、BIO1.1 概念1.1.1 BIO概念1.1.2 工作原理1.2 案例1、BIO关于BIO有同学可能会说不知道,但是知道IO。其实你之前学过那些java.io包下面的输入流和输出流就是BIO中的文件IO部分。例如InputStream、OutputStream。还有一部分就是网络IO,大家学过的在java.net包下面的提供了部分网络API,例如Socket, ServerSocket。1.1 概念1.1.1 B.

2021-10-20 00:36:36 93

原创 Mybatis课堂笔记

这里写目录标题1、Mybatis概述1.1 Mybatis概念1.2 JDBC编程1.3 Mybatis解决的问题2、Mybatis入门案例2.1 创建数据库和表2.2 创建maven项目,添加Mybatis的jar依赖2.3 编写Mybatis的配置文件2.4 编写实体类2.5 编写ORM映射文件2.5.1 XML映射文件必须与实体类在同一个包下面2.5.2 XML映射文件名称必须是实体类名称一致2.6 将映射文件注册到mybatis的配置文件中2.7 配置映射文件的扫描位置2.8 使用Mybatis框架

2021-10-18 23:34:30 1120

原创 SpringMVC课堂笔记

这里写目录标题1、SpringMVC概述1.1 SpringMVC概念1.2 SpringMVC原理1.3 SpringMVC优势2、MVC模式回顾3、入门程序3.1 创建maven项目3.2 pom.xml文件添加依赖和插件3.3 创建Spring和SpringMVC的配置文件3.3.1 创建Spring配置文件applicationContext.xml文件3.3.2 创建SpringMVC的配置文件springmvc.xml3.4 在web.xml中进行Spring和SpringMVC配置3.5 创建

2021-10-17 21:50:23 357

原创 Spring

这里写目录标题1. Spring概述1.1 什么是框架?1.2 Spring是什么1.3 Spring的优势1.4 Spring的体系结构1. Spring概述1.1 什么是框架?框架(Framework):框(指其约束性)架(指其支撑性),在软件设计中指为解决一个开放性问题而设计的具有一定约束性的支撑结构。在此结构上可以根据具体问题扩展、安插更多的组成部分,从而更迅速和方便地构建完整的解决问题的方案。框架本身一般不完整到可以解决特定问题框架天生就是为扩展而设计的框架里面可以为后续扩展的组件提

2021-10-16 23:58:01 183

原创 Vue基础3

文章目录实例选项-计算属性-文档分析实例选项-计算属性-基本使用表格案例-用计算属性实现商品搜索在Vue中实现发送网络请求axios-介绍-及基本使用表格案例-axios-列表表格案例-axios-删除商品表格案例-axios-添加商品表格案例-axios-搜索功能-分析实例选项-watch-基本使用表格案例-axios-搜索功能-实现组件-组件体验组件-组件特点组件-全局组件实现一个全局组件 完成 加减步进器实例选项-计算属性-文档分析场景:当表达式过于复杂的情况下 可以采用计算属性 对于任何复杂逻

2021-10-15 00:42:37 1187

原创 设计模式(Design Pattern,DP)

文章目录设计模式的产生背景1、 设计模式的六大设计原则1.1 开闭原则:Open Closed Principle,OCP1.1.1 开闭原则的定义1.1.2 开闭原则的作用1.2 单一职责原则:Single responsibility principle,SRP1.2 .2 单一职责原则的优点1.3 里氏替换原则:Liskov Substitution Principle,LSP1.3.1 里氏替换原则的定义1.3.2 里氏替换原则的作用设计模式的产生背景“设计模式”这个术语最初并不是出现在软件设计

2021-10-14 22:13:44 1698

原创 Vue基础2

文章目录系统指令-v-bind基本用法系统指令-v-bind绑定class(对象)系统指令-v-bind-绑定class(数组)系统指令-v-bind-绑定style(对象)系统指令-v-bind-绑定style(数组)系统指令-v-model-基础用法系统指令-v-model-原理及实现系统指令-v-model-绑定其他表单元素系统指令-v-cloak系统指令-v-once过滤器-过滤器的分析过滤器-过滤器的基本用法过滤器-传参数和串联使用表格案例-使用过滤器完成日期格式处理ref属性-获取DOM自定义.

2021-10-11 17:53:17 84

原创 Vue基础1

文章目录现在的前端现状了解什么是vuevue 能做什么vue 特点Vue-APIvue 三种安装方式HelloWorld步骤 :实例选项-el总结现在的前端现状开发人员大部分在用Vue开发Vue学习曲线相比其他框架简单很多了解什么是vue目前前端 必备 技能传统方式已经不能适应目前越来越 复杂 的开发需求用vue的开发方式会简单、高效 三大框架(vue、react、angular)vue 能做什么不用操作DOM单页面应用web项目(SinglePageApplica.

2021-10-11 00:18:12 110

原创 FastDFS && Swagger

FastDFS为什么使用FastDFS:在分布式集群环境下,文件上传至节点A,这时通过负载均衡算法,访问到节点B,则不能访问到文件,这时 会出现有时能访问有时不能访问的问题同时要考虑为文件做冗余备份、负载均衡、线性扩容等功能,这些都是单节点文件上传所不具备的文章目录FastDFS一、FastDFS体系结构上传流程二、FastDFS安装2.文件上传微服务总结一、FastDFS体系结构FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问 (

2021-10-06 15:51:58 148

原创 Spring Cloud 学习笔记

在项目开发中随着业务越来越多,导致功能之间耦合性高、开发效率低、系统运行缓慢难以维护、不稳定。微服务 架构可以解决这些问题,而Spring Cloud是微服务架构最流行的实现,所以我们今天来学习Spring Cloud.

2021-09-07 10:49:51 759

原创 第七章 (JavaWEB)IntelliJ IDEA配置Tomcat

IntelliJ IDEA配置TomcatTomcat1.Tomcat下载与安装2.tomcat的目录IntelliJ IDEA配置Tomcat创建JavaWeb项目修改端口号tomcat如何管理项目Tomcat1.Tomcat下载与安装开源小型web服务器 ,完全免费,主要用于中小型web项目,只支持Servlet和JSP 等少量javaee规范(就是 JavaWeb编程接口)https://tomcat.apache.org/下载好之后,安装到任意目录安装步骤:下载Tomcat解压到

2021-03-09 20:23:34 340

原创 第六章 (数据库) 19道数据库进阶练习

这里写目录标题数据表介绍:1.学⽣表Student(SId,Sname,Sage,Ssex)SId 学⽣编号,Sname 学⽣姓名,Sage 出⽣年⽉,Ssex 学⽣性别2.课程表Course(CId,Cname,TId)CId 课程编号,Cname 课程名称,TId 教师编号3.教师表Teacher(TId,Tname)TId 教师编号,Tname 教师姓名4.成绩表SC(SId,CId,score)SId 学⽣编号,CId 课程编号,score 分数数据SQL

2021-03-02 22:39:07 735

原创 第六章 (数据库) 第3节 数据库高级

文章目录一、子查询与表连接(子查询的使用)⼦查询(嵌套sql)利⽤⼦查询进⾏过滤二、子查询与表连接 (作为计算字段使用子查询)三、表关系(什么是关系表)四、表关系(一对一关系与外键)五、表关系(一对多关系)六、表关系(多对多关系)七、表联结(表联结where与join的用法)八、表联结(联结查询中的自联结)九、表联结(外部联结left join 与right join)十、UNION联合查询一、子查询与表连接(子查询的使用)⼦查询(嵌套sql)SELECT语句是SQL的查询。迄今为⽌我们所看到的所有

2021-03-01 23:05:19 214

原创 第六章 (数据库)第2节 数据库基础

文章目录一、认识数据库1.什么是数据库2.数据库的特点及作用3.常见的数据库4.工具基本结构介绍5.认识一些基本常见命令二、win10系统安装mysql和图形工具三、Mac系统中安装MySQL数据库1.下载安装mysql2.启动mysql3.关闭mysql4.登录mysql四、MySQL的基本操作命令1.通过命令行连接MySQL2. 数据库操作3. 数据表操作4.数据操作 增删改查五、MySQL中的数据类型1.MySQL的数据类型六、MySQL中的类型约束和运算1.表的字段约束2.MySQL的运算符3.主键

2021-02-23 22:19:46 796

原创 在 Queue 中 poll()和 remove()有什么区别

相同点:都是返回第一个元素,并在队列中删除返回的对象。不同点:如果没有元素 poll()会返回 null,而 remove()会直接抛出 NoSuchElementException 异常。

2021-01-28 17:38:03 226

原创 Java HashSet的实现原理

讲述一下HashSet的实现原理HashSet的实现原理总结如下:是基于HashMap实现的,默认构造函数是构建一个初始容量为16,负载因子为0.75 的HashMap。封装了一个 HashMap 对象来存储所有的集合元素,所有放入 HashSet 中的集合元素实际上由 HashMap 的 key 来保存,而 HashMap 的 value 则存储了一个 PRESENT,它是一个静态的 Object 对象。当我们试图把某个类的对象当成 HashMap的 key,或试图将这个类的对象放入 HashSe

2021-01-27 16:42:56 322

原创 JAVA面试题每日一练

1.讲述一下GC:参考答案:JAVA GC(Garbage Collection,垃圾回收)机制是区别C++的一个重要特征,C++需要开发者自己实现垃圾回收的逻辑,而JAVA开发者则只需要专注于业务开发,因为垃圾回收这件繁琐的事情JVM已经为我们代劳。根据JVM规范,JVM把内存划分成了如下几个区域:方法区(Method Area)堆区(Heap)虚拟机栈(VM Stack)本地方法栈(Native Method Stack)程序计数器(Program Counter Register),其

2021-01-25 19:46:40 512 1

原创 第四章 (JAVA核心类库) 第8节 XML与JSON

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录XML简介为什么学习XML?XML文件XML语法格式语法进阶CDATA (了解)Java解析XML 掌握面试题DOM4J解析XML (掌握)DOM4J - XPATH解析XMLXML简介可扩展标记语言(eXtensible Markup Language)。特性:1.xml具有平台无关性, 是一门独立的标记语言2.xml具有自我描述性为什么学习XML?网络数据传输数据存储配置文件XML文件.XM

2021-01-25 10:28:39 97

原创 第四章 (JAVA核心内库) 第6节 网络编程

文章目录一、网络常识二、网络编程程序的分类:三、TCP协议 - OSI网络模型四、三次握手 和 四次挥手 (熟悉)五、TCP 协议 的 C/S程序六、ServerSocket常用构造方法:常用方法:七、Socket构造方法:常用方法:八、案例 echo程序九、UDP 协议(数据报) 程序(了解)十、InetAddress 描述IP地址的类十一、URL 类 (统一资源定位符)(网址) 了解一、网络常识示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。什么是计.

2021-01-24 09:18:37 121

原创 第四章(JAVA核心类库) 第5节 多线程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、线程与进程1.进程2.线程3.线程调度分时调度抢占式调度二、同步与异步&并发与并行1.同步与异步2.并发与并行三、继承Thread四、实现Runnable五、Thread类六、设置和获取线程名称七、线程休眠sleep八、线程阻塞九、线程的中断十、守护线程十一、线程安全问题1.线程安全1-同步代码块2.线程安全2-同步方法3.线程安全3-显式锁Lock十二、公平锁与非公平锁十三、线程死锁十四、生产者与消费者十五、线程的

2021-01-23 23:47:59 433

原创 无法导入lang3的包可以试试添加依赖

无法导入lang3的包有可能是相关的依赖没有添加,可以尝试将下面的依赖贴近pom.xml的中:<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version></dependency>...

2020-12-22 09:46:18 2110

原创 导入项目右侧工具栏没有Maven怎么办

1、点击右上角搜索图标:2、在弹出的窗口输入Maven检索,选择Add Maven Projects。3、选择pom文件,选择ok。4、Maven就出现了:

2020-12-18 21:45:54 1400 3

原创 如何复制别人的代码写自己的项目

如何复制别人的代码写自己的项目一键替换:选中一个名字,比如good,按ctrl+shift+alt+j会选中当前页中所有的good,输入自己要替换的。第一步:建立数据库。第二步:模仿之前的sys模块建立自己的模块,如good,模块下面建立dao 、service、controller、entity、service下面建立impl。第三步:entity下面写对应数据库的实体类(注意在类上添加@Data注解);第四步:1、dao包中建立对应的xxxDao,注意xxxdao上添加注解@Mapp

2020-12-18 21:37:20 2688 1

空空如也

空空如也

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

TA关注的人

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