自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java二维码生成代码

java生成二维码源码

2022-07-13 16:02:45 528 1

原创 Activiti命令拦截器和设计模式

使用场景每个对流程的操作都可以看成一个命令command,Activiti会对每个命令进行拦截处理,Activiti的命令拦截用到了命令模式和责任链模式,命令模式的本质在于将命令进行封装,发出命令和执行命令分离;职责链模式只需要将请求放入职责链上,其处理细节和传递都不需要考虑;执行入口commandExecutor是命令执行的入口。在命令来临时,service会调用commandExecutor的execute方法,例如runtimeService。所以commandExecutor是命令执行的

2022-02-08 00:50:56 905

原创 Activex控件是什么?

很多朋友经常在使用浏览器浏览某些网页的时候,就会提示Activex控件被阻止,那么Activex控件到底是个什么?Activex控件被阻止会对电脑上网有影响吗?Activex控件是什么ActiveX控件,简单的说,它就是IE浏览器的插件,例如IE的Flash播放器就是一个ActiveX控件。ActiveX存在明显的安全问题,因为它其实也是一种程序,如果安装了某个ActiveX控件,那这个控件就有权限在电脑上做很多事情,例如偷偷的监控你的网页浏览记录,在后台安装恶意程序,时不时在电脑上产生弹窗,甚至窃取帐

2022-02-05 21:05:31 5966

原创 java面试题:谈谈 ThreadLocal 的用途

前言ThreadLocal 提供了线程的局部变量,每个线程在对局部变量进行操作时,不会与其他线程的局部变量发生冲突,从而实现线程的数据隔离。那么,在了解了 ThreadLocal 的基本原理后,请大家思考一个问题,ThreadLocal 到底能做些什么呢?用途ThreadLocal 能让我们持有一个只有当前线程可见的变量,这有什么用呢?管理 Connection在与数据库进行交互时,频繁创建和关闭 Connection 是非常耗费资源的,故我们需要创建数据库连接池。那问题来了,我们应该如何管理数据

2022-02-05 20:13:26 210

原创 Hdfs存储机制

HDFS开创性地设计出一套文件存储方式,即对文件分割后分别存放;HDFS将要存储的大文件进行分割,分割后存放在既定的存储块(Block)中,并通过预先设定的优化处理,模式对存储的数据进行预处理,从而解决了大文件储存与计算的需求;一个HDFS集群包括两大部分,即NameNode与DataNode。一般来说,一个集群中会有一个NameNode和多个DataNode共同工作;NameNode是集群的主服务器,主要是用于对HDFS中所有的文件及内容数据进行维护,并不断读取记录集群中DataNo..

2021-11-19 10:39:58 2064

原创 什么是NIO? NIO的原理及机制

NIO和IO到底有什么区别?有什么关系?首先说一下核心区别:NIO是以块的方式处理数据,而IO是以最基础的字节流的形式去写入和读出的。所以在效率上的话,肯定是NIO效率比IO效率会高出很多。NIO不再是和IO一样用OutputStream输出流和InputStream输入流的形式来进行数据处理的。而是基于这种流的形式,采用了通道和缓冲区的形式来进行数据处理的。还有一点就是NIO的通道是可以双向的,但是IO中的流只能是单向的。还有就是NIO的缓冲区(其实也就是一个字节数组)还可以进行分片,可以建立

2021-11-18 11:32:05 495

原创 Windows10安装Hadoop3.0.0

Hadoop下载:http://archive.apache.org/dist/hadoop/core/,我选择3.0.0版本下载。winutils下载:https://github.com/steveloughran/winutils,Hadoop不直接支持Windows,使用工具集进行支持。JDK1.8及其以上版本,自行安装,并配置JAVA_HOME环境变量1.解压hadoop压缩包2.使用winutils中的bin目录整个替换hadoop中的bin目录3.在hadoop-3.0.0下按目录创

2021-11-10 10:58:20 1812

