handlerinterceptor过滤器filter java
企业微信群机器人发送消息(三)java端如何控制
1.先在群里添加机器人,然后获取机器人的webhook地址: 假设webhook是:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa 2.有多种方式发送群消息,可以采用c ......
Java String类
1.substring() 方法返回字符串的子字符串。 public String substring(int beginIndex) 或 public String substring(int beginIndex, int endIndex) 1 class Main { 2 public st ......
Java中 length 和 length()的区别
在Java中,str.length针对的是数组,而str.length()针对的是针对的字符串 数组(str.length) 的特点有:长度固定,类型固定。因此数组的长度就可以被视为是一种数组的属性 字符串(str.length()) : string 的内部机制是一个 char 数组,而 char ......
Java多线程编程的优点和缺点
优点: 加快响应用户的时间:多线程允许并发执行多个任务,可以充分利用多核处理器,从而提高程序的性能和响应速度。比如我们经常用的迅雷下载,都喜欢多开几个线程去下载,谁都不愿意用一个线程去下载,为什么呢?答案很简单,就是多个线程下载快啊。 简化程序结构、模块化、异步化:例如我们实现电商系统,下订单和给用 ......
Java并发编程和多线程的区别
并发编程: 并发编程是一种编程范式,它关注的是编写能够正确和高效处理多个并发任务的程序。并发编程不仅包括多线程,还包括了处理多个独立任务的各种技术和模式,如进程、协程、分布式编程等。并发编程的目标是实现任务的并发执行,以提高系统的性能和资源利用率。 因此,多线程是并发编程的一部分。多线程是在单个程序 ......
java 获取月初的第一天
一、背景 点击查看代码 SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(); Date da = new Date(date.getYear(),date.getMont ......
在Java中,如何避免检查空值?
内容来自 DOC https://q.houxu6.top/?s=在Java中,如何避免检查空值? 我使用 x != null 来避免空指针异常。有没有其他的替代方法? if (x != null) { // ... } 在我看来,这是一个相对常见的问题,初级到中级的开发人员在某个时候都会遇到:他们 ......
cpu在执行 java时,java指令是保存在数据cache中还是指令cache中
Java代码在运行时,首先由JVM(Java Virtual Machine)编译器将Java字节码转换成本地机器代码,然后再由CPU执行。 在CPU中,指令缓存(Instruction Cache)和数据缓存(Data Cache)都是用于提高CPU处理效能的缓存结构,它们是处理器访问内存的缓存。 ......
Java AbstractQueuedSynchronizer
目录前言CLH 锁AQS 框架AQS 核心思想AQS 的同步状态AQS 对资源的共享方式AQS 的重要方法AQS 的数据结构NodeConditionObjectConditionConditionObjectAQS 源码分析核心方法acquire 方法addWaiteracquireQueuere ......
java实现大文件多线程上传案例
当机器内存大小为4G,需要上传一个大小为50G的文件时,为了避免内存溢出,可以采用分片上传的方式,即将大文件切分成多个小片段进行并发上传。以下是一个详细的方案和代码实现示例: 方案说明: 将大文件切分成多个大小适当的片段(例如每个片段大小为100MB)。创建一个线程池来管理并发上传任务,控制同时进行 ......
java批量执行atax同步MySQL表时出现卡住问题处理
中断问题和datax中自带的MySQL jar包版本有关,更换后即可。 背景:有个需求需要把服务器上的mysql业务库数据同步到另一台服务器上,我选择了datax来做批量同步操作。 现象:java批量执行的代码写好后,在自己电脑(win10)执行没问题,换了一台电脑(也是windows server ......
详解Java HashMap
HashMap介绍 HashMap遍历方式 HashMap的遍历,大体上可分为4类,而每种类型下又有不同的实现方式,总共的遍历方式可分为7种: 迭代器遍历: 使用迭代器对EntrySet遍历; 使用迭代器对KeySet遍历; foreach遍历: 使用foreach对EntrySet遍历; 使用fo ......
java 调度任务 产品功能对比(quartz,xxl-job,powerjob)
同类产品对比 QuartZ xxl-job SchedulerX 2.0 PowerJob 定时类型 CRON CRON CRON、固定频率、固定延迟、OpenAPI CRON、固定频率、固定延迟、OpenAPI 任务类型 内置Java 内置Java、GLUE Java、Shell、Python等脚 ......
java中接口的实现方式
目录Java8 接口初始化的几种场景通过接口实现类的方式实现1. 定义接口2. 接口实现3. 测试方法通过jdk8中双冒号方式1. 实现通过箭头函数Lambda表达式的方式1. 定义接口2. 接口实现3. 测试方法将接口作为方法参数1. 定义一个方法2. 调用方法并实现接口方法 Java8 接口初始 ......
java程序的运行流程(jdk,jre,jvm的关系)
资料来源于第8课:https://www.bilibili.com/video/BV1o841187iP?p=8&spm_id_from=pageDriver&vd_source=c3a656550cf5d38944e8878bb7026cbc 1.我们手写的java 代码为.java后缀文件储存在 ......
Java 中的异常处理
在 Java 中,异常是中断程序正常流程的事件。当发生意外情况时,会引发异常。如果没有正确的处理,这些异常可能会使您的程序崩溃。Java 提供了强大的异常处理机制,确保您的代码能够优雅地处理意外情况。 异常可能由多种因素引起,例如: 用户输入错误 硬件故障 网络连接错误 数据库错误 编程错误1. 1 ......
Java Assert断言使用
目录 断言 所谓的assertion,是jdk1.4后加入的新功能。 作用 它主要使用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序就提出警告或退出。 后续 当软件正式发布后,可以取消断言部分的代码。 java中使用assert作为断言的一个关键字,这就 ......
Java拾贝第三天——面向对象2
继承性 面向对象三大特性:封装性,继承性,多态性。 继承的作用是避免出现大幅度的相同代码,提高代码的复用性。 //现有一个Person类,拥有name,age属性 class Person { private String name; private int age; //构造方法和setter,g ......
Java设计模式
七大设计原则 开闭原则:是指一个软件实体如类、模块和函数应该对扩展开放, 对修改关闭 依赖倒置原则:是指设计代码结构时,高层模块不应该依赖底层模块,二者都应该依赖其抽象而不依赖于具体。 单一职责原则:是指一 个 Class/Interface/Method 只负责一项职责。 接口隔离原则:是指用多个 ......
Java常见集合类学习笔记
List 1.ArrayList Vector LinkedList区别 ArrayList和Vector底层实现基本相同,都是基于数组实现的,只是Vector的方法用synchronized修饰;所以ArrayList是线程不安全的,Vector是线程安全的。 LinkedList底层基于 ......
Java大文件上传详解及实例代码
前言: 上周遇到这样一个问题,客户上传高清视频(1G以上)的时候上传失败。 一开始以为是session过期或者文件大小受系统限制,导致的错误。查看了系统的配置文件没有看到文件大小限制,web.xml中seesiontimeout是30,我把它改成了120。但还是不行,有时候10分钟就崩了。 同事说, ......
java -jar命令及SpringBoot通过java -jav启动项目的过程
本篇文章将为大家讲述关于 SpringBoot 项目工程完成后,是如何通过 java-jar 命令来启动的,以及介绍 java-jar 命令的详细内容,对SpringBoot java -jav启动过程感兴趣的朋友跟随小编一起看看吧 本篇文章将为大家讲述关于 SpringBoot 项目工程完成后,是 ......
Java-全网最详细反射
Java-反射 前言 Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语 ......
Java 常用中间件
Java 常用中间件 1、网关 Nginx、Kong、Zuul、Gateway 2、缓存 Redis、MemCached、OsCache、EhCache 3、搜索 ElasticSearch、Solr 4、熔断 Hystrix、resilience4j 5、负载均衡 DNS、F5、LVS、Nginx ......
java实现大文件传输
简介在现代互联网中,我们经常需要传输大文件,例如视频、音频或者大型数据文件。传输大文件需要考虑诸多因素,例如网络延迟、带宽限制和传输安全性。在本文中,我们将介绍如何使用Java实现大文件传输,并提供相应的代码示例。 文件传输协议在进行大文件传输之前,我们需要选择合适的传输协议。目前常用的文件传输协议 ......
java导出占位符word模板
实际项目中,便于维护模板,采用直接 word里面制作占位符 来导出更为直观,而不是 将word做成tpl模板。 使用XWPFDocument (这种解析xlsx或者docx)和 HWPFDocument(这种解析xls或者doc)。 代码如下: 写磁盘代码: 点击查看代码 // 创建Word模板文件 ......
java-springboot和servlet的项目搭建
1.404->启动tomcat->tomcat闪退->配置jre全局环境,重启电脑->8080端口被占用->下载太多tomcat->重新配置->还是被占用 ->命令行找netstat -ano |findstr 80得到PID,在任务管理器找到(用PID排序会更好找)是一个java.exe,结束进程 ......
组合模式--Java实现
画类图 以文件夹浏览为例; 具体代码实现 //AbstractFile.java package org.example.design008; public abstract class AbstractFile { public abstract void add(AbstractFile ele ......
大集合里查询数据-布隆过滤器
1.问题场景 有100亿个url被加入了黑名单,现在提供一个url要去判断是否属于黑名单。也就是一个很简单的一个东西是否属于一个集合的问题。 一般来说用set就能解决这种问题,但是由于url数目太多,内存中无法开辟一个这么大的空间去存放所有url,这个时候就需要我们去使用一种结构,去减少状态信息存储 ......
自邮之翼Java Web开发入门学习之旅 阶段一
这个阶段的任务是“完成开发环境的安装和配置,并基于JSP实现一个“Hello the World”页面。 主要使用的开发环境为:Intellij Java , 进行开发前需要完成的环境配置如下: ·配置java环境(JDK17) ·配置maven环境(apache-maven-3.9.4) ·配置T ......