Java
Java
@小匠
永远相信美好的事情即将发生!
展开
-
CompletionService:批量执行异步任务(将CompletionService应用在实际业务当中,含CompletableFuture 方式)
submit和take。submit方法用于将任务提交给服务执行,而take方法则用于获取已完成的任务结果。这个接口通常与一起使用,但它提供了一种不同的方式来处理任务完成的通知和结果的收集。的一个常见实现是,它基于实现了接口。原创 2024-07-05 15:51:00 · 390 阅读 · 1 评论 -
使用docker-compose/docker部署RocketMQ5.x 单机部署+配置参数详解
Broker启动脚本中有一个自动计算最大堆内存和新生代内存的函数会导致在不同硬件环境下设置最大堆内存和新生代内存环境变量不被应用,,这里先提前copy一份容器内部启动脚本做挂载,如果想自定义内存可以自己调整。1、启动容器2、复制容器内启动脚本到挂载目录/usr/local/rocketmq/nameserver/bin3、修改runbroker.sh# 打开脚本文件找到调用calculate_heap_sizes函数的位置注释掉保存即可,拉到脚本最底部就能找到4、停止&删除容器。转载 2024-05-11 09:53:00 · 1542 阅读 · 0 评论 -
流式输出技术SSE:前后端实践
当使用ChatGPT时,模型的回复不是一次性生成整个回答的,而是逐字逐句地生成。这是因为语言模型需要在每个时间步骤预测下一个最合适的单词或字符。如果等待整个回复生成后再输出到网页,会导致用户长时间等待,极大降低用户体验。相反,逐字蹦出回复可以实现更快的交互响应。ChatGPT可以在输入消息后迅速开始生成回答的开头,并根据上下文逐渐细化回答。这种渐进式的呈现方式可以提供更流畅的对话体验,同时让用户知道模型正在工作,避免感觉像卡住了或没有响应。转载 2024-04-25 11:49:36 · 708 阅读 · 0 评论 -
如何简化多个 if 的判断结构
编程实践中,往往连续使用多个 if 进行判断,这种代码非常冗余,也不易读,本文讨论怎么简化它。转载 2024-03-23 09:37:04 · 213 阅读 · 0 评论 -
spring之级联属性赋值的两种方式
使用setter注入实体类:public class Emp { private Integer eid; private String ename; private Integer age; private Dept dept; public Dept getDept() { return dept; } @Override public String toString() { return原创 2020-10-19 15:01:52 · 779 阅读 · 0 评论 -
Spring5
XML方式bean管理spring中有两种类型bean,一种是普通bean,一种是工厂bean普通bean就是在配置文件中定义什么类型的,getBean的时候就是什么类型工厂bean是定义的什么类型,返回的不一定是配置文件中定义的类型:让类实现FactoryBean接口,并实现方法,在方法中定义要返回的bean类型public class FactoryBeanDemo implements FactoryBean { @Override public Object get原创 2020-10-21 21:46:56 · 129 阅读 · 1 评论 -
IOC操作bean管理--注入集合属性
实体类package com.feng.pojo;import java.util.Arrays;import java.util.List;import java.util.Map;import java.util.Set;public class Stu { //1 数组类型属性 private String[] courses; //2 list 集合类型属性 private List<String> list; //3 map 集合原创 2020-10-19 15:44:22 · 113 阅读 · 0 评论 -
(已解决)在拦截器中,无法获取service层和dao层的对象,导致空指针异常
解决方案:出现这个问题的原因是因为拦截器作用在属性自动注入开始之前,其运行时,内部属性还未开始注入,所以为空,找了很久 硬是没想到这里。。在当前拦截器中添加如下方法 private <T> T getBean(Class<T> clazz, HttpServletRequest request){ WebApplicationContext applicationContext = WebApplicationContextUtils.getRequi原创 2021-03-01 22:49:37 · 686 阅读 · 0 评论 -
springboot实现邮箱注册
配置#邮件发送配置spring.mail.default-encoding=UTF-8spring.mail.host=smtp.qq.comspring.mail.username=XXX@qq.com#邮箱授权码spring.mail.password=授权码spring.mail.properties.mail.smtp.auth=truespring.mail.properties.mail.smtp.starttls.enable=truespring.mail.properti原创 2021-02-25 16:12:36 · 2181 阅读 · 0 评论 -
springboot重点记载
1、yaml配置文件SpringBoot使用一个全局的配置文件,配置文件名称是固定的application.properties语法结构:key=valueapplication.yaml语法结构:key: 空格value配置文件的作用:修改spring自动配置的默认值。配置文件与配置类直接通过@ConfigurationProperties的属性prefix来进行绑定@ConfigurationProperties作用:将配置文件中配置的每一个属性的值,映射到这个组件转载 2020-10-29 12:47:15 · 218 阅读 · 0 评论 -
【Nd4j 运行异常解决方案】no jnind4jcpu in java.library.path
因为上面的依赖里面只有Windows环境的,不包含Linux和macos的。本地开发环境运行正常,但部署到服务器环境运行异常。原创 2023-05-17 16:04:16 · 680 阅读 · 0 评论 -
利用IDEA引入本地依赖
(5)-Dfile : 指定jar文件路径与文件名(同目录下只需文件名),用IDEA Maven工具时写相对路径,项目目录为根目录。3、在Maven pom文件中引入依赖,按照安装时候的信息填写。(1)-DgroupId:设置项目代码的包名(一般用组织名)(4)-Dpackaging : 什么类型的文件(jar包)1、选择IDEA中的Maven工具,点击箭头所指的图标。(2)-DartifactId:设置项目名或模块名。4、经过以上操作,打包后,也可以正常使用。(3)-Dversion :版本号。原创 2023-04-25 14:00:31 · 5037 阅读 · 0 评论 -
Mybatis-plus mysql json字段处理
Mybatis-plus mysql json字段处理转载 2022-06-17 17:06:54 · 978 阅读 · 0 评论 -
解决redis的key都变成了backup,redis所有缓存被清空(解决Docker容器时区不一致的问题)
1、查看linux系统时区和docker容器时区会发现主机和容器时区不一致解决方案1、利用Dockerfile创建镜像时。在Dockerfile中加入2、容器创建时。加入时区挂载选项:-v /etc/localtime:/etc/localtime。实例:3、容器已启动时。参考原文:https://www.cnblogs.com/zhi-leaf/p/10604574.html.........转载 2022-06-09 19:06:27 · 1872 阅读 · 0 评论 -
readis解决方案
make编译时报错redis编译报上面错误,一般是环境问题,执行下面操作可以解决1、安装gcc套装:yum install cppyum install binutilsyum install glibcyum install glibc-kernheadersyum install glibc-commonyum install glibc-develyum install gccyum install make2、升级gccyum -y install centos-relea原创 2020-12-11 19:52:43 · 309 阅读 · 0 评论 -
使用easyExcel文件上传报空指针踩空点
报空指针,一开始以为是Mybatisplus的问题,然后自己写的SQL也是报空指针,然后发现,easyExcel监听器必须要有一个有参构造方法,将service或者是dao传过来,然后进行sql操作,成功解决/** * 如果使用了spring,请使用这个构造方法。每次创建Listener的时候需要把spring管理的类传进来 * * @param demoDAO */ public DemoDataListener(DemoDAO demoDAO) {原创 2021-02-02 09:13:28 · 1208 阅读 · 1 评论 -
Mybatis-plus 出现 WHERE null=?
解决方案:这是因为mybatis-plus代码生成时,实体没加@TableId注解原创 2021-03-05 20:05:15 · 1135 阅读 · 1 评论 -
直连方式dubbo踩坑点
1、依赖由于dubbo已经是Apache维护,所以添加pom时,应该是<dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo</artifactId> <version>2.7.8</version></dependency>2、在dubbo启动的过程中报错误:java.lang.ClassNotFou原创 2021-02-05 15:03:59 · 427 阅读 · 2 评论 -
项目出现的问题及解决方案
1问题:前端子路由在发送异步请求时,请求路径中,莫名多了父路径的路径名:正常情况是api后面是请求路径,api反向代理后端请求的81端口解决方案在后端控制器中写上面端口后的路径,可以请求成功...原创 2021-03-05 23:10:37 · 1111 阅读 · 0 评论 -
@RequestBody和@RequestParam的使用场景
@RequestParam注解@RequestParam接收的参数是请求行URL的param 与 请求体中的param。RequestParam可以接受简单类型的属性,也可以接受对象类型。@RequestParam有三个配置参数:required 表示是否必须,默认为 true,必须。defaultValue 可设置请求参数的默认值。value 为接收url的参数名(相当于key值)。@RequestParam用来处理 Content-Type 为 application/x-www-for转载 2021-03-11 08:10:08 · 800 阅读 · 0 评论 -
前端发送请求相应格式,后端解析前端数据格式归纳
前端发送格式:{memberId: “1365531544990523393”, productId: 12}后端解析:将字符串转成Json对象 @PostMapping("delCart") public boolean delCart(@RequestBody String map) { JSONObject mapJson=JSONObject.parseObject(map); if(mapJson!=null) { l原创 2021-03-05 13:59:17 · 1338 阅读 · 1 评论 -
位运算:~(正/负)运算步骤
计算机中的整数是用补码存储的,最高位为符号位,C语言也遵从同样的规则。如果最高位为0则为正数,求值的时候,直接转为10进制即可。最高位如果为1代表为负数,求值的时候,需要先把二进制的值按位取反,然后加1得到负数绝对值(相反数)的二进制码,然后转为10进制,加上负号即可。原创 2020-07-04 17:22:14 · 5666 阅读 · 0 评论 -
SpringMVC环境配置(idea)
1、创建Maven项目2、配置web3、项目结构4、在pom.xml文件中添加依赖坐标<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.ap原创 2020-08-05 11:43:28 · 542 阅读 · 0 评论 -
idea自动生成api文档(Javadoc)
1. 第一步选中要生成api文档的项目、模块、类–>点击tools–>打开Generate javaDoc…2. 第二步设置路径和编码格式(-encoding utf-8 -charset utf-8)如果出现报错–Error running ‘Javadoc’: Cannot generate JavaDoc - JDK path is not specified or ...原创 2019-11-13 18:24:00 · 3968 阅读 · 0 评论 -
idea使用Maven控制jdk版本,避免构建出错
方法一:在pom.xml 文件中添加如下代码:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1<原创 2020-09-17 09:18:38 · 394 阅读 · 0 评论 -
Maven的安装与配置及在IDEA中的详细配置
第一部分:安装Maven及配置1、下载Maven,地址:http://maven.apache.org/download.cgi2、解压文件包(建议解压到C盘)3、配置环境变量,类似jdk环境配置A.创建MAVEN_HOME环境变量,指向maven的安装目录。B.并将%MAVEN_HOME%\bin追加到PATH路径中。C.调试是否安装成功,在cmd中输入 mvn -version...原创 2020-02-14 10:43:35 · 932 阅读 · 0 评论 -
Maven配置文件
存放jar包位置也就是本地仓库位置<localRepository>G:\Repository</localRepository>配置远程仓库地址 <mirror> <id>alimaven-central</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name&g原创 2020-12-22 09:02:35 · 201 阅读 · 0 评论 -
解决 IDEA 2020.2 reading pom.xml 卡死问题,亲测完美
1、试了网上很多人写的解决方案,都没用2、我自己的解决方案这样可以一次性配置,下次创建新的项目也是生效的这里默认是IDEA自带的路径,修改自己配置的路径创建完springboot项目后,删除以下文件夹重启IDEA,重新打开项目完美解决...原创 2020-10-11 23:58:39 · 5429 阅读 · 3 评论 -
Git核心知识点
常用的Linux命令1)、cd : 改变目录。2)、cd . . 回退到上一个目录,直接cd进入默认目录3)、pwd : 显示当前所在的目录路径。4)、ls(ll): 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。5)、touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。6)、rm: 删除一个文件, rm index.js 就会把index.js文件删除。7)、mkdir: 新建一个目录,就是新建一个文件原创 2022-04-04 23:53:00 · 272 阅读 · 0 评论 -
MybatisPlus的FieldStrategy
MybatisPlus的FieldStrategy更新策略# 2.x配置mybatis-plus: mapper-locations: - classpath*:mapper/**/*Mapper.xml typeAliasesPackage: com.test.assist.dao.domain global-config: id-type: 0 field-strategy: 2 db-column-underline: true configura原创 2022-04-04 23:49:16 · 1184 阅读 · 0 评论 -
实现自定义字段的几种方式
谈一谈自定义字段实现的几种方式我们经常会遇到项目中很多对表单进行自定义,比如说saas应用针对租户自定义表单字段名称,自定义列表名称。 还有更高级自定义,比如说自定义的模块,表单、字段、字段类型、流程等自定义。提供自定义也是一个系统扩展性的体现,自定义功能的强大自然能适应更多的用户场景。接下来我们就看看自定义的实现方案通常都有哪些方式。常见的自定义字段的实现方式分为三种由简到繁,扩展性、复杂性也是逐渐增强的,每个方式各有优劣解决的场景也有所不同,具体往下看。列式存储自定义字段(扩展字段 ext f转载 2022-04-01 16:31:52 · 5327 阅读 · 0 评论 -
Maven指定打包路径
复制默认的target下面的jar包到项目指定位置(微服务项目)<!-- 指定到相对路径下--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <exec原创 2022-03-11 11:47:45 · 4410 阅读 · 1 评论 -
@Transactional没效果
方法上加上@Transactional(rollbackFor = Exception.class)try catch 之后,失效,手动回滚:TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();详情见:原文链接:https://blog.csdn.net/weixin_42324471/article/details/99969418原文链接:https://www.cnblogs.com/liuzhenl.原创 2022-01-07 14:39:59 · 203 阅读 · 0 评论 -
springboot整合Mybatis(利用了Mybatis的反向工程自动生成pojo,mapper接口和xml文件)+Ajax+jQuery实现下拉列表联动
<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org"><head> <meta charset="UTF-8"> <title>Title</title></head><script th:src="@{/js/jquery-3.5.1.js}"></script><script>..原创 2020-12-18 11:46:48 · 141 阅读 · 0 评论 -
springboot工程下使用Mybatis反向工程
1、在项目根目录创建名为“GeneratorMapper.xml”的文件2、根据项目及表的情况,修改GeneratorMapper.xml的配置如果使用高版本,驱动类变为:com.mysql.cj.jdbc.Driverurl 后面应该加属性 nullCatalogMeansCurrent=true,否则生成有问题<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PU原创 2020-12-17 18:48:44 · 140 阅读 · 0 评论 -
SSM框架整合项目
搭建环境导入依赖1、集中定义依赖包:<!-- 集中定义依赖版本号 --> <properties> <junit.version>4.12</junit.version> <spring.version>5.2.9.RELEASE</spring.version> <mybatis.version>3.5.2</mybatis.version>原创 2020-10-24 11:18:41 · 99 阅读 · 0 评论 -
SSM框架依赖分析
spring-webmvc该包包含了spring-mvc的核心包,同时也引入了spring的核心依赖包详情:spring-jdbc对数据库访问进行封装的所有类详情:转载 2020-10-19 13:54:40 · 326 阅读 · 0 评论 -
springboot原理分析
详情:狂神博客转载 2020-10-11 23:00:16 · 103 阅读 · 0 评论 -
idea配置springboot项目
1、使用idea自带安装springboot项目安装删除无用目录即可。2、配置改端口改变springboot运行后的图案:在resources目录下创建banner.txt,然后将图案粘贴比如:(网站::https://www.bootschool.net/ascii-art)...原创 2020-10-11 19:11:36 · 208 阅读 · 0 评论 -
框架执行流程总结
1、SpringMVC用户发起请求,前端控制器接收请求,并调用处理器映射器,处理器映射器根据用户请求的URL地址,找到对应的handler,生成处理器执行链包括处理器对象和拦截器),返回给前端控制器,前端控制器根据处理器找到对应的处理器适配器进行适配,适配后找到对应的controller对象,controller对象执行对应的业务逻辑后返回数据和视图对象,适配器将结果返回到前端控制器,前端控制器调用视图解析器并将数据传过去,视图解析器解析适配器传递的数据,解析过程:将传递的地址进行前缀后缀拼接,找对应的视原创 2020-09-27 23:58:24 · 954 阅读 · 0 评论