原创 java8中函数式接口存在的意义

java是面向对象的,但是为了写起来方便,需要向一个方法传递一个方法,但是实际上并不能传递方法,而是传递了只有一个抽象方法的接口的实现类的对象,这样就做到类似传递方法了,其实Lambda表达式 就是一个对象。...

2021-11-09 10:24:05 201

原创 java面试题:Spring中Bean的生命周期

在传统的Java应用中,bean的生命周期很简单,使用Java关键字 new 进行Bean 的实例化,然后该Bean 就能够使用了。一旦bean不再被使用,则由Java自动进行垃圾回收。相比之下,Spring管理Bean的生命周期就复杂多了,正确理解Bean 的生命周期非常重要,因为Spring对Bean的管理可扩展性非常强,下面展示了一个Bean的构造过程Bean 的生命周期如上图所示,Bean 的生命周期还是比较复杂的,下面来对上图每一个步骤做文字描述:1.Spring启动,查找并加载需要被S

2021-11-08 15:00:54 847

原创 spring容器核心原理--bean的存储以及Bean的三级缓存

一.bean的存储通常我们说,spring容器帮我们管理bean,但是什么是bean?举个简单的例子,如果我们自己提供一个X.class类,那此时的X.class我们称之为class对象,在经过spring的一系列生命周期的处理之后,就会变成可以放到spring容器中的bean对象,我们称此时的对象是bean对象,所以,总结来说,经过一系列生命周期方法处理之后的class对象,就是bean对象;只有经过一系列后置处理器方法的处理,才是一个合格的bean对象。bean对象最终存储在spring容器中,

2021-11-08 11:37:08 4074

原创 @Bean 和 @Autowired注解

