
java
゛Smlie。
no pain,no gain!
展开
-
解决java在idea运行正常,但是打成jar包后中文乱码问题
1.当在idea中编写的程序,运行一切正常.但是当被打成jar包时,执行的程序会.产生问题的原因和解决方案是什么呢?一.问题分析idea的打印结果:jvm---key是: user.name;jvm---value是: ZHULIBIN10jvm---key是: file.encoding;jvm---value是: UTF-8jvm---key是: java.specification.version;jvm---value是: 1.8。原创 2023-11-17 11:34:57 · 2575 阅读 · 0 评论 -
脚本 打开 cmd 跳转到某个文件夹并执行某些命令
start cmd /k “命令1 & 命令2 & 命令3” (无论前面命令是否成功, 后面都会执行。start cmd /k "命令1 && 命令2 && 命令3 " (仅当前面命令成功时, 才执行后面)start cmd /k “命令1 || 命令2 || 命令3” (仅当前面命令失败时. 才执行后面)但是这样比较麻烦,现在我们写一个bat脚本,直接启动脚本就可以实现启动程序了。很多时候我们需要启动windows安装的redis、nacos等。2,启动windows的nacos。原创 2023-07-26 09:32:40 · 1597 阅读 · 0 评论 -
Linux下替换jar包里面的class文件以及在线修改配置文件
Linux下替换jar包里面的class文件以及在线修改配置文件原创 2022-11-24 18:28:54 · 3023 阅读 · 1 评论 -
SpringBoot 集成 Nacos
目录 一、前言二、Nacos集成1、引入Nacos依赖2、设置Nacos配置3、加载Nacos配置中心配置项4、Nacos集成验证5、Nacos配置中心配置项动态生效 Nacos安装详见:Spring Cloud 系列之 Nacos 配置中心 ...转载 2022-04-27 17:42:44 · 866 阅读 · 0 评论 -
Date工具类
Date工具类原创 2022-04-25 17:52:05 · 739 阅读 · 0 评论 -
invalid comparison: java.util.Date and java.lang.String异常的原因
数据库中定义的start_time字段类型为datetime类型,如图:实体类中定义的 Date;@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private Date startDate;mybatis查询:<if test="startDate != null and startDate !=''"> AND date_format(start_time,'%Y-%m-%d') <原创 2022-04-25 17:46:53 · 1288 阅读 · 0 评论 -
基于SSM的在线视频教育网站系统【附源码】
项目概述基于SSM的在线视频教育网站系统设计与实现.系统分为管理员与普通用户两种角色。非maven项目。1)登录模块在进入系统首页后,首先看到的是登录界面,该界面会提供注册用户的功能,在登陆界面,输入用户名之后,首先要发送ajax请求验证用户名是否存在,第一时间内给用户提示。2)客户端模块本模块分为密钥管理,角色管理,权限管理,个人信息,课程信息等组成。3)后台管理模块本模块包括用户管理,作品信息管理等。 用户管理:提供管理员查询用户,锁定解锁用户,修改用户信息,充值余额。 课程信息管理:提供原创 2022-03-08 14:57:10 · 1269 阅读 · 5 评论 -
mysql数据库The driver has not received any packets from the server
报错如下:原先的sql连接:后加上useSSL=false&autoReconnect=true&allowMultiQueries=true就解决了。原创 2021-12-30 10:42:27 · 1087 阅读 · 0 评论 -
springboot vue整合成jar包方案
首先先将vue项目进行打包,生成dist,如下:sringboot版本在2以下的需要配置拦截器指定到static,引用静态资源文件;sringboot版本在2以上的,可以直接将dist文件下的所有复制到后端项目下的static目录下,如图:直接启动即可访问!需要注意几个点:1.前端访问后端的ip需要指定正确;2.前端中config/index.js 中的 assetsPublicPath 为’/’,如果写成’./’,打包后的几个文件路径会匹配不上;3.router/index.js中的原创 2021-12-01 16:27:21 · 3094 阅读 · 0 评论 -
element el-select下拉框修改样式 el-select-dropdown 修改下拉框的样式
element el-select下拉框修改样式 el-select-dropdown修改下拉框的样式想要修改el-select的样式 尝试修改css无效果,于是打开控制台发现如图所示,它们是同级的。于是,又去仔细翻阅了element文档 发现 有一个popper-class属性实践,如图所示注意:style中需要去掉 scoped!!! 否则无效亲测:效果图:...原创 2021-10-12 16:28:09 · 4771 阅读 · 2 评论 -
JAVA获取MYSQL数据库表、字段、字段类型、字段注释
获取数据库的表、表中字段、字段类型、字段注释等信息原创 2021-09-27 16:37:42 · 4969 阅读 · 2 评论 -
Java 实现两个不同服务器的数据库数据的迁移(注释含数据库建表语句备份)
现在需要将内网数据库的数据及表同步到外网中,但是连接内网需要jar包才能穿透连接到,经测试,jar包对获取建表语句进行了限制(注释的代码),所以需要内外网两边把表建好,直接同步数据。逻辑:获取内网中的数据,查询出来insert到外网数据库中。代码如下:package com.merit.common.controller;import com.merit.common.service.BakDateBaseService;import com.merit.common.util.JdbcUtil原创 2021-09-27 15:58:04 · 2475 阅读 · 0 评论 -
linux Crontab定时运行JAR
Linux定时执行java程序 ...原创 2021-08-30 15:49:28 · 1649 阅读 · 0 评论 -
vue使用element el-table实现动态表头数据表、并滚动展示列表
#vue使用el-table,实现动态数据表、并滚动展示###tableLabel表头数据,支持条数、宽度设置###tableData存放所有数据,###showList存放用于展示的数据,###使用setInterval定时更新showList(删除第一条,末尾添加一条)###并通过vue computed实时更新渲染数据,实现滚动效果###style 取消滚动条#代码如下:<template> <div class="tbDynam"> <el-转载 2021-08-24 17:10:33 · 1987 阅读 · 0 评论 -
java.lang.IllegalArgumentException: Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘
错误日志如下:java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125) at org.springframework.test.context.s原创 2021-08-04 15:17:39 · 1761 阅读 · 0 评论 -
数据结构之树结构详解
树的定义 树是一种很特别的数据结构,树这种数据结构叫做“树”就是因为它长得像一棵树。但是这棵树画成的图长得却是一棵倒着的树,根在上,叶在下。 树是图的一种,树和图的区别就在于:树是没有环的,而图是可以有环的。 树的百度定义如下: 树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 结合图来看,可能会更好理解 这就是一棵典型的二叉树 而这里,2,3共有子节点5,那么.原创 2021-04-22 15:48:48 · 11604 阅读 · 1 评论 -
聊聊MyBatis缓存机制
聊聊MyBatis缓存机制文章链接18778字38分钟阅读前言MyBatis是常见的Java数据库访问层框架。在日常工作中,开发人员多数情况下是使用MyBatis的默认缓存配置,但是MyBatis缓存机制有一些不足之处,在使用中容易引起脏数据,形成一些潜在的隐患。个人在业务开发中也处理过一些由于MyBatis缓存引发的开发问题,带着个人的兴趣,希望从应用及源码的角度为读者梳理MyBatis缓存机制。本次分析中涉及到的代码和数据库表均放在GitHub上,地址: mybatis-cache-demo 。原创 2021-04-20 16:17:01 · 108 阅读 · 0 评论 -
基于SSM的酒店管理系统、基于JavaWeb的酒店管理系统毕业设计【附源码】
项目概述:基于SSM框架实现一个酒店管理系统,包括用户端和管理员端;前台主要功能有用户注册, 用户登录, 酒店预定、我的订单、验证码、用户中心、注销等;管理员端主要功能有:系统管理、菜单配置、角色管理、用户管理、系统日志、楼层管理、客户管理、房间管理、订单管理、入住管理、营业统计等运行环境jdk7+tomcat7+mysql5.6+Eclipse或者idea(推荐)项目技术spring+springMVC+mybaits+EasyUI+jQuery+Ajax+面向接口编程演示项目结构运原创 2021-04-15 15:12:48 · 4074 阅读 · 15 评论 -
一款代码生成工具,可自定义模板生成不同的代码
参考链接:https://gitee.com/durcframework/code-gencode-gen使用步骤docker运行其它工程说明自主构建效果图沟通交流code-gen一款代码生成工具,可自定义模板生成不同的代码,支持MySQL、Oracle、SQL Server、PostgreSQL。只需要一个Java8环境,下载后即可运行使用。步骤简单,只需配置一个数据源,然后勾选模板即可生成代码。默认提供了通用的实体类、mybatis接口、mybatis配置文原创 2021-04-12 15:13:46 · 535 阅读 · 0 评论 -
零前端代码,几行 Java 注解,快速搭建后台管理系统!非常适合做毕设
Erupt一个通用后台管理框架,据说有 超低代码量、 零前端代码、零 CURD操作、无需建表,纯Java注解开发等特色,号称三分钟就可以搭建一个完整的后台管理系统,非常适合做毕业设计。下面是我本地简单搭建的项目。如下:登录效果:跟着官网文档来,就完全可以跑起来!官网:https://www.erupt.xyz/#!/doc...原创 2021-04-12 14:14:03 · 445 阅读 · 0 评论 -
List<Map<String,Object>>去重以及排序
public static void main(String[] args) { List<Map<String,Object>> list1 = new ArrayList<>(); Map<String, Object> map = new HashMap<>(); map.put("num",33); list1.add(map); map = new HashM原创 2021-04-08 17:59:36 · 534 阅读 · 1 评论 -
分享50个让你代码更好的小建议
前言50个让你代码更好的小建议。哪里有不对的,望指出,感谢哈~1. 仅仅判断是否存在时,select count 比 select 具体的列,更好。我们经常遇到类似的业务场景,如,判断某个用户userId是否是会员。「(反例):」 一些小伙伴会这样实现,先查从用户信息表查出用户记录,然后再去判断是否是会员:<select id="selectUserByUserId" resultMap="BaseResultMap"> &nbs原创 2021-04-08 16:51:36 · 300 阅读 · 0 评论 -
weblogic部署项目中文模糊查询mysql问题解决
项目原本查的oracle,因业务需要查询mysql,在本地一番配置后,启动项目是可以通过输入中文模糊查询的。下面给出一些配置文件。jsp页面、java代码:一番配置以及代码调试之后,本地起来得到的效果如下:但是在weblogic(uat测试环境)部署之后,中文就是查询不出来,数字和英文或者空白都可以查询出来。展示如下:能查出来,说明数据源配置的没有问题,只是中文查询不出来,首先想到的乱码。在controller也是加了防止乱码的代码,结果也不行,接着是在linux上打日志,在控制原创 2021-03-08 15:04:13 · 168 阅读 · 0 评论 -
ERR_SSL_PROTOCOL_ERROR浏览器解决办法
发现http的请求头不对。通过查阅资料,说是要改nginx配置,因为SSL没有开启,参考链接:https://blog.youkuaiyun.com/qq_21460229/article/details/102969528但是前几天还是正常,并且nginx 配置也没有动过。然后想了下,发现接收的地址是http,之后变成https。换成火狐浏览器,又是正常的。接着把浏览器的不安全内容设置成允许就行了。有点小坑啊。。。...原创 2021-01-26 19:50:49 · 97255 阅读 · 6 评论 -
InputStream读取远程url时读不出来,报(文件名、目录名或卷标语法不正确)的错
解决方法:String fileUrl = “http://u-api.xxxxx.com:32545/expose/2020/11/27/16dff157-cf7d-41c3-803a-7f92c54e095e.jpg”;URL url = new URL(fileUrl);InputStream stream = url.openStream();解释:当从本机上读取的时候例如:E:/2020/11/27/16dff157-cf7d-41c3-803a-7f92c54e095e.jpg,这个原创 2021-01-18 11:48:05 · 1182 阅读 · 3 评论 -
HttpClient 设置超时时间
public static String doPostWithJSON(String url, String json) throws Exception { CloseableHttpClient client = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(url); httpPost.setHeader("Content-Type","application/json;charset=UTF-8")原创 2021-01-12 15:56:59 · 3640 阅读 · 0 评论 -
maxPostSize导致的内存溢出以及配置需要注意的问题
拓展:踩坑记录-maxHttpHeaderSize配置-内存都去哪儿 关于Tomcat的maxPostSize属性的配置需要注意的问题 需求: 近期要做大文件上传功能,除了修改前端框架上传控件jQuery Uploadify的上传文件限制大小和Spring MVC框架配置的文件上传模块中的MultipartResolver中的文件上传限制大小,还需要去修改Nginx服务器中conf目录下的n原创 2021-01-12 15:45:07 · 3084 阅读 · 0 评论 -
日期格式化使用 YYYY-MM-dd 的潜在问题
问题表现 import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date; public static void dateBug() { SimpleDateFormat df1 = new SimpleDateFormat("YYYY-MM-dd"); SimpleDateFormat df2 = new SimpleDateFormat("yyyy-M转载 2021-01-12 15:00:47 · 492 阅读 · 0 评论 -
JVM参数设置及解析
1、关于JVM配置:-Xmx 设置堆(Java Heap)最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定。-Xms 设置初始堆(Java Heap)初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值。-Xmn 设置年轻代(Java Heap Young)区大小,在整个堆内存大小确定的情况下,增大年轻代将会减小老年代,反之亦然。不熟悉最好保留默认值。-Xss 每个线程的栈(Stack)大小,不熟悉最好保留默认值;原创 2020-12-23 19:30:55 · 291 阅读 · 0 评论 -
JAVA线上故障排查
线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基本上出问题就是df、free、top 三连,然后依次jstack、jmap伺候,具体问题具体分析即可。CPU一般来讲我们首先会排查cpu方面的问题。cpu异常往往还是比较好定位的。原因包括业务逻辑问题(死循...原创 2020-12-23 19:18:49 · 258 阅读 · 0 评论 -
Jmeter压测springboot项目报内存溢出、Address already in use: connect
版本上线前,测试人员都会进行压测。本地,测试环境访问是没有问题的,但是一进行压测就内存溢出。1.一开始以为测试环境分配的Jvmd的原因,于是就手动设置Jvm参数启动,命令如下:nohup java -Xms4G -Xmx4G -jar xxxx.jar > xxxxx.log &然而并没有解决。我就直接改成加Return,直接返回,还是会内存溢出。于是上网查资料参考:https://blog.youkuaiyun.com/weixin_38631327/article/details/105原创 2020-12-21 17:04:15 · 689 阅读 · 1 评论 -
常见 JVM dump 指令整理
最近排查了生产环境服务假死的问题,CPU 被占满,Java 中的线程都在执行 Full GC,为了 dump JVM 线程栈信息与堆内存信息,查了很多指令。下面做一个常用指令的简单汇总:查看 Java 进程 jpsjrockit dump 操作jrcmd <pid> hprofdump filename=/test.hprofjstack dump 线程栈信息jstack <pid> > test.dump参数:jstack [-l] <pid>原创 2020-12-16 17:04:36 · 2930 阅读 · 0 评论 -
内存溢出+CPU占用过高:问题排查+解决方案+复盘(超详细分析教程)
前言 最近刚上线了一款社交项目,运行十多天后(运营持续每天推量),发现问题: 系统OOM(资源不能被释放)导致服务器频繁且长时间FGC导致服务器CPU持续飚高日志中内存溢出:java.lang.OutOfMemoryError: Java heap space程序十分卡顿,严重影响用户使用 从以下方面,为大家分享此次问...转载 2020-12-14 10:57:26 · 2759 阅读 · 1 评论 -
oracle sql 首次查询快, 之后查询慢(含xml解决方案)
最近上线一个新功能,点击查询时查询不出来,但是第一次会查出来,后面就一直Loading……结合日志,请教大佬看了sql会话,发现是sql查询时卡住了。大多数情况下,用oracle, 第一次查询慢, 第二次查询肯定比第二次查询快对吧,但对于这种情况,第一次查询快, 以后查询慢。Cardinality Feedback基数反馈, 是版本11.2中引入的关于SQL 性能优化的新特性,该特性主要针对 统计信息陈旧、无直方图或虽然有直方图但仍基数计算不准确的情况, Cardinality基数的计算直接影响原创 2020-12-08 09:54:55 · 2049 阅读 · 0 评论 -
构造函数、静态变量、代码块执行顺序
目录1. 概述2. 构造函数/静态代码块/普通代码块3. 关于静态代码块和静态变量的顺序4. 总结1. 概述本文主要分析在创建对象实例的时候, 类中构造方法的调用顺序或类中成员变量的赋值过程.2. 构造函数/静态代码块/普通代码块public class Animal { public Animal() { System.out.println("Animal Constructor."); } static { System.o...原创 2020-11-23 16:35:07 · 374 阅读 · 0 评论 -
Java泛型类型擦除以及类型擦除带来的问题
目录1.Java泛型的实现方法:类型擦除1-2.通过两个例子证明Java类型的类型擦除例1.原始类型相等例2.通过反射添加其它类型元素2.类型擦除后保留的原始类型例3.原始类型Object例4.Object泛型3.类型擦除引起的问题及解决方法3-1.先检查,再编译以及编译的对象和引用传递问题3-2.自动类型转换3-3.类型擦除与多态的冲突和解决方法3-4.泛型类型变量不能是基本数据类型3-5.编译时集合的instanceof3-6.泛型在静态方法和静态类中的问题1.Java泛型的实现方法:类型擦...原创 2020-11-23 15:45:38 · 495 阅读 · 0 评论 -
List去除重复数据、初始化list集合
1.使用LinkedHashSet删除arraylist中的重复数据LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事:删除重复数据保持添加到其中的数据的顺序Java示例使用 LinkedHashSet 删除arraylist中的重复项。在给定的示例中,numbersList是包含整数的arraylist,其中一些是重复的数字。例如1,3和5.我们将列表添加到LinkedHashSet,然后将内容返回到列表中。结果array原创 2020-11-20 15:27:13 · 373 阅读 · 0 评论 -
三个double相加丢失精度解决方案
应该用BigDecimal的add方法。实现对BigDecimal循环累加BigDecimal total=new BigDecimal("0.00");for (int i = 0; i < 5; i++) { BigDecimal number= new BigDecimal("1.00"); total= total.add(number) ;}System.out.println(total);原创 2020-11-19 18:45:16 · 1530 阅读 · 0 评论 -
JDK自带命令行工具使用
1、jps(JVM Process Status Tool):查看正在运行的java虚拟机进程jps命令相当于Linux下的ps命令,只不过它只列出Java进程jps:输出java进程id和Main函数名称jps -l :输出主函数的完整路径jps -v:输出传递给java虚拟机的参数 2、jstat(JVM Statistics Mornitoring Tool):查看虚拟机运行时信息jstat可以查看Java虚拟机各种运行状态信息,可以通过它查看JAVA虚拟机进程中的类装.原创 2020-09-28 14:34:50 · 507 阅读 · 0 评论 -
常用JVM参数
1、JVM三种参数类型标准参数。如 -version、-helpX参数。如 -Xms、-XmxXX参数。如-XX:+PrintGC 2、XX参数数值类型布尔类型。如-XX:+PrintGCDetails,其中 + 和 - 分别表示开启/关闭某个属性,PrintGCDetails表示打印GC详情KV设值类型。如-XX:NewSize=256M,设置年轻代空间大小为256M 3、常用参数 X参数: XX参数: -XX:.原创 2020-09-28 14:32:09 · 572 阅读 · 0 评论