![](https://img-blog.csdnimg.cn/c140d943f77143858f23094e3946c8ed.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 64
java相关知识点及【Java实战】系列
.猫的树
欲买桂花同载酒,终不似少年游
展开
-
Maven如何将JAR包上传至本地仓库及私服
以上就是今天要讲的内容,本文仅仅简单介绍了Maven将JAR文件上传至本地仓库及私服的步骤,希望能给大家一个参考,若有错误及不足之处请在下方评论留言⭕关注博主,不迷路 ⭕。原创 2023-10-12 10:38:21 · 6049 阅读 · 0 评论 -
Java 中使用 trim() 无法去除空格的解决方法
今天遇到一个比较怪异的问题,这里简单记录一下:有个需求是需要去掉字符串后面的空格,我这里使用的是到这里是不是完全没问题,但是今天发现输入的数据明明带了空格,结果还是没有去掉,没有得到想要的结果。原创 2023-05-29 21:05:32 · 1731 阅读 · 4 评论 -
Java 实现HTTP请求的四种方式总结
以上就是今天要讲的内容,本文仅仅简单介绍了 Java 中常见的几种发送 HTTP 请求的方式,可以根据实际需要选择合适的方式。⭕关注博主,不迷路 ⭕。原创 2023-05-11 18:58:36 · 7532 阅读 · 4 评论 -
Windows同时安装两个版本JDK,并实现动态切换版本JDK8和JAVA17教程
以上就是今天要讲的内容,本文简单介绍了Windows安装两个版本JDK实现动态切换版本的方法,以上方法亲测有效,希望能给大家一个参考。原创 2023-01-12 11:19:41 · 6707 阅读 · 8 评论 -
【面试】多线程知识点
一、创建多线程得四种方式1、继承Thread类的方式:1.创建一个继承于Thread类的子类2.重写Thread类的run() --> 将此线程执行的操作声明在run()中3.创建Thread类的子类的对象4.通过此对象调用start():①启动当前线程 ②调用当前线程的run()class MyThread extends Thread { // 线程执行体 @Override public void run() { System.out.pr原创 2022-04-22 15:36:29 · 557 阅读 · 0 评论 -
Java 下载excle模板问题记录
项目场景:在编写后台信息excle导入功能,需要先提供excle模板下载功能问题描述:在编写excle模板下载功能时,遇到以下问题:Failed to read zip entry source导出excle模板名称乱码No converter for with preset Content-Type ‘multipart/form-data’原因分析及解决方案:第一个问题查看错误日志,提示IOException异常,excel模板在项目打包编译时,xlsx文件解压缩时出问题;原创 2021-12-16 16:41:09 · 969 阅读 · 0 评论 -
【Java 基础你一定要掌握的知识点】Java异常处理和设计
异常(exception)是在运行程序时产生的一种异常情况,已经成为了衡量一门语言是否成熟的标准之一。一、什么是异常程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。那如果程序产生异常,是任程序自生自灭,立刻退出终止,还是输出错误给用户?Java 提供了更加优秀的解决办法:异常处理机制。Java 通过面向对象的方法来处理异常。在一个方法的运行过程中,如果发生了异常,则这个方法会产生代表该异常的一个对象,并把它交给运行时的系统,运行时系统寻找相应的代码来处理这一异原创 2021-11-25 11:54:37 · 487 阅读 · 0 评论 -
【Java 基础你一定要掌握的知识点】多线程
Java 给多线程编程提供了内置的支持。在多线程编程之前,我们需要先了解什么是线程。进程和多线程简介进程:进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。线程:线程与进程相似,但线程是一个比进程更小的执行单位。一条线程是进程中一个单一顺序的控制流多线程:多线程就是多个线程同时运行或交替运行。几个重要概念同步和异步:同步和异步通常用来形容一次方法调用。同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行原创 2021-11-15 15:50:30 · 450 阅读 · 0 评论 -
【都 Java17 了,还不了解 Java 8 ? 】一文带你深入了解 Java 8 新特性
Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。新特性以下是Java 8 新增的部分特性,更多新特性了解请详细参考:What’s New in JDK 8• Lambda 表达式• 方法引用• 函数式接口• 默认方法• Stream• Optional 类• Nashor原创 2021-11-13 14:22:29 · 2387 阅读 · 2 评论 -
API接口签名验证_MD5加密出现不同结果的解决方法
项目场景:系统在提供接口给第三方系统使用时,通常为了安全性会做接口加密。设计原则:使用HTTPS安全协议 或 传输内容使用非对称加密,这里采用后者。问题描述:在对参数进行加密,生成sign时,相同的参数两次加密的结果不一样。加密规则:public class SignUtil { /** * Md5加密方式生成sign * 参数名ASCII码从小到大排序(字典序) * * @param parameters 参数名-值 * @param原创 2021-11-02 09:52:53 · 867 阅读 · 0 评论 -
BigDecimal加减乘除计算
BigDecimal初始化BigDecimal一共有4个构造方法:BigDecimal(int) 、BigDecimal(double) 、BigDecimal(long) 、BigDecimal(String)当double必须用作BigDecimal的源时,请使用Double.toString(double)转成String,然后使用String构造方法,或使用BigDecimal的静态方法valueOf,BigDecimal加减乘除计算add(BigDecimal value); //加法原创 2021-10-19 16:27:37 · 1272 阅读 · 0 评论 -
基于token身份认证的完整实例
文章目录前言一、基于Token的身份认证工作流程二、实现步骤1.配置过滤请求2.实现过滤器3.登录接口4.登录之后获取用户信息总结前言基于Token的身份认证是无状态的,服务器或者Session中不会存储任何用户信息。一、基于Token的身份认证工作流程1.用户通过用户名和密码请求访问2.服务器验证用户,通过校验则向客户端返回一个token3.客户端存储token,并且在随后的每一次请求中都带着它4.服务器校验token并返回数据每一次请求都需要token -Token应该放在请求hea原创 2021-08-09 11:03:21 · 4003 阅读 · 0 评论 -
Windows下载安装Redis
一、下载Redis下载地址:网盘链接提取码:v2mi二、安装Redis1.安装步骤点击下载的安装文件点next下一步勾选框是将启动目录加到path目录中没有勾选,可以自己在环境变量path中配置,后面直接默认安装2.验证安装是否成功1、打开cmd窗口,输入redis-cli.exe -h 127.0.0.1 -p 6379后回车,出现下面情况说明redis安装且连接成功3.设置密码1.输入config get requirepass查看密码(没有设置的话返回的密码为空)原创 2021-07-27 10:37:30 · 2182 阅读 · 0 评论 -
定时任务task:annotation-driven配置
from:https://blog.csdn.net/qq_37061442/article/details/78689053?locationNum=7&fps=1讲这个之前,我们先讲讲定时器。从实现技术上来看,定时器分为三种:1.Timer比较单一,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行,一般用的较少。2.Quartz是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度转载 2021-05-27 11:39:11 · 2505 阅读 · 0 评论 -
java微信小程序授权微信登录获取手机号
1.调用微信登录wx.login()获取code,通过code调用后台,获取信息sessionId /** * 获取微信小程序session_key * * @param jsonStr * @return */ @RequestMapping(value = "/getSessionKey", method = RequestMethod.POST, produces = "application/json;charset=utf-8")原创 2021-05-21 16:51:26 · 3179 阅读 · 1 评论 -
Java导出excel
控制层Controller /** * 导出状态 */ private boolean excelFlag = true; /** * 导出excel * * @param response * @param keyword 关键字 * @param type 类型 * @param state 状态 * @param startTime 开始时间 * @param endTime 结束.原创 2021-05-18 17:33:57 · 2510 阅读 · 0 评论 -
手机发送短信验证码登录完整实例
文章目录项目需求一、发送短信1.了解短信发送二、手机号登录1.发送短信接口2.登录接口总结项目需求后台生成随机6位数作为验证码,发送给手机,同时将验证码存入缓存,用户登录时验证输入的验证码是否过期或者是否正确。一、发送短信1.了解短信发送通过发送短信的API,建立一个URL类的对象打开网络连接,通过连接对象得到输入流,就能实现短信发送URL url= new URL(""https://XXXXXX?phoneNumbers=[手机号]&content=[短信内容]"");//使用方原创 2021-04-21 16:18:46 · 5758 阅读 · 1 评论 -
后端接收不到前端传入的header参数信息
问题描述:在局域网下,前端页面请求时在请求头里携带token信息,后台获取不到header里的token参数String token = request.getHeader("accessToken");if (!StringUtil.hasText(token)) { token = request.getParameter("accessToken");}... 原因分析:debug查看了下返回的request参数host = 172.16.115.198:8080conn原创 2021-04-14 16:59:01 · 8504 阅读 · 4 评论 -
位图排序:对随机生成的一亿数字进行排序(排序时间控制在3秒内)
位图排序是一种效率极高(复杂度可达O(n))并且很节省空间的一种排序方法,特点是用内存空间换取CPU时间。其原理是将一个bit当作一个数字,然后遍历,设置1为存在,0为不存在,然后顺序输出即可。例如:有一个集合{4,6,5,8,2,1},我们可以用一个8位的二进制向量set[1-8]来表示该集合,如果数据存在,则将set相对应的二进制位置1,否则置0.根据给出的集合得到的set为{1,1,0,1,1,1,0,1},然后再根据set集合的值是否为1输出对应的下标即可得到集合{1,2,4,5,6,8}。原创 2021-01-09 17:26:06 · 3164 阅读 · 0 评论 -
Java导出加密的CSV文件
将页面查询(分页查询)的数据导出为csv文件,主要问题还是文件的写入。(这里是生成zip压缩文件,输入的密码才能打开或解压文件)工具类生成文件public class CSVFileDownloadView extends AbstractFileDownloadView{ @Override protected InputStream getInputStream(Map<String, Object> model, HttpServletRequest request) throws原创 2020-10-31 15:32:42 · 2691 阅读 · 0 评论 -
java CSV文件登录数据(返回错误数据)
页面上传一个csv文件,check文件内容,如果不满足要求,则返回错误信息,反之则登录数据。(仅供参考)1.导入依赖(opencsv.jar)2.创建工具类UserErrorInfo.java(存放错误信息)public class UserErrorInfo { /** * 行番号 */ private int rowIndex; /** * 用户ID */ private String userId;原创 2020-10-31 02:10:50 · 2084 阅读 · 0 评论