@Bean 和 @Autowired 做了两件完全不同的事情:@Bean 告诉 Spring:“这是这个类的一个实例,请保留它,并在我请求时将它还给我”。/** * redis配置 * * @author ruoyi */@Configuration@EnableCachingpublic class RedisConfig extends CachingConfigurerSupport{ @Bean @SuppressWarnings(value = { "unch

2021-11-06 17:54:15 648

原创 java面试题整理

1.JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 java 程序调试和分析的工具。简单来说:如果你需要运行 java 程序,只需安装 JRE 就可以了,如果你需要编写 ja

2021-10-28 15:05:04 851

原创 linux shell出现【bad:interpreter:text file busy】

1、百度方案可能是#!/bin/bash中感叹号缺少空格可能是别的进程正在使用该shell文本2、我的方案我尝试上述的两种解决方案都不能解决,网上也没有其他的……后来,我只是想一想,这个关键词【bad:interpreter】出现在前面,显然是主要原因原因:可能是window格式解决方案:dos2unix filename.sh成功解决![root@iZ2zeamoc9abjrdq08889zZ ~]# dos2unix b.shdos2unix: converting file b

2021-09-10 14:21:40 1422

原创 sql日期格式化

格式化前:格式化代码:DATE_FORMAT(time, '%Y-%m-%d %H:%i:%S') as time,格式化后:

2021-07-27 10:42:34 256

原创 Centos服务器下安装redis6

第一步:下载redis安装包cd /usrmkdir rediscd rediswget http://download.redis.io/releases/redis-4.0.6.tar.gz第二步:解压压缩包tar -zxvf redis-4.0.6.tar.gz第三步:yum安装gcc依赖yum install gcc第四步:跳转到redis解压目录下cd redis-4.0.6第五步:编译安装make MALLOC=libc第六步:将/usr/local/redi

2021-05-27 15:01:47 143

原创 elasticsearch学习笔记

一 ElasticSearchElasticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别(1PB=1024TB)的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。Elasticsearch,有全文检索的功能(倒排索引):把一句话分成各个词,查询的时候根据关键字找

2021-05-27 10:05:03 221

原创 var和let的区别

1、作用域不同var是函数作用域,let是块作用域。在函数中声明了var,整个函数内都是有效的,比如说在for循环内定义的一个var变量,实际上其在for循环以外也是可以访问的。而let由于是块作用域,所以如果在块作用域内定义的变量,比如说在for循环内,在其外面是不可被访问的,所以for循环推荐用let。2、let不能在定义之前访问该变量,但是var可以。let必须先声明,在使用。而var先使用后声明也行,只不过直接使用但没有定义的时候,其值是undefined。var有一个变量提升的过程,当

2021-03-03 01:04:54 13046 1

原创 Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource could

***************************APPLICATION FAILED TO START***************************Description:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable dr

2021-02-23 16:52:11 111

原创 Annotation @EnableCircuitBreaker found, but there are no implementations. Did you forget to include

报错如下:Annotation @EnableCircuitBreaker found, but there are no implementations. Did you forget to include a starter?java.lang.IllegalStateException: Annotation @EnableCircuitBreaker found, but there are no implementations. Did you forget to include a star

2021-02-23 16:50:38 7963 4

原创 需要权限验证的接口怎么测试

后端使用了SpringScurity框架,接口需要权限认证才能访问。下面以ApiPost和谷歌浏览器为例进行讲解:1)使用前端页面进行登录验证 验证通过后 ,F12查看后台数据,Network->login->Preview(Response),获取token。2)打开ApiPost,输入要测试的接口.点击“认证”,选择“Bearer auth认证”,输入token,点击“发送”,即可访问接口。...

2021-02-22 13:56:22 2588

原创 Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/Datatype

错误详情:org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java

2021-02-22 11:36:54 1801

原创 ‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序

执行npm run dev。报错如下:> ruoyi@3.4.0 dev C:\Users\DELL\IdeaProjects\RuoYi-Vue\ruoyi-ui> vue-cli-service serve'vue-cli-service' 不是内部或外部命令,也不是可运行的程序或批处理文件。npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! ruoyi@3.4.0 dev: `vue-cli-service serve`npm

2021-02-22 11:23:17 2265 1

原创 Pascal之父——Nicklaus Wirth——算法+数据结构=程序

凡是学过一点计算机知识的人大概都知道“数据结构+算法= 程序”这一著名公式。提出这一公式并以此作为其一本专著的书名的瑞士计算机科学家尼克劳斯·沃思(Niklaus Wirth)由于发明了多种影响深远的程序设计语言,并提出结构化程序设计这一革命性概念而获得了1984年的图灵奖。他是至今惟一获此殊荣的瑞士学者。沃思1934年2月15日生于瑞士北部离苏黎世不远的温特图尔(Winterthur),其父瓦尔特是一位地理学教授。沃思小时就喜欢动手动脑,组装飞机模型是他的最大爱好。中学毕业以后,沃思进入在欧洲甚至全世界

2021-02-22 01:07:26 6660

原创 红黑树与TreeMap详细解析

一、为什么要创建红黑树这种数据结构在上篇我们了解了AVL树,既然已经有了AVL这种平衡的二叉排序树,为什么还要有红黑树呢?AVL树通过定义我们知道要求树中每一个结点的左右子树高度差的绝对值不超过1,其是一颗严格的平衡树,这样构建出来的平衡二叉排序树具有很好的查找性能,但是为了保持其每个结点平衡因子绝对值不超过1的特性在插入或者删除的时候需要的维护成本是很大的,插入或者删除需要大量的平衡度计算,比如上一篇在AVL的插入的时候就需要不断回溯其父节点调整平衡因子的值,数据量小没什么问题,但是实际应用中往往数.

2021-02-21 22:03:25 482 1

原创 on与where的区别

on与where的区别on是先对表进行筛选再生成关联表,where是先生成关联表再对关联表进行筛选,on执行的优先级高于left join,而where的优先级低于left join当我们使用on关键字时,会先根据on后面的条件进行筛选,条件为真时返回该行,由于on的优先级高于left join,所以left join关键字会把左表中没有匹配的所有行也都返回,然后生成临时表返回where对与行的筛选是在left join之后的,也就是生成临时表之后才会对临时表进行筛选比如下面的例子:SELECT

2021-02-21 10:20:24 2326 1

原创 框架之Shiro

一、简单介绍一下Shiro框架Apache Shiro是java的一个安全框架。使用shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。Shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等。三个核心组件:Subject、SecurityManager、RealmsSubject:即“当前操作用户”。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程,后台账户(Deamon Accout)或其他类似事物

2021-02-10 12:14:53 113

原创 Oracle查询所有的表个数

select count(*) from user_tables;

2021-02-09 22:25:53 742

原创 oracle中如何用sql语句显示当前的数据库名称?

使用sys用户查询:select name from v$database;v$database视图是当前数据库实例的各种信息,其中包括Name --数据库名称created --创建日期RESETLOGS_CHANGE --重置日志的次数",RESETLOGS_TIME --打开重置日志的时间PRIOR_RESETLOGS_CHANGE# --在上一次重置日志时的SCN值PRIOR_RESETLOGS_TIME --上一次重置日志的时间等等...

2021-02-09 22:00:07 914

原创 使用left join实现多表联查

left join:返回包括左表中的所有的记录和右表连接字段相等的记录 select * from A left join B on A.id = B.id因为left join是以左表为主表,所以只要左表有数据,不管右表有没有数据。(如果右表没有数据则为null),查询结果都会存在。right join:返回包括右表中的所有的记录和左表连接字段相等的记录select * from A right join B on A.id = B.idinner join:等值连接,只返回两个表中连

2021-02-09 16:15:24 7757

原创 jsp、freemarker、velocity、thymeleaf模板引擎优缺点

概述在java领域,表现层技术主要有三种,(1)jsp;(2)freemarker;(3)velocity;(4)thymeleaf;1、jsp优点:1、功能强大,可以写java代码2、支持jsp标签(jsp tag)3、支持表达式语言(el)4、官方标准,用户群广,丰富的第三方jsp标签库5、性能良好。jsp编译成class文件执行,有很好的性能表现缺点:1).部署有难度JSP技术极大的增加了产品的复杂性.为了获得 系统的跨平台功能和产品伸缩能力,java系统开发了多种产品,

