2020
10-01
10-01
springboot中@Async默认线程池导致OOM问题
前言:1.最近项目上在测试人员压测过程中发现了OOM问题,项目使用springboot搭建项目工程,通过查看日志中包含信息:unabletocreatenewnativethread内存溢出的三种类型:1.第一种OutOfMemoryError:PermGenspace,发生这种问题的原意是程序中使用了大量的jar或class2.第二种OutOfMemoryError:Javaheapspace,发生这种问题的原因是java虚拟机创建的对象太多3.第三种OutOfMemoryError:unabletocreatenewnativethrea...
继续阅读 >
今天遇到了ftl整合springboot出现的问题@ControllerpublicclassIndexController{@RequestMapping("hello")publicStringindex(){System.out.println("aaa");return"index";}}在浏览器输入localhost:8080/hello控制台也打印了aaa,index.ftl也写的没有问题。就是出现了这个问题。解决办法:查看源码,原来默认的是.ftlh结尾的,当然就会出现上面的错误。修改办法,在application.properties配置文件中添加如下...
1.前言在实际开发过程中,每次修改代码就得将项目重启,重新部署,对于一些大型应用来说,重启时间需要花费大量的时间成本。对于一个后端开发者来说,重启过程确实很难受啊。在Java开发领域,热部署一直是一个难以解决的问题,目前的Java虚拟机只能实现方法体的修改热部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。下面我=我们就看看对于简单的类修改的热部署怎么实现。2.原理深层原理是使...
一、项目功能概述电商秒杀需要完成的3个功能:1.展示一个商品列表页面,我们可以从中看到可秒杀的商品列表2.点击进入商品详情页,获取该商品的详细信息3.秒杀时间开始后,点击进入下单确认页面,并支付成功二、基于SpringBoot进行项目环境搭建步骤1:创建一个maven工程,使用quickStart骨架。步骤2:在pom.xml导入SpringBoot相关依赖。<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/...
最近部门几位同事受了一些委屈相继离职,共事三年临别之际颇有不舍,待一切手续办妥帖,寒暄过后送他们出公司,几个老哥临别时冲我鬼魅一笑,我顿时心里一紧有种不好的预感,这事绝对没有这么简单。等我接手这几个大佬的项目后,应验了我的预感,此刻我居然有点后悔,为啥送别之时没揍他们一顿!哈哈哈~而这种打人的冲动,在我开始优化几位老哥的项目时候,变得越来越强烈。有个坑技术部每个月都会组织一下代码走查及优化,以前是...
一、考试系统简介新鲜出炉的一款SpringBoot+Vue的考试系统,支持多种题型:选择题、多选题、判断题、填空题、综合题以及数学公式。支持在线考试,教师在线批改试卷。二、项目架构后端技术栈SpringBoot:SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的创建、运行、调试、部署等。Mybatis:一个持久层的框架,与数据库进行交互,将数据持久化到关系型数据库中Shiro:一个功能强大且易于使用的Java...
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法、参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger让部署管理和使用功能强大的API从未如此简单。引入maven依赖<!--https://mvnrepository.com/artifact/io.springfox/springfox-swagger2--><dependency><groupId>io.springfo...
springboot项目默认是不允许直接访问templates下的文件的,是受保护的。如果要访问templates下的文件,推荐使用thymeleaf。注:使用thymeleaf这一点要牢牢记住!如何使用:1、pom依赖<!--thymeleaf模板依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>2、配置文件#模板热部署、禁用thymeleaf缓存spring.thymeleaf.cac...
在项目中经常使用maven来管理项目,但是有时候对于maven的细节还是了解的不是很清楚,因此今天复习下。maven项目首先开始建立一个最简单的maven项目,其配置如下图:可以看到最上面一行是xml的文件描述符,然后再是project,在这里引入xsd文件。XSD(XMLSchemasDefinition)XMLSchema,描述了xml文档的结构,用于判断其是否符合xml的格式要求然后下面就是groupId,通常是公司的域名,artifactId通常指的是项目名...