JAVA杂货铺
记录日常开发碰到得问题
一个生活在底层的小小码农
学而时习之,不亦说乎
展开
-
Tomcat部署服务器添加多个<Host>就加载多次项目问题《解决方案》
就因为配置了两个 导致tomcat启动的时候会加载两次,如果没有什么复杂的定时任务啊,或者说什么牵扯到初始化会加载的东西其实不用管也无伤大雅,不过最好还是解决了吧。然后启动tomcat,使用域名或者别名标签中的IP都可以访问到项目,也解决了加载多次的问题,如果需要多个。如有更好的解决方案也可以提出来,另外此方法又不好的地方欢迎指出。原创 2022-11-28 18:10:13 · 600 阅读 · 5 评论 -
服务器运行tomcat报错误java.security.UnrecoverableKeyException: Cannot recover key
【代码】服务器运行tomcat报错误java.security.UnrecoverableKeyException: Cannot recover key。原创 2022-11-23 14:21:18 · 1174 阅读 · 0 评论 -
分布式和集群的区别---超通俗易懂
我就不搞什么原理比对之类的,直接以最简单易懂的方式讲一下两个怎么区分。集群:多个人在一起做同样的事情。例:某宝公司有5个开发人员,其中3个是后端开发,3个人同样都是做后端的,这3个后端开发人员就可以看做是群集。分布式:多个人一起做不同的事情。例:还是某宝公司的这5个开发人员,3个是后端,2个是前端,那前端和后端的关系就是分布式我这边再引用我所看到的一个评论,感觉也是挺不错的,记录一下也可以用板砖来比喻,一开始一个人负责搬砖和运砖,后来工头嫌他慢,又找了几个人帮他一起搬砖运砖,这叫原创 2021-05-24 15:48:00 · 172 阅读 · 0 评论 -
idea使用git时忽略不必要文件设置
git忽略文件方式大致可分3大类,忽略某类文件(正则)、忽略某个文件夹、忽略某个文件。----需要忽略文件的类型:eclipse:.settings;*.classpath;*.project;idea:*.iml;.idea;target;step1: 设置忽略某类文件(正则)---可剔除一大部分需要忽略的文件...转载 2021-07-12 14:50:18 · 733 阅读 · 0 评论 -
声明变量时使用integer和int的区别
简单一句话讲述吧如果你数据库允许值为空的情况下只能使用integer来定义变量,因为int类型不允许为空,而integer是可以为null值得。出于严谨性还是使用int的装箱integer比较好一下原创 2021-05-25 14:42:20 · 970 阅读 · 0 评论 -
Java取两个数组中相同的数据
网上看了不少文章,有大部分是利用for循环,但是for循环如果数据少还好,但是数据量特别大的时候效率就不行了,下面我就直接贴使用steam解决该问题首先创建数组,以及打印出for循环的所用耗时 java.lang.String[] a = new String[100000]; java.lang.String[] b = new String[100000]; for(int i = 0; i < 100000; i++){ int c原创 2021-05-27 18:09:15 · 3243 阅读 · 0 评论 -
Mysql数据库在window系统中使用mysqldump进行数据库自动备份
在网上一搜也有很多类似的文章,我只是简单记录一下自己做备份时的一些操作,因为我们公司只有单台服务器,所以就使用了一种比较便捷的方式进行数据库备份(使用MySql自带的MySqldump)首先创建一个文件夹用来存放备份后的Sql文件,例如我创建的文件夹位置是在D盘下创建了一个名为db_backup的文件夹(D:\db_backup)如下图所示找到你安装的mysql文件夹,如果你没有更改默认安装目录的话是在C盘中的Program Files中可以找到安装的mysql文件夹,进入根目录的bin目录中找.原创 2021-07-30 11:22:46 · 810 阅读 · 0 评论 -
Mybatis-plus使用QueryWrapper
按照惯例先奉上mybatis plus官方文档的链接https://mp.baomidou.com/guide/,有精力的可以进去学习一下。queryWrapper是mybatis plus中实现查询的对象封装操作类先看一下QueryWrapper的方法函数名说明例子eq等于 =例:eq(“name”,“张三”) :name = ‘张三’ne不等于<>例: eq(“name”,“老王”)—>name = ‘老王’gt大于>例:g.原创 2021-05-20 17:51:29 · 4219 阅读 · 2 评论 -
Mybatis-Plus项目中使用eq()
我有篇文章写了Mybatis-plus的一些语法以及简单的用法,此处为链接,需要的可以看一下。这里记录一下项目中碰到使用eq(),但里面的结构是eq(Entity :: name ,“张三”),算是第一次接触接触这个格式,这eq括号里面的“ :: ”两个冒号,就是该实体的字段,类似于传参LambdaQueryWrapper<TbCloudbox> lqDevice = new LambdaQueryWrapper<>();(1) //NVR原创 2021-05-26 16:42:45 · 34894 阅读 · 8 评论 -
MySQL数据库通过data文件夹恢复数据库信息
继上篇文章MySQL本地计算机的MYSQL服务启动后停止问题,解决完之后恢复数据库信息前面我有提到没有做数据库的日常备份原创 2022-06-17 12:10:47 · 4950 阅读 · 13 评论 -
idea自定义方法注释以及类注释的详细方法
这里写目录标题定义类模板选择class复制上这些代码到右边模板处随便新建一个类,直接触发注释效果,效果如下自定义方法注释模板新建组,组名随便然后再在组名下添加template命名为*把下面这段话复制到这里设置方法模版在哪里适用然后对$$里的变量进行编辑点击OK,完毕效果如下:定义类模板依次打开File->Settings->File and Code Templates->Files,选择class如下图所示:复制上这些代码到右边模板处这个Dong.Ding是我的名字~你们最原创 2021-08-20 17:55:42 · 405 阅读 · 0 评论 -
Windows设置redis开启自动启动
一、首先下载好你需要的Redis,这里就不多说了,可以百度的到的二、安装完之后,运行redis是通过命令或者是直接运行redisServer的可执行文件,运行效果如下三、设置Redis服务由于上面虽然启动了redis,但是只要一关闭cmd窗口,redis就会消失。所以要把redis设置成windows下的服务。打开电脑的服务列表兵发现兵并没有所谓的Redis的服务。我们需要进入到你安装的Redis的目录中,通过DOS命令redis-server --service-install redis.原创 2021-11-17 15:39:32 · 11835 阅读 · 11 评论 -
统计list集合里面有多少重复的元素(frequency())
项目中遇到要求统计一下数据A出现的次数,用了项目中的list()方法,查询所有,就懒得写统计语句了,查出来把数据A单独放到list里面然后使用Collections.frequency(arrayList, "A")统计出A元素出现的次数即可。一、贴个代码吧 @Test public void Test(){ String str = "A,A,A,A,A,B,C,X,D,S,W,Q,Q,Q"; String[] split = str.split(",");原创 2021-08-19 17:22:57 · 1319 阅读 · 0 评论 -
idea打开git项目后没有git选项(已经集成了git)
场景这两天由于我们的git服务器迁移,需要重新clone代码,这次发现idea已经集成了git,但是git选项没出来,于是从网上搜了搜,找到了办法,记录如下。解决1.选择菜单项【File】下的【settings】2.选择【Version Control】,看看有没有灰色的Module,如果有的话,选中它,点击右边绿色添加按钮,然后apply和ok即可。3.这时你就会发现git选项出来了呢。补充如果在拉取代码时报错ssh variant ‘simple’ does not support set转载 2021-11-10 14:55:08 · 13882 阅读 · 0 评论 -
idea运行javaWeb项目控制乱码问题
我重新安装的idea,安装完之后运行项目发现控制台乱码问题,出现的是淇℃伅这种,如下图:一般我们tomcat都是统一编码为UTF-8,但是idea你下载好之后不要忘了也要设置一个地方:点击help,之后选中Edit Custom VM OPtions,在最后一行加上 -Dfile.encoding=utf-8 重启idea即可OK,运行就可以发现中文乱码消失...原创 2021-11-08 13:35:12 · 653 阅读 · 0 评论 -
A fatal error has been detected by the Java Runtime Environment项目运行时报错后停止运行
项目环境为:SpringBoot项目,JDK1.8的,只是简单的说一下这个运行环境,可能无关吧,先贴错误:Error Log>> A fatal error has been detected by the Java Runtime Environment:>> EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x697e0aea, pid=11340, tid=11292>> JRE version: Jav原创 2021-08-19 13:36:29 · 2058 阅读 · 0 评论 -
解决You must configure either the server or JDBC driver (via the serverTimezone conf)数据库连接失败问题
今天重构项目的时候,把本地的mysql升级了一下,版本为8.0.15的,然后启动项目时就报了以下这个错误java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configur原创 2021-11-12 17:52:19 · 2129 阅读 · 0 评论 -
下载Git速度太慢的解决方法【记录】
GIt下载速度太慢,解决方法原创 2022-08-27 15:01:36 · 408 阅读 · 0 评论 -
RandomAccessFile的seek方法
先说一下我得到的总结,简单的讲就是指定读取文件指针的开始位置,设置后指针位置之后读取时会从指针的下一位读取。 @Test public void testDemo(){ try { RandomAccessFile raf = new RandomAccessFile("E:\\box_up\\jj.txt", "rw"); raf.seek(9); System.out.println("" + raf.re原创 2021-09-14 12:01:26 · 3433 阅读 · 0 评论 -
解决JeecgBoot修改默认主题不生效问题
解决jeecgboot修改主题不生效原创 2022-09-20 11:05:03 · 1027 阅读 · 0 评论 -
idea集成Git,git新创建分支后,idea上没办法看到新的分支解决
每次创建新分支后,idea的上面就看不到,很麻烦我标记的地方就是后面解决问题后刷新出来的新分支解决方法: 在该控制台页面输入“git pull”然后回车运行即可在控制台输入git pull的命令(注意通过右键项目的git-pul选项只能够拉取项目的代码,并不可以更新分支,控制台输入命令和工具选项操作不同,这点要注意)然后重启idea即可,打开就可以看到新创建的分支了...原创 2021-07-31 17:18:38 · 2958 阅读 · 0 评论 -
idea比较好用的插件,我只记录两个我个人开发中比较实用的插件
一、Translation该插件是中英文翻译工具,是使用起来真的很方便,不用再和其他翻译工具之间来回切换了安装成功之后会在idea的界面显示出来的如下图我主要是看中它的一个直接翻译的功能,选择Translate and Replace,可以直接将翻译结果显示在下拉框中,选择合适的点击之后会自动替换当前文本二、Alibaba Java Coding Guidelines这个简单讲一下就好了,这是阿里的一款代码规则检测的插件,会给你提示哪里写的代码规范不太正确的。...原创 2021-08-13 16:34:17 · 131 阅读 · 0 评论 -
关于mysql本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止问题
由于某些原因,服务器需要重启一下,结果重启完就出现这个问题,一想到平时偷懒没有做数据库自动备份,当时心态就炸了,找个各种办法最后还是用初始化数据库解决了原创 2022-06-17 11:44:42 · 6405 阅读 · 8 评论 -
netty的ByteBuf转字节输入流InputStream
用到了netty的UDP协议,获取到客户端传来的封包,通过content()方法获取到客户端发来的消息内容,获取到的是ByteBuf类型的,就用到了BytBuf转字节流,代码如下: @Override protected void channelRead0(ChannelHandlerContext channelHandlerContext, DatagramPacket datagramPacket) throws Exception { //content()方法获取发送者原创 2021-12-15 15:39:07 · 1767 阅读 · 0 评论 -
gihub上传本地项目简单步骤
先写一下步骤:git init //初始化仓库git add .(文件name) //添加文件到本地仓库git commit -m “first commit” //添加文件描述信息git branch -M master //创建master分支git remote add origin + 远程仓库地址 //链接远程仓库,创建主分支git pull origin master // 把本地仓库的变化连接到远程仓库主分支git push -u origin master //把本地仓库的文件推送到远程仓库原创 2021-11-09 17:34:28 · 568 阅读 · 0 评论 -
Maven引入本地jar包的使用方法
关于下载配置Maven的过程我这里就不多说了,网上可以自行查询。我简述一下关于jar如果直接下载到本地之后,怎么整合到自己的maven工程呢?方式挺多的,下面列举四种方式:1. 上传到maven中心仓库 https://oss.sonatype.org/愿意折腾可也搞搞,可以参考 如何发布Jar包到Maven中央仓库(确实比较麻烦)如这是我手动上传到maven中央仓库的jar包 https://mvnrepository.com/search?q=chendahai优点:可以直接在pom.xm原创 2022-05-01 13:52:19 · 3372 阅读 · 1 评论 -
关于Navicat连接mysql数据库报host XXXXXXX is not allowed to connect to this mysql server
服务器重新做了一个系统。然后安装mysql(这一系列应该都是做完才搜索这个问题的,我就不废话了),使用本地的Navicat进行连接就报了一个host XXXXXXX is not allowed to connect to this mysql server,意思是说该地址无法不允许连接这个mysql服务器,没有权限访问。解决办法:首先通过cmd进入到mysql中,其实直接打开开始菜单,点击进入你安装的这个mysql命令窗口就好了,然后输入密码即可进入输入命令use mysql;(选择.原创 2022-01-17 17:49:44 · 1009 阅读 · 1 评论 -
Jeesite登录时报错org.apache.shiro.cache.CacheException: net.sf.ehcache.CacheException
项目是由Jeesite的开源项目做的,上午登录的时候还没有问题,到了下午就出现了错误:org.apache.shiro.cache.CacheException: net.sf.ehcache.CacheException清除项目缓存也没用。最后看到网上有人说把运行中的该程序关掉,清掉 tomcat\temp\jeesite\ehcache 下的所有文件,再重新登录就可以了试了之...原创 2020-04-09 16:45:24 · 1172 阅读 · 0 评论 -
Tomcat在服务器上配置HTTPS协议访问
RT,修改tomcat访问时http协议为https 怎么下载tomcat和证书的申请我就不多阐述了,网上一搜也比较的方法,就去阿里云申请一个免费的证书就可以了,记得下载证书的时候要下载对应tomcat 的证书哟。 我在网上也搜索了很多方法,很多不是很清楚,有的说要把下载的证书用jdk转一下格式,转格式的这个方法应该是对应tomcat7之前版本的方法,我查资料有显示说tomcat7以及以上的版本不用把证书的PFX格式转换就可以直接使用。ssl证书上传到 服务器。在服务器上...原创 2020-12-09 14:27:16 · 1554 阅读 · 2 评论 -
java后台请求第三方接口,写入中文参数时失败“message“:“Invalid UTF-8 start byte 0x84\n at XXXXXXXXX
RT调用第三方接口时,参数有些要传入中文,在connection.setRequestProperty("Content-Type", "application/json;charset=utf-8");这里也设置了编码格式,但是写入时还是会报{"status":400,"message":"Invalid UTF-8 start byte 0x84\n at [Source: (PushbackInputStream); line: 1,找了一下度娘,发现问题出现在我写入时没有进行编码的指定原创 2020-11-06 13:34:27 · 2589 阅读 · 0 评论 -
getInputStream与getOutputStream详解以及相互转换
客户端上的使用1.getInputStream方法可以得到一个输入流,客户端的Socket对象上的getInputStream方法得到输入流其实就是从服务器端发回的数据。2.getOutputStream方法得到的是一个输出流,客户端的Socket对象上的getOutputStream方法得到的输出流其实就是发送给服务器端的数据。服务器端上的使用1.getInputStream方法...原创 2020-02-21 16:53:31 · 11729 阅读 · 6 评论 -
java权限管理与用户角色权限设计
实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权...转载 2020-04-01 17:33:53 · 1290 阅读 · 0 评论 -
服务器tomcat运行一段时间会报org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header
在阿里云服务器上使用的tomcat进行部署的web项目,运行一段时间之后总会报错,说什么http在方法名称中发现无效的字符串, HTTP 方法名必须是有效的符号.INFO [http-nio-8080-exec-1] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request headerNote: further occurrences of HTTP header parsing errors will原创 2020-12-10 15:33:12 · 6508 阅读 · 7 评论 -
阿里云Tomcat出现卡死状态
简单的记录一下碰见的问题。做项目的时候用到了阿里云服务器,是Tomcat启动的,启动之后,运行项目出现假死状态(就是过几分钟后项目就运行不了,登录也登录不上,一直在响应状态) 解决办法,找到很多办法发现在Tomcat的命令窗口Ctrl+C就可以运行了,把命令窗口的快速编辑模式关闭即可解决假死状态。...原创 2020-02-21 11:48:23 · 503 阅读 · 0 评论 -
java.lang.IllegalArgumentException报异常
java.lang.IllegalArgumentException的使用场景:这个异常的解释是”方法的参数错误”,很多J2ME的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数如果写成负数就会出现这个异常,再比如g.setColor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们...原创 2020-02-21 16:56:28 · 2418 阅读 · 0 评论 -
java中堆和栈的区别
在说堆和栈之前,我们先说一下JVM(虚拟机)内存的划分: Java程序在运行时都要开辟空间,任何软件在运行时都要在内存中开辟空间,Java虚拟机运行时也是要开辟空间的。JVM运行时在内存中开辟一片内存区域,启动时在自己的内存区域中进行更细致的划分,因为虚拟机中每一片内存处理的方式都不同,所以要单独进行管理。 JVM内存的划分有五片: 1. 寄存器; 2. 本地方法区; 3. 方法区; 4. 栈内存; 5. 堆内存。 我们重点来说一转载 2021-01-16 10:20:12 · 79 阅读 · 0 评论 -
Java项目和Web项目的区别
1.Java Web项目是基于Java EE类的;而Java项目是基于Java应用程序的。2.Java项目主要面向桌面程序的应用,主要是awt、swing这类的编码,不包括JSP等前台页面的代码,大部分是CS架构的工程和一些jar包。JavaWeb项目是BS架构的系统,是网页的编码,像Jsp、Servlet、Struts这类的, JavaWeb项目部署到服务器上,任何用户都可以通过浏览器来访问。3.JavaWeb项目中的Java文件是tomcat服务器来触发的,脱离了web服务器就无法启动。而Ja原创 2020-09-08 16:29:01 · 2754 阅读 · 2 评论