自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot 毕业设计管理系统

1.说明由于时间问题,系统做的过于粗鄙,但是总体来说,架构是不错的,系统采用了SpringBoot作为web框架,集成了mybatis,分页使用的是mybatis-plus。Druid作为数据库连接池,使用了FTP作为文件服务器,实现了邮件的发送,登录使用了拦截器,当用户没有登录时,将会被拦截到登录页面。系统写了论文做了详细介绍。开发工具是idea.2.系统功能总体结构图3.论文目...

2020-10-18 21:50:53 25597 20

原创 单例模式的优雅解决

单例模式

2022-10-18 23:13:04 150

原创 线程池ExecutorService

线程池ExecutorService

2022-06-19 02:32:13 715

原创 springboot 使用ftl模板导出echarts图表到word

最近有个需求是导出一个报表页面,包括页面的echarts图表以及一些分析说明,导出的文件是word文件。记录下做法1.先定义好一个word静态模板模板中的动态数据用一个变量来替代,图片部分随便用一个图片,这样做的原因是先占位,因为word模板生成的ftl模板图片资源是有图片资源标签的,如果不先占位,到时候通过word生成的ftl模板就没有图片的标签具体做法如下1.做好静态模板:2.然后把静态模板中的动态数据用变量占位3.把用量变量占位后的word另存为xml文件...

2022-03-14 11:20:55 2676 1

转载 echarts获取图表的base64编码格式数据