2021-02-07 10:18:34 2710

原创 慢Sql语句优化思路

思路1.开启慢查询日志,设置超过几秒为慢sql语句,抓取慢sq语句。l2.通过explain查看执行计划,对慢sql语句分析。3.创建索引并调整语句,再查看执行计划,对比优化结果。抓取慢sqlshow variables like ‘%quer%’;分析查询语句先看type:All全表扫描,没有用到索引再看key:Null没有使用索引列然后看rows:数值越多耗时越长最后看Extra:避免Using temporary和Using Filesortid:选择标识符,代表执行顺序

2021-02-05 02:30:36 1392

原创 MYSQL数据库索引9大拷问,快来看看你掌握了吗

一、索引是什么?索引是一种能提高数据库查询效率的数据结构。它可以比作一本字典的目录,可以帮你快速找到对应的记录。索引一般存储在磁盘的文件中,它是占用物理空间的。正所谓水能载舟,也能覆舟。适当的索引能提高查询效率,过多的索引会影响数据库表的插入和更新功能。二、索引有哪些类型数据结构维度B+树索引:所有数据存储在叶子节点,复杂度为O(logn),适合范围查询。哈希索引: 适合等值查询,检索效率高,一次到位。全文索引:MyISAM支持使用全文索引,一般在文本类型char,text,varch

2021-02-05 01:45:26 237

原创 聚集索引和辅助索引有什么区别?

