java
小糊涂灬
java改变世界
展开
-
exe4j 使用jar包 打包exe程序,并且自带jre
打开软件,之前保留过配置文件的可以直接点击【open】打开 ,license那块最好注册一下 不然每次启动软件都会弹出一个信息框 很烦人,然后【next】。选择【jar in exe】代表将jre环境打包到程序包 可以随时随地使用程序,不依赖于jdk。然后选择【Advanced Options】选择适用的系统 一般都是64,直接下一步。4)图标(icon)文件一个,用来作为exe程序的图标。3)exe4j 程序 ,自行搜索 我用的5.1。把图中的全部删除,然后添加你的jre包,下一步。原创 2024-07-28 09:51:54 · 481 阅读 · 0 评论 -
解决nacos服务注册中心及时上下线
nacos做为注册中心纳管其下边的服务模块,然后我们有时候关闭服务的时候发现客户端还能继续访问该服务,这是因为nacos默认的心跳检测时间为30s,所以需要等到30s之后才会剔除不可用服务。如果网关使用的事gateway,gateway还要想注册中心拉取服务列表,如果时间很长,也会造成调用不可用服务。一般我们也将拉取服务列表的时间调整一下。具体数字要看实际生产需要。步骤1可能需要花3秒中更新实例,步骤2定时拉取nacos最新实例需要最快3秒,因此加起来,修改nacos的心跳检测时间,在注册的服务中配置。原创 2022-10-17 14:17:32 · 3514 阅读 · 3 评论 -
卸载OPENJDK
sudo apt-get remove openjdk* (这个命令是最傻瓜式的删除方法,将关于openjdk的所有内容全部删除)原创 2022-08-11 16:13:27 · 1350 阅读 · 0 评论 -
springboot启动时执行的某些方法的实现
在springBoot中我们有时候需要让项目在启动时提前加载相应的数据或者执行某个方法,那么实现提前加载的方式有哪些呢?接下来我带领大家逐个解答1.实现ServletContextAware接口并重写其setServletContext方法@Componentpublic class TestStarted implements ServletContextAware { /** * 在填充普通bean属性之后但在初始化之前调用 * 类似于initializingbe原创 2021-12-10 08:46:58 · 357 阅读 · 0 评论 -
springboot修改时区问题
1.mysql数据库时区问题通过如下命令可以查询MySQL的时区show variables like "%time_zone%";如果未做任何修改会显示如下:+------------------+--------+| Variable_name | Value |+------------------+--------+| system_time_zone | CST || time_zone | SYSTEM |+------------------+---...原创 2021-11-03 10:35:46 · 566 阅读 · 0 评论 -
Spring cloud gateway 详解和配置使用
spring cloud gateway 介绍1. 网关是怎么演化来的单体应用拆分成多个服务后,对外需要一个统一入口,解耦客户端与内部服务注:图片来自网络2. 网关的基本功能网关核心功能是路由转发,因此不要有耗时操作在网关上处理,让请求快速转发到后端服务上网关还能做统一的熔断、限流、认证、日志监控等 注:图片来自网络可以和服务注册中心完美的整合,如:Eureka、Consul、Nacos3.关于Spring Cloud Gateway在SpringCloud微服务体系..转载 2021-06-23 08:32:59 · 1438 阅读 · 0 评论 -
Nacos 1.3.2 启动报错[db-load-error]load jdbc.properties error
原因分析:查看windows下nacos启动文件的配置信息,其默认时cluster(集群的方式运行),修改为standalone即可,启动即可;如果以集群的方式启动,就要按照要求配置集群信息,数据源信息1.创建持久化数据库,推荐使用Mysql,创建数据库名为nacos,执行conf文件夹下的nacos-mysql.sql写入数据2.修改配置文件application.properties添加数据库链接信息3.然后复制一份cluster.conf.example改名为cluster.c转载 2021-05-14 14:22:18 · 6172 阅读 · 4 评论 -
Integer包装类比较
Integer a = 1;integer b = 1;integer c = 500;integer d=500;System.out.print(a==b);System.out.print(c==d);上面两个输出结果分别为true和falseInteger类型中设置有缓存,范围为【-128,127】,当对象在这个范围内,会直接返回缓存中的引用,所以只要是范围内的integer对象就是相同的。而超出范围的Integet对象每次都是新创建出来的,所以不同。此外,当包装原创 2021-03-04 14:43:08 · 265 阅读 · 2 评论 -
java操作kafka
添加依赖<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.11.0.0</version></dependency>生产者import org.apache.kafka.clients.producer.KafkaPro原创 2021-02-22 14:49:54 · 163 阅读 · 0 评论 -
基础pom文件配置
<?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.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.原创 2021-01-29 15:18:09 · 753 阅读 · 0 评论 -
nginx配置反向代理详细教程(windows版)
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强。下面就简单说一说如何用Nginx实现反向代理。首先:说一下准备工作,最少两个tomcat,另外设置两个域名并解析到本地ip(因为nginx是直接配置域名)(1)准备两个tomcat分别设置两个tomcat的/conf/server.xml中的端口号,如下tomcat1端口号分别设置为:8205 8280 8209...转载 2021-01-06 10:48:05 · 13747 阅读 · 0 评论 -
深入理解Mybatis二级缓存
一、创建Cache的完整过程我们从SqlSessionFactoryBuilder解析mybatis-config.xml配置文件开始:Reader reader = Resources.getResourceAsReader("mybatis-config.xml");SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);然后是:XMLConfigBuilder pars转载 2020-12-14 10:38:39 · 112 阅读 · 0 评论 -
@JsonFormat与@DateTimeFormat注解的使用
@JsonFormat与@DateTimeFormat注解的使用背景:从数据库获取时间传到前端进行展示的时候,我们有时候可能无法得到一个满意的时间格式的时间日期,在数据库中显示的是正确的时间格式,获取出来却变成了很丑的时间戳,@JsonFormat注解很好的解决了这个问题,我们通过使用@JsonFormat可以很好的解决:后台到前台时间格式保持一致的问题,其次,另一个问题是,我们在使用WEB服务的时,可能会需要用到,传入时间给后台,比如注册新用户需要填入出生日期等,这个时候前台传递给后台的时间格式同样是不原创 2020-11-27 18:05:59 · 80 阅读 · 0 评论 -
SpringBoot打成war包,部署到Tomcat服务器
SpringBoot默认达成jar包,使用SpringBoot构想web应用,默认使用内置的Tomcat。但考虑到项目需要集群部署或者进行优化时,就需要打成war包部署到外部的Tomcat服务器中。 本文所使用SpringBoot版本为:2.0.3.RELEASE一、修改pom.xml文件将默认的jar方式改为war:<groupId>com.example</groupId><artifactId>application</artifactI...转载 2020-11-21 12:06:11 · 136 阅读 · 0 评论 -
springboot 配置拦截器超详细介绍
其实spring boot拦截器的配置方式和springMVC差不多,只有一些小的改变需要注意下就ok了。下面主要介绍两种常用的拦截器:一、基于URL实现的拦截器:publicclassLoginInterceptorextendsHandlerInterceptorAdapter{ /** *在请求处理之前进行调用(Controller方法调用之前) *基于URL实现的拦截器 *@paramreques...原创 2020-10-13 16:33:16 · 15889 阅读 · 1 评论 -
springboot 整合aop
说起spring,我们知道其最核心的两个功能就是AOP(面向切面)和IOC(控制反转),这边文章来总结一下SpringBoot如何整合使用AOP。一、示例应用场景:对所有的web请求做切面来记录日志。1、pom中引入SpringBoot的web模块和使用AOP相关的依赖:其中:cglib包是用来动态代理用的,基于类的代理;aspectjrt和aspectjweaver是与aspectj相关的包,用来支持切面编程的;aspectjrt包是aspectj的runtime包;aspectj..转载 2020-10-13 16:31:22 · 288 阅读 · 0 评论 -
常用网站记录
廖雪峰官方网站:一些常用的基础知识教程(java/javaScript/git...)---https://www.liaoxuefeng.com/原创 2020-09-21 16:45:08 · 197 阅读 · 0 评论 -
springboot 集成logback
logback 是springboot集成的一个日志管理模块 本人在此处记录集成配置。1. application.yml 引入配置文件# 日志路径logging: config: classpath:config/logback-spring.xml2. 书写配置文件<?xml version="1.0" encoding="UTF-8"?><configuration scan="true" scanPeriod="60 seconds" debug="f.原创 2020-09-16 10:08:39 · 140 阅读 · 0 评论 -
分享一个前后端分离的web框架视频
https://www.bilibili.com/video/BV1dp4y1v7K2/原创 2020-09-15 17:57:03 · 275 阅读 · 0 评论 -
springboot集成swagger2
springboot集成swagger21、swagger简介 Swagger是一款RESTful接口的文档在线自动生成、功能测试功能框架。一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,加上swagger-ui,可以有很好的呈现。 当我们在后台的接口修改了后,swagger可以实现自动的更新,而不需要人为的维护这个接口进行测试。2:基于前面的知识点 本知识点在springboot使用基于Mybatis注解方式实现的CRUD的基础上进行的。3.原创 2020-09-15 15:04:35 · 454 阅读 · 0 评论 -
java打印请求日志
利用切面打印日志package com.tools.toolmange.common.aop;import cn.hutool.json.JSONUtil;import com.tools.toolmange.common.contextholder.SecurityContextHolder;import lombok.extern.log4j.Log4j2;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.Procee.原创 2020-09-10 17:01:21 · 721 阅读 · 0 评论 -
Springboot2.0+security+jwt 实现权限管理及角色控制(亲测)
最近搭建了一个后台管理系统,基于要求使用的是:Springboot+mybatis+mysql+security+jwt;security : 作为权限控制框架,可以根据不同的角色控制不同的权限请求;jwt :作为token的管理器,生成,校验token;1. 创建springboot 项目1.采用网页的方式创建,(圈住的网址);然后将生成的项目导入本地即可;2.自己创建 (本人)2.导入依赖<?xml version="1.0" enco...原创 2020-09-10 16:57:46 · 2543 阅读 · 2 评论 -
JAVA判断字符串信息
package com.test;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test { @org.junit.Test public void test(){ String fileName = "test,中文"; System.out.println(filterChinese(fileName)); } /** .原创 2020-09-09 14:45:48 · 172 阅读 · 0 评论 -
五大基本算法
算法一:分治法基本概念1.把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。2.分治策略是对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。适用情况1)该问题的规模缩小到一定的程度就可以容易地解决2)该问题可以分解为若干个规模较...转载 2020-09-09 11:12:33 · 2198 阅读 · 0 评论 -
Java操作文件压缩
备注:此处是对批量文件进行压缩的操作,此场景可用于批量下载,将批量文件进行压缩后再下载;package test;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInpu.原创 2020-08-28 16:20:25 · 153 阅读 · 0 评论 -
Gradle的使用(转)
转自:https://blog.csdn.net/qq_22172133/article/details/81513955 作为记录使用一、相关介绍 Gradle是一个好用的构建工具 ,使用它的原因是:配置相关依赖代码量少,不会像maven一样xml过多 打包编译测试发布都有,而且使用起来方便 利用自定义的任务可以完成自己想要的功能二、安装 下载地址http://services.gradle.org/distributions/,下载你所...转载 2020-08-28 09:29:56 · 195 阅读 · 0 评论 -
Java读取远程服务器文件
在访问linux时,首先需要使用工具类jar包:ganymed-ssh2public boolean login(){ //创建远程连接,默认连接端口为22,如果不使用默认,可以使用方法 //new Connection(ip, port)创建对象 Connection conn = new Connection(ip); try { //连接远程服务器 conn.connect(); //使用用户名和密码登录 return conn.au...原创 2020-08-20 10:56:04 · 3500 阅读 · 0 评论 -
RequestBody和RequestParam学习笔记
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体(body)中的数据的);而GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。@RequestParam如果参数前写了@RequestParam(xxx),那么前端必须有对应的xxx名字才行(不管其是否有值,当然可以通过设置该注解的required属性来调节是否必须传),如果没有xxx名的话,那么请求会出错,报400。如果参数前不写@..原创 2020-08-11 09:58:44 · 247 阅读 · 0 评论 -
Invalid character found in method name. HTTP method names must be tokens
项目运行过程中出现了这个错误,查询了一下,基本由于两个原因造成的!报错信息如下Invalid character found in method name. HTTP method names must be tokens原因一:tomcat的请求头大小问题在tomcat的server.xml中增加maxHttpHeaderSize="8192",如果是springboot项目则需在application.xml文件中增加server.tomcat.maxHttpHeaderSiz...原创 2020-08-11 09:41:11 · 277 阅读 · 0 评论