function getFullCanvasDataURL(divId){ //将第一个画布作为基准。 var baseCanvas = $("#"+divId).find("canvas").first()[0]; if(!baseCanvas){ return false; }; var width = baseCanvas.width; var height = baseCanvas.height; var ctx = base.

2022-03-10 15:20:00 1266

原创 oracle数据类型为Blob的字段用java String类型接收的解决办法

2022-01-09 18:53:59 6197 1

转载 mysql 连续签到天数_求连续签到天数--用SQL

看来的一道题目,觉得挺有趣,收藏学习ヾ(◍°∇°◍)ノ゙苏克1900:腾讯面试官出的 2 道经典数据分析面试题​zhuanlan.zhihu.com题目:有一张用户签到表【sign】,标记每天用户是否签到(说明:该表包含所有用户所有工作日的出勤记录) ,包含三个字段:日期【fdate】,用户id【fuser_id】,用户当天是否签到【fis_sign_in:0否1是】问题1:计算截至20200905每个用户已经连续签到的天数(结果仅包含20200905签到的所有用户,计算其连续签到天数)思.

2021-05-11 01:52:37 1631

转载 事务汇总

Spring、SpringBoot、Redis、Mysql 事务管理机制汇总目录一、Spring事务管理之几种方式实现事务二、SpringBoot事务管理三、Redis的事务功能详解(一)相关命令1. MULTI2. EXEC3. DISCARD4. WATCH5. UNWATCH(二)使用方法(三)事务内部的错误(四)为什么Redis不支持回滚?(五)丢弃命令队列(六)通过CAS操作实现乐观锁(七)WATCH命令详解(八)Redis脚..

2021-04-11 00:27:40 130

转载 Shell $*和$@之间的区别

Shell $*和$@之间的区别$* 和 $@ 都表示传递给函数或脚本的所有参数,我们已在《Shell特殊变量》一节中进行了演示,本节重点说一下它们之间的区别。当 $* 和 $@ 不被双引号" "包围时,它们之间没有任何区别,都是将接收到的每个参数看做一份数据,彼此之间以空格来分隔。但是当它们被双引号" "包含时,就会有区别了:"∗ " 会 将 所 有 的 参 数 从 整 体 上 看 做 一 份 数 据 , 而 不 是 把 每 个 参 数 都 看 做 一 份 数 据 。 " *"会将所有.

2021-04-01 02:26:18 341

转载 HikariPool连接池配置

HikariPool连接池配置# Hikari will use the above plus the following to setup connection poolingspring.datasource.type=com.zaxxer.hikari.HikariDataSource#最小空闲连接,默认值10,小于0或大于maximum-pool-size,都会重置为maximum-pool-sizespring.datasource.hikari.minimum-idle=5#.

2021-04-01 01:11:48 3378

转载 idea在service窗口中显示多个服务

自己有几个服务都在run中运行,点来点去是在太麻烦了,为什么没有在service窗口中运行了?网上搜索了一下在项目目录下idea目录下的workspace.xml中新增 <component name="RunDashboard"> <option name="configurationTypes"> <set> <option value="SpringBootApplicationConfigurationTyp

2021-02-12 02:38:07 1008

原创 (二)elasticsearch初步探索

ES作为一个检索、存储、分析的引擎,其将所有的操作都以rest api的方式实现1._cat查询ES的信息http://192.168.254.128:9200/_cat/nodes 查看所有节点 http://192.168.254.128:9200/_cat/health 查看健康状况 http://192.168.254.128:9200/_cat/master 查看主节点 http://192.168.254.128:9200/_c.

2020-11-26 01:39:38 201

原创 (一)Docker 安装elasticsearch

本文以7.4.2版本为例1.下载镜像docker pull elasticsearch:7.4.2docker pull kibana:7.4.2

2020-11-03 01:21:19 422

原创 java注解校验参数

如何在后端中摆脱if进行参数校验?JSR303规范提供了一系列的参数校验注解帮我们解决常见的参数校验首先需要在我们的pom.xml文件中引入相关依赖<dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.1.0.Final</version>&lt

2020-09-29 08:23:33 2175

原创 docker安装redis

docker安装redis1.安装前先执行以下命令创建目录和文件[root@localhost mysql]# mkdir -p /docker_data/redis/conf[root@localhost mysql]# touch /docker_data/redis/conf/redis.conf2.创建实例docker run -p 6379:6379 --name redis -v /docker_data/redis/data:/data -v /docker_data/r

2020-08-12 04:21:21 77

原创 docker创建mysql

docker创建mysqlcentos安装docker的方法可以到https://docs.docker.com/engine/install/centos/参考1.操作系统本文中操作系统用的是centos72.centos中创建mysql实例2.1首先需要下载mysql8的镜像这里用的镜像为mysql的最新版本,如果需要别的版本的mysql,可以自行去docker hub中找到自己想要下载的mysql版本冒号后跟随的是版本好,我这里使用的是最新版本[root@lo

2020-08-12 03:36:26 136

原创 (四)Ubuntu中安装Docker

1.Docker支持的Ubuntu版本Ubuntu Trusty 14.04 (LTS) (64-bit) Ubuntu Precise 12.04 (LTS) (64-bit) Ubuntu Raring 13.04 and Saucy 13.10 (64 bit)2.安装前的检查 内核版本的检查 uname -r:显示操作系统的发行版号 ...

2019-06-10 01:25:31 337

原创 (三)docker相关容器介绍

docker依赖linux内核的两个重要特性1.Namespace-命名空间 很多编程语言都有命名空间的概念,命名空间可以认为是封装的概念,实现的是代码的隔离,但是在操作系统中,实现的是系统资源的隔离,系统资源包括进程、文件系统、网络等。实际上,linux内核实现命名空间的主要目的之一是为了实现轻量级虚拟化服务,即我们所说的容器。在同一个命名空间的进程可以感知彼此的变化,但是对...

2019-06-09 01:51:59 245

原创 (二)docker的基本组成

1.docker的组成1.docker client 客户端 docker是C/S架构的程序,docker客户端向docker服务器端(即docker的守护进程)发出请求,守护进程处理完所有的工作并返回结果,客户端对服务器端的访问即可以是本地也可以通过远程来访问 如图,我们通过客户端执行各种命令,客户端会将命令发送给守护进程,守护进程执行的结果还可以传回...

2019-06-05 01:53:53 270

原创 (一)docker简介

1.什么是docker docker是一种虚拟化方案,是操作系统级别的虚拟化,它只能运行在相同或相似内核的操作系统,依赖于linux的Namespace和Cgroups(control groups)。docker是一个能把应用程序自动部署到容器的开源引擎,docker使用go语言编写。docker的特别之处在于docker在虚拟化的容器执行环境中,增加了一个应用程序部署引擎,此...

2019-06-05 00:09:13 160

转载 Centos6.5安装doker升级内核解决rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm报404问题

在部署安装某些应用或者容器是需要比较高的内核版本,这时候我们就需要对现有系统的内核进行升级了。下面直接进入内核升级查看当前内核版本uname -r查看当前内核版本安装elrepo yum 源(提供内核更新、硬件驱动等软件源支持)导入elrepo keyrpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo....

2019-05-29 11:09:53 2666 1

原创 Aixcode代码自动补全插件的安装和使用

最近在技术公众号上看到大佬们说到一款代码自动补全的智能插件aixcode,官方是这样宣传的智能代码提示 她用强大的深度学习引擎,能给出更加精确的代码提示; 代码风格检查 她有代码风格智能检查能力,帮助开发者改善代码质量; 编程模式学习 她能自主学习开发者的编程模式,边用边学,越用越强; 为感受下是否真的有这样的魅力,遂体验一波1.首先在官方下载一个安装助手官方地...

2019-05-27 13:00:13 30732 11

转载 SpringBoot跳转页面详解+thymeleaf

https://blog.csdn.net/jintingbo/article/details/81633615

2019-03-20 16:29:46 723

转载 Spring Boot 应用中server.context-path的作用

定义: server.context-path= # Context path of the application. 应用的上下文路径,也可以称为项目路径,是构成url地址的一部分。在每个module的application.properties文件都可以配置server.context-path这个属性。开始使用spring boot的时候没有注意这个属性,其实默认可以不配置,直接在con...

2019-02-17 12:53:49 1421

转载 spring boot 不连接数据库启动

用spring boot 搭建的项目,在配置文件不连接数据库启动项目会报错。原因在于spring boot默认会加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration类,DataSourceAutoConfiguration类使用了@Configuration注解向spring注入了dataS...

2019-02-16 22:59:21 1884 1

转载 注解@Slf4j找不到log变量

如果不想每次都写private  final Logger logger = LoggerFactory.getLogger(XXX.class); 可以用注解@Slf4j一、在pom文件加入依赖&lt;dependency&gt;   &lt;groupId&gt;org.projectlombok&lt;/groupId&gt;   &lt;artifactId&gt;lombok&...

2019-02-16 21:43:01 3470

原创 Java使用poi导出excel文件包含多个sheet

最近一次小需求要求对一个页面的两个报表通过点击一个导出按钮导出到一个excel中,当然,是要求在一个excel中建立多个sheet来保存两个报表的数据,否则全部放置在一个报表中就没有意义了,记录一下,以免下次使用CV大法的使用讲讲详细的过程1.页面        如上图,点击导出明细按钮,要将查询条件查询出的两个表中的数据导出到一个excel,分成两个sheet2.js代码...

2019-01-08 10:08:18 6961

转载 Redis 分布式锁的正确实现方式( Java 版 )

前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保锁的...

2018-09-17 16:03:12 125

转载 Map(七):ConcurrentHashMap

我们上述所讲的Map都是非线程安全的,这意味着不应该在多个线程中对这些Map进行修改操作,轻则会产生数据不一致的问题,甚至还会因为并发插入元素而导致链表成环(插入会触发扩容,而扩容操作需要将原数组中的元素rehash到新数组,这时并发操作就有可能产生链表的循环引用从而成环),这样在查找时就会发生死循环,影响到整个应用程序。Collections.synchronizedMap(Map&lt;K...

2018-09-17 13:41:20 383

转载 Map(六):LinkedHashMap

LinkedHashMap继承HashMap并实现了Map接口,同时具有可预测的迭代顺序(按照插入顺序排序)。它与HashMap的不同之处在于,维护了一条贯穿其全部Entry的双向链表(因为额外维护了链表的关系,性能上要略差于HashMap,不过集合视图的遍历时间与元素数量成正比,而HashMap是与buckets数组的长度成正比的),可以认为它是散列表与链表的结合。 1 2...

2018-09-17 13:39:31 139

转载 Map(五):WeakHashMap

WeakHashMap是一个基于Map接口实现的散列表,实现细节与HashMap类似(都有负载因子、散列函数等等,但没有HashMap那么多优化手段),它的特殊之处在于每个key都是一个弱引用。首先我们要明白什么是弱引用,Java将引用分为四类(从JDK1.2开始),强度依次逐渐减弱:强引用: 就是平常使用的普通引用对象,例如Object obj = new Object(),这就是一个强...

2018-09-17 13:37:08 151

转载 Map(四):HashMap

光从名字上应该也能猜到,HashMap肯定是基于hash算法实现的,这种基于hash实现的map叫做散列表(hash table)。散列表中维护了一个数组,数组的每一个元素被称为一个桶(bucket),当你传入一个key = "a"进行查询时,散列表会先把key传入散列(hash)函数中进行寻址,得到的结果就是数组的下标,然后再通过这个下标访问数组即可得到相关联的值。我们都知道数组中数...

2018-09-17 13:32:38 233

转载 Map(三):TreeMap

TreeMap是基于红黑树(一种自平衡的二叉查找树)实现的一个保证有序性的Map,在继承关系结构图中可以得知TreeMap实现了NavigableMap接口,而该接口又继承了SortedMap接口,我们先来看看这两个接口定义了一些什么功能。SortedMap首先是SortedMap接口,实现该接口的实现类应当按照自然排序保证key的有序性,所谓自然排序即是根据key的compareTo()...

2018-09-17 13:30:09 347

转载 Map(二):AbstractMap

AbstractMap是一个抽象类,它是Map接口的一个骨架实现,最小化实现了此接口提供的抽象函数。在Java的Collection框架中基本都遵循了这一规定,骨架实现在接口与实现类之间构建了一层抽象,其目的是为了复用一些比较通用的函数以及方便扩展,例如List接口拥有骨架实现AbstractList、Set接口拥有骨架实现AbstractSet等。下面我们按照不同的操作类型来看看Abstra...

2018-09-17 13:26:45 122

转载 Map(一)

MapMap是一种用于快速查找的数据结构,它以键值对的形式存储数据,每一个键都是唯一的,且对应着一个值,如果想要查找Map中的数据,只需要传入一个键,Map会对键进行匹配并返回键所对应的值,可以说Map其实就是一个存放键值对的集合。Map被各种编程语言广泛使用,只不过在名称上可能会有些混淆,像Python中叫做字典(Dictionary),也有些语言称其为关联数组(Associative Ar...

2018-09-17 13:23:38 171

转载 volatile关键字

这些天巩固下基础知识,开始了解并发编程,发现对于volatile关键字的讲解有一篇非常不错的文章,mark一下,谢谢这位同行的讲解,真的很棒很有水平。一、Java内存模型想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的。Java内存模型规定了所有的变量都存储在主内存中。每条线程中还有自己的工作内存,线程的工作内存中保存了被该线程所使用到的变量(这些变...

2018-09-11 13:30:27 112

原创 Java(TM) Platform SE binary已停止工作

公司的线上项目报错,带有偶然性,有时候会出现这个问题,有时候又不会,系统日志如下,有大佬碰到过这个问题吗?能指教下解决方法吗错误应用程序名称: javaw.exe,版本: 8.0.1440.1,时间戳: 0x5972dd23错误模块名称: GWI_ComputerInfor.dll,版本: 3.9999.2017.1130,时间戳: 0x5a277c84异常代码: 0xc0000005...

2018-08-14 19:09:12 7732 2

转载 spring与springmvc中包扫描中父子容器的关系

https://blog.csdn.net/zlj1217/article/details/69928951点击打开链接

2018-04-23 01:28:57 118

原创 solr配置中文分析器以及配置业务字段

solr配置中文分析器以及配置业务字段solr默认是没有中文分析器的,需要自己手动配置,我们需要配置一个FieldType,在FieldType中制定中文分析器。solr中的字段也是必须是先定义,然后才能使用中文分析器的配置使用IK-Analyzer1.首先,将文件夹上传到服务器文件夹中的内容如下我们需要把分析器jar包添加到solr工程中的webapps/WEB_INF/lib下3.把IK-An...

2018-04-21 17:42:16 347

原创 solr服务器的搭建

solr服务器单机版的搭建这里先说明下solr服务器单机版的安装,solr的安装需要先安装jdk和tomcat,solr是个可以在web容器中独立运行的项目,所以必须要有tomcat服务器,tomcat服务器需要jdk环境,本人使用的jdk和tomcat以及solr为以下版本,将来需要使用solr集群将用到zookeeper1.jdk环境的安装jdk的安装在我的其中一篇博客已经有详细说到点击打开链...

2018-04-20 23:17:23 185

空空如也

空空如也

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

TA关注的人

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