B+树是为磁盘或其他直接存取辅助设备设计的一种平衡查找树。在B+树中,所有记录节点都是按照键值的大小顺序存放在同一层的叶子节点上,由各叶子节点指针进行连接。B+树 索引的本质就是B+树在数据库中的实现。B+索引在数据库中有一个特点是高扇出性,因此在数据库中,B+树的盖度一般都在 2~4层,这也就是说查找某一键值的行记录时最多只需要 2到4次IO, 这倒不错。因为当前一般的机械硬盘每秒至少可以做100次IO,2~4 次的IO意味查询时间只需 0.02 ~ 0.04 秒。数据库中的B+树索引可以分为:

2021-02-05 00:06:11 1074

原创 Mysql逻辑架构

1.MySQL整体逻辑架构mysql 数据库的逻辑架构如下图:第一层,即客户端层,所包含的服务并不是MySQL所独有的技术。它们都是服务于C/S程序或者是这些程序所需要的 :连接处理,身份验证,安全性等等。第二层SQL层(SQL Layer)。这是MySQL的核心部分。通常叫做 SQL Layer。在 MySQL数据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断, sql解析,行计划优化, query cache 的处理以及所有内置的函数(如日期,时间,数学运算,加密)等等。各个存

2021-02-04 23:28:35 190

原创 MySQL存储引擎

我们可以使用 show engines 命令来看看当前数据库可以支持的存储引擎有哪些。在这里我们发现默认支持了9种。还是比较多的,常用的是MyISAM,MEMORY和InnoDB。下面我们进行一个对比。不同的存储引擎都有各自的特点,以适应不同的需求,如表所示。为了做出选择,首先要考虑每一个存储引擎提供了哪些不同的功能。在这里我们列举了一些特点并作出了比较。下面我们来具体分析对比一下。1、MyISAM使用这个存储引擎,每个MyISAM在磁盘上存储成三个文件。(1)frm文件:存储表的定义数据

2021-02-04 20:39:56 63

原创 mysql 索引中的USING BTREE 的意义

DROP TABLE IF EXISTS `book_content0`;CREATE TABLE `book_content0` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `index_id` bigint(20) DEFAULT NULL COMMENT '目录ID', `content` mediumtext COMMENT '小说章节内容', PRIMARY KEY (`id`), UNIQUE KEY `k

2021-02-04 12:11:32 13465

原创 2021年前端校招面试题整理

前言前端校招面试题主要内容包括html,css,前端基础,前端核心,前端进阶,移动端开发,计算机基础,算法与数据结构,设计模式,项目等等。包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。第一章 HTML1.浏览器页面有哪三层构成,分别是什么,作用是什么?2.HTML5的优点与缺点?3.Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?4.HTML5有哪些新特性、移除了哪些元素?5.你做的网页

2021-02-03 15:19:04 2861 2

原创 java.lang.StringIndexOutOfBoundsException: String index out of range: -1

java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring(String.java:1967) at com.java2nb.novel.core.crawl.CrawlParser.parseBookIndexAndContent(CrawlParser.java:219) at com.java2nb.novel.service.impl.CrawlSe

2021-02-02 19:14:23 1553 1

原创 Lombok在spring中的特殊注解 @RequiredArgsConstructor

将Lombok之前先了解一下spring的注入方式一:目前使用最广泛的 @Autowired@Servicepublic class BaseInfoCompanyFareServiceImpl implements BaseInfoCompanyFareService { @Autowired private BaseInfoCompanyFareDao baseInfoCompanyFareDao; @Autowired private BaseInfoCompa

2021-02-02 17:58:07 7534 1

原创 利用Lombok编写优雅的Spring依赖注入代码,去掉繁人的@Autowired

大家平时使用spring依赖注入,都是怎么写的?@RestController@Controllerpublic class CommentController { @Autowired private CommentServiceImpl commentService; …………如果你用IDEA的话呢,它会提示你Field injection is not recommended就是spring 不推荐建使用这个方式。下面就是spring推荐的写法:若是注入

2021-02-02 17:52:02 291

空空如也

空空如也

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

TA关注的人

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