java基础
对java基础的分类
丶moli
问:为什么选择软件这一行
答:不给钱都喜欢干的事,何况是给钱
展开
-
java给时间增加减少几个小时的方法
java给时间增加减少几个小时的方法原创 2022-08-04 17:47:35 · 4858 阅读 · 1 评论 -
自定义注解动态赋值
文章目录需求一、自定义注解类二、请求方法添加注解类1.请求方法添加注解三、AOP拦截器1.请求方法添加注解总结需求 实现自定义注解动态赋值,针对请求传输过来参数进行动态赋值,拦截处理redis缓存中文章的阅读浏览量。。直接上代码一、自定义注解类代码如下(示例):/** * created By gywenlover on 2020-08-11 * * 该注解作用在方法上,需要传入动态el值进行阅读量增加(el内容为el表达式) * * */@Target(ElementTy原创 2021-08-11 18:25:30 · 2284 阅读 · 1 评论 -
java树形菜单查询(mybatis树形结构查询)
java树形菜单查询1、数据表结构2、实体类@Datapublic class GzSiteMap extends BaseEntity { private static final long serialVersionUID = 1L; /** * 主键 */ private Long id; /** * 名字 */ @Excel(name = "名字") private String mapName;原创 2021-08-04 16:27:43 · 703 阅读 · 0 评论 -
基于redis的分布式锁实现,使用redistemplate操作
今天写bug的时候遇到一个稍微麻烦一点的问题,为了阐述清楚,和实现思路,我会把整个步骤说明一下,我是怎么解决这个问题的。说一下整体流程,用户有一次免费抽奖次数,免费抽奖次数是通过用户id去查询抽奖记录表中当天的抽奖次数,但是并发处理的时候,遇到了超卖的问题,于是想用synchronized来解决,但是synchronized会影响效率的问题,就选择了用redis来处理开始实现思路: Object join_count = redisCache.getCacheObject("JOINCO原创 2021-02-03 15:25:10 · 176 阅读 · 0 评论 -
MybatisPlus查询条件空字符串和NULL问题
问题背景在使用MP实现条件查询时,如果入参为null或者""时,则MP还是会把其当做条件去执行:select * from user where name = ?(String)string为“”还是有参数MP官方文档给出解决方案:https://mp.baomidou.com/config/#insertstrategy个人建议增加全局配置:mybatis-plus: global-config: db-config: select-strategy: not_e原创 2020-12-23 14:33:06 · 5478 阅读 · 1 评论 -
nginx配置禁止抓包工具
nginx配置禁止抓包工具访问: server { if ($http_user_agent ~* ApacheBench|WebBench|java/){ return 403; } if ( $http_user_agent ~* (Wget|ab) ) { return 403; } if ( $http_user_agent ~* LWP::Simple|BBBike|wget) { r原创 2020-09-20 07:23:47 · 1420 阅读 · 0 评论 -
用java代码实现的小工具
package com.ruoyi.project.shop.util;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;/** * @author gywenlover * @Classname Read * @Date 2020/6/24 0024 16:26 */public class Read { public static String txt2String(Fi原创 2020-06-24 16:40:53 · 839 阅读 · 0 评论 -
解决mysql大数据批量插入,POI大文件读取
1、记录一下解决问题的思路,时间比较紧,直接上代码,逻辑处理比较多,直接看main方法就行,后期再补充完善一下这篇文章package com.ruoyi.project.shop.util;import org.apache.poi.openxml4j.exceptions.OpenXML4JException;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.sql.*;原创 2020-06-24 14:17:50 · 353 阅读 · 0 评论 -
Linux配置IPV6(深坑)CenterOS7.7
Linux增加Ipv6支持,通过苹果审核1、检查服务器是否支持ipv61、检查服务器IPV6的支持ifconfig我的服务器是配置好的,所以有ipv6的支持,如果你没有ipv6的支持请继续看下面的配置,如果您有ipv6的支持,请看第三步2、添加IPV6的支持1、找到配置sysctl.conf 文件,路径在:/etc/sysctl.conf ,找到如下配置: &...原创 2019-12-13 18:50:27 · 1342 阅读 · 1 评论 -
解决阿里云OSS,打开图片地址无法预览,直接下载
问题描述:阿里云对象存储上传的图片打开是下载,并不是我想要的效果,我希望的是可以直接预览:可以直接在网址上面查看的那种。首先你得检查一下你的图片contentType,一般是通过代码设置的 objectMetadata.setContentType(getcontentType(fileName.substring(fileName.lastIndexOf(".")))); p...原创 2019-12-03 12:08:05 · 46399 阅读 · 54 评论 -
HTTP的三次握手和四次挥手
HTTP的三次握手和四次挥手1、三次握手先从个人理解开始,为什么http的握手是三次,而不是四次五次或者两次呢,画个图看看,顺便说一句,原则上任何数据传输都无法确保绝对可靠,三次握手只是确保可靠的基本需要。次数多了影响性能,少了不能保证基本的需要。举个通俗易懂的例子:我们在LOL时候,与小伙伴语音: A同学:你好,听得到不? B同学:听得到,你听得到我说的话么? A同学:听得到...原创 2019-09-05 18:34:06 · 858 阅读 · 0 评论 -
tomcat点击Tomcat7.0.exe闪退
今天在处理windows 服务器上处理tomcat的时候,突然发现tomcat.exe执行闪退,查了一下百度,说是jre和jdk的配置有问题,但是在服务器上面的东西没有进行修改和改动。 查了很多文档,最终在日志文件中发现tomcat在启动的时候提示找不到jre的目录,顺着jre的目录去查找了一下,发现jre的版本被更新了,最终的解决办法就是:修改tomcat启动的...原创 2019-03-19 09:52:29 · 433 阅读 · 3 评论 -
tomcat控制台怎么复制(Windows)
1、选择需要复制的内容。2、点击鼠标右键(点击过后所选择的区域会被取消)。3、然后粘贴。原创 2019-03-19 09:57:43 · 2789 阅读 · 0 评论 -
数据库事务的特性和隔离级别
数据库的基础知识一、数据库事务的特性:1、原子性第一个原子性,这个是最简单的。说的是一个事物内所有操作共同组成一个原子包,要么全部成功,要么全部失败。这是最基本的特性,保证了因为一些其他因素导致数据库异常,或者宕机。2、一致性第二一致性,这个是大家误解最深的,很多博客都喜欢用银行转账的例子来讲一直性,所谓的一致性是基于原子性。 原子性只保证了一个事物内的所有操作同一性,大家同生死,不会出...原创 2019-06-27 09:56:00 · 170 阅读 · 0 评论 -
Maven项目达成war包
1、首先修改配置文件pox.xml里面的打包方式,把jar包改成war包。2、启动cmd命令3、先把命令行切换到Maven项目的根目录,比如:d:/workspase/java/maven-test,然后执行命令:mvn clean package4、这样打包内容就完成了!...原创 2019-03-19 10:02:55 · 192 阅读 · 0 评论 -
Eclipse安装好后快捷方式无法在桌面上打开,在Eclipse文件夹里可以正常打开。
其实解决这个问题很简单。1、找到你安装jre的文件夹,如图:2、将这个jre文件夹复制到Eclipse文件夹中,桌面上的Eclipse快捷方式就可以正常打开了。...原创 2019-05-06 15:30:00 · 7113 阅读 · 10 评论 -
ArrayList和LinkedList的区别以及优缺点
ArrayList和LinkedList的区别以及优缺点(在面试的时候经常会提问,谈一谈以你对ArrayList和LinkedList的区别以及优缺点,今天做一下笔记,方便以后查看,个人理解,不一定正确,若真有错误,请轻喷)1、ArrayList:ArrayList实现了基于动态数组的数据结构,每个元素在内存中存储地址是连续的,根据下标查询的速度是很快的,向集合元素末尾添加的效率也是非常快...原创 2019-07-09 11:59:07 · 2461 阅读 · 0 评论 -
Thymeleaf 条件判断
menu.price是有值的。 <input type="number" name="price" th:value="${menu.price}"placeholder="请设置您价格" required> 这样使用就报错了Property or field ‘price’ cannot be found on null...原创 2019-03-19 10:04:54 · 1159 阅读 · 0 评论 -
Java—重写与重载的区别
今天面试时被问到重写与重载的区别,记录一下,加深印象,后期也好查看。1、重载(Overload)在同一个类中,方法名相同,参数不同(类型不同,顺序不同,个数不同),则被视为重载,同时,重载对返回类型没有要求,可以相同也可以不同,但不能通过返回类型是否相同来判断重载 :public class OverloadAndOverride { public void add() { ...原创 2019-09-04 19:20:04 · 176 阅读 · 0 评论 -
String、StringBuffer、StringBuilder的区别
今天看了几篇文章,对String、StringBuffer、StringBuilder三者之间有了一丝了解,记录一下,加深印象,以便后期查看。1、首先从速度来说 String<StringBuffer<StringBuilder。因为在String中,他是一个字符串常量,二StringBuffer、StringBuilder是一个字符串变量String最慢的原因:String为...原创 2019-03-18 15:00:41 · 107 阅读 · 0 评论