
Java
Java知识整理
牧小七
自律、专注、认真使我自由
展开
-
Java8计算集合属性的平均值
使用java8计算集合属性的平均得分。原创 2025-03-14 16:51:01 · 189 阅读 · 0 评论 -
Java8计算集合属性的最小值
使用java8计算集合属性的最低得分。原创 2025-03-14 16:49:39 · 111 阅读 · 0 评论 -
Java --- 根据身份证号计算年龄
根据身份证号计算年龄。原创 2025-03-11 10:38:12 · 810 阅读 · 0 评论 -
java12 --- Switch增强
表达式,使用类似 lambda 语法条件匹配成功后的执行块,不需要多写 break。的问题,而且从代码整洁性层面来看,多个 break 本质也是一种重复。Java12 增强了。原创 2024-12-20 14:56:09 · 281 阅读 · 0 评论 -
java中计算两个Date日期相差的月份
在Java中使用Date对象,计算两个日期相差的月份。原创 2024-04-23 17:56:17 · 2059 阅读 · 1 评论 -
java Date 月份加1
使用Date对象,执行月份加1操作。原创 2024-04-23 17:53:48 · 917 阅读 · 0 评论 -
LocalDate月份加1
【代码】LocalDate月份加1。原创 2024-04-13 09:53:48 · 468 阅读 · 0 评论 -
LocalDate 判断两个日期大小
【代码】LocalDate 判断两个日期大小。原创 2024-04-13 09:51:15 · 1858 阅读 · 0 评论 -
MacOS---设置Java环境变量
在MacOS系统配置Java环境变量。原创 2024-03-15 17:12:48 · 1887 阅读 · 0 评论 -
java8 Stream---将list集合以type分组,并将value转换为id集合
使用方法,将list集合以type分组,并将value转换为id集合。原创 2023-12-13 14:28:14 · 457 阅读 · 0 评论 -
Java获取本地Mac地址
1.工具方法/*** 获取本地mac地址* 注意:物理地址是48位,别和ipv6搞错了* @return 本地mac地址*/try {//获取网卡,获取地址i++) {if (i!= 0) {//字节转换为整数} else {2.执行代码//第一种方式:利用自己写的方法获取本地mac地址。原创 2023-10-25 09:26:57 · 4014 阅读 · 0 评论 -
Java泛型中的问号是什么意思
因为 List 是泛型类,为了 表示各种泛型 List 的父类,可以使用类型通配符,类型通配符使用问号(?)表示,将一个问号当做类型元素传递个 List,可以表示为 List<?>,意思是 元素类型未知的 List,不同于 List 其元素类型为 T。这个问号被称为通配符,它的元素类型可以匹配任何类型。参考文章:https://blog.51cto.com/u_16099228/6507641。一般的,统配符不会出现在泛型类的声明上,而多用于使用泛型类或泛型方法。通配符的出现,允许类型参数变化。原创 2023-10-20 10:44:06 · 1828 阅读 · 0 评论 -
Java 反射 - 获取Class实例的3种方式
运行时类在内存中会缓存起来,在整个执行期间,只会加载一次。原创 2023-06-25 13:43:28 · 235 阅读 · 0 评论 -
java自定义注解
可以通过枚举类型RetentionPolicy的3个常量对象来指定SOURCE(源代码) 、CLASS(字节码) 、RUNTIME(运行时)唯有RUNTIME阶段才能被反射读取到。(3) @Documented:表明这个注解应该被 javadoc工具记录。(2) @Retention: 用于描述注解的生命周期。(4) @Inherited:允许子类继承父类中的注解。(1) @Target:用于描述注解的使用范围。对现有注解进行解释说明的注解。原创 2023-06-25 11:00:53 · 131 阅读 · 0 评论 -
Java数组常用方法
这些只是 Java 数组的一些常用方法,还有其他很多方法可用于数组的操作,如复制、填充、排序等。可以查阅 Java 官方文档或相关教程以获取更详细的信息和使用示例。Java 数组提供了一系列常用的方法,用于操作和处理数组。在已排序的数组中进行二分查找指定元素的索引。比较两个数组是否相等(元素内容相同)。注意,二分查找要求数组是有序的。将数组的所有元素设置为指定的值。将多维数组转换为字符串表示形式。返回数组的长度(元素个数)。将数组转换为字符串表示形式。复制数组的一部分或整个数组。对数组进行排序(升序)。原创 2023-06-06 11:11:12 · 1192 阅读 · 0 评论 -
Java String类常用方法
这些只是 String 类的一些常用方法,还有其他很多方法可用于字符串的处理,如替换、分割、查找等。可以查阅 Java 官方文档或相关教程以获取更详细的信息和使用示例。Java 中的 String 类是一个经常使用的类,提供了许多常用的方法来操作和处理字符串。返回从指定索引开始到指定索引结束的子字符串。判断字符串是否以指定的前缀或后缀开始或结束。将指定字符串连接到原字符串的末尾。将字符串转换为小写或大写形式。返回字符串的长度(字符数)。返回字符串中指定位置的字符。去除字符串两端的空白字符。原创 2023-06-04 23:43:33 · 991 阅读 · 0 评论 -
Java8 语法
Lambda表达式允许我们以更紧凑的方式编写代码,尤其是在需要实现函数式接口时。它提供了一种简单而强大的方式来对数据进行筛选、排序、映射等操作。方法引用是一种更简洁的Lambda表达式形式,可以将方法作为参数传递,从而避免重复编写相同的代码。这只是Java8中一些常用的语法,还有很多其他的新特性和语法需要我们去探索和学习。默认方法是接口中的一种新特性,它允许在不破坏现有代码的情况下向接口添加新方法。Java8引入了一套全新的时间API,它提供了一种更好的方式来处理日期和时间。原创 2023-06-04 20:22:45 · 153 阅读 · 0 评论 -
java 循环
do-while 循环与 while 循环类似,但它会先执行循环体,然后再检查循环条件。因此,循环体至少会执行一次。Java 提供了多种循环结构,可以用于重复执行一段代码。for 循环用于已知循环次数的情况下。它由三个部分组成:初始化表达式、循环条件和循环迭代。增强的 for 循环用于遍历数组或集合中的元素,它简化了对数组或集合的遍历操作。这些循环结构可以根据具体的需求选择适合的循环类型,使得代码能够有效地重复执行。while 循环用于在给定条件为真时重复执行一段代码。原创 2023-06-04 20:22:08 · 813 阅读 · 0 评论 -
java 循环
do-while 循环与 while 循环类似,但它会先执行循环体,然后再检查循环条件。因此,循环体至少会执行一次。Java 提供了多种循环结构,可以用于重复执行一段代码。for 循环用于已知循环次数的情况下。它由三个部分组成:初始化表达式、循环条件和循环迭代。增强的 for 循环用于遍历数组或集合中的元素,它简化了对数组或集合的遍历操作。这些循环结构可以根据具体的需求选择适合的循环类型,使得代码能够有效地重复执行。while 循环用于在给定条件为真时重复执行一段代码。原创 2023-06-04 20:17:20 · 470 阅读 · 0 评论 -
java 常量
使用常量的好处是可以避免在程序中意外地修改常量的值,提高代码的可读性和可维护性。常量通常在程序中被多个地方使用,以提供一个固定的值,例如数学常量、配置信息等。关键字用于修饰变量,表示该变量的值一旦被初始化后就不能再被修改,即该变量成为一个常量。都是常量,它们的值分别是 100、3.14159 和 “Hello, World!在 Java 中,可以使用关键字。原创 2023-06-04 20:18:13 · 629 阅读 · 0 评论 -
java 变量
在 Java 中,变量用于存储数据,并可以在程序执行过程中更改其值。在使用变量之前,需要先声明它。声明变量时需要指定变量的类型和名称。通过使用变量,我们可以在程序中存储和操作数据,使代码更加灵活和可复用。在程序中可以使用变量进行各种操作,例如进行计算、赋值和打印等。变量可以在声明时进行初始化,也可以在稍后的代码中进行赋值。分别被赋值为 5 和 10,然后将它们相加并将结果存储在变量。原创 2023-06-04 20:15:47 · 488 阅读 · 0 评论 -
Java 多线程
在 Java 中,多线程的实现主要依靠线程类和线程对象的使用。创建一个继承自 Thread 类的自定义线程类,或者实现 Runnable 接口的自定义线程类。需要注意的是,在多线程编程中需要考虑线程安全性和竞态条件,以避免并发访问导致的问题。注意,不要直接调用线程对象的 run() 方法,这样只会在当前线程中执行 run() 方法的内容,而不会启动一个新的线程。线程对象启动后,会自动执行线程类中的 run() 方法中定义的任务。在程序中创建线程对象,可以通过实例化线程类或使用匿名内部类的方式。原创 2023-06-04 20:13:20 · 640 阅读 · 0 评论 -
Java 线程池
上述示例中,使用了 ThreadPoolExecutor 的构造方法创建了一个线程池对象,指定了核心线程数为 10,最大线程数为 20,线程空闲时间为 60 秒,任务队列的容量为 100。Java 线程池是一种管理和复用线程的机制,可以提高线程的执行效率和资源利用率。通过线程池,可以避免频繁创建和销毁线程的开销,并且可以控制并发线程的数量。使用 ThreadPoolExecutor 类的构造方法创建一个线程池对象,并指定线程池的参数,如核心线程数、最大线程数、线程存活时间等。原创 2023-06-04 20:11:20 · 488 阅读 · 0 评论 -
Java 多线程处理不返回结果
Java 多线程处理不返回结果原创 2023-03-08 10:52:53 · 395 阅读 · 0 评论 -
Java 多线程中获取Spring容器对象
Java 多线程中获取Spring容器对象原创 2023-03-07 18:56:25 · 298 阅读 · 0 评论 -
Java 多线程返回结果
Java 多线程返回结果原创 2023-03-07 18:49:09 · 481 阅读 · 0 评论 -
使用Sting自带的format方法保留两位小数
使用Sting自带的format方法保留两位小数原创 2023-02-24 11:14:36 · 106 阅读 · 0 评论 -
Java8的语法使用
java8语法原创 2022-07-08 10:17:45 · 409 阅读 · 0 评论 -
使用递归或while循环获取父/子层级结构的名称
使用递归或while循环获取父/子层级结构的名称https://mp.weixin.qq.com/s/87NJnPgKaeQ7CDh9uw6u2A原创 2022-05-27 00:08:52 · 209 阅读 · 0 评论 -
Java删除StringBuilder最后一个逗号
//删除StringBuilder最后一个逗号 StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("123,"); stringBuilder.deleteCharAt(stringBuilder.length()-1); System.out.println(stringBuilder.toString());原创 2022-05-04 10:20:33 · 7270 阅读 · 0 评论 -
什么是Spring Cloud
Spring Cloud简介Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分原创 2022-04-23 15:14:44 · 430 阅读 · 0 评论 -
什么是消息队列
消息队列的特点1.异步:消息队列本身是异步的,不需要等待回应。(消息队列的异步特点,也造成了一个缺点,就是接收者必须轮询消息队列,才能收到最近的消息)2.解耦:消息队列减少了服务之间的耦合性,不同的服务可以通过消息队列进行通信,而不用关心彼此的实现细节,只要定义好消息的格式就行。3.广播:消息队列的基本功能之一是进行广播。如果没有消息队列,每当一个新的业务方接入,我们都要联调一次新接口。有了消息队列,我们只需要关心消息是否送达了队列,至于谁希望订阅,是下游的事情,无疑极大地减少了开发和联调的工作量。原创 2022-04-23 13:36:56 · 4908 阅读 · 0 评论 -
JavaWeb文件分片上传实现逻辑
功能点分片上传、断点续传、急速秒传分片上传实现逻辑1.选择上传文件,将文件名称和文件大小拼接进行md5加密,计算文件的唯一值。使用md5值在服务器创建文件夹,保存上传的文件分片。2.将文件进行分片,上传前使用md5值检查当前分片是否存在,存在不进行上传,不存在进行上传。3.分片上传完毕后,将所有分片进行合并,使用md5值作为文件的名称进行保存。断点续传实现逻辑分片上传会将文件进行分片保存,当文件重新上传时会进行判断分片是否已上传,已上传的分片会进行跳过。急速秒传实现逻辑急速秒传是根据文件的原创 2022-04-20 13:13:47 · 763 阅读 · 0 评论 -
Java获取当前电脑的ip地址
import java.net.Inet4Address;import java.net.InetAddress;import java.net.UnknownHostException;/** * @author guochao * @version 1.0 * @date 2022/4/19 22:01 */public class IPUtil { /** * 获取本地电脑ip地址 * @return */ public static S原创 2022-04-19 22:08:19 · 7386 阅读 · 0 评论 -
迷你考试系统v1.0.0版本
功能介绍后台用户登录当前用户(退出、修改个人信息、进入前台)用户管理(添加、修改、改密码、删除)试题管理(添加、修改、删除)试卷管理(添加、修改、设置试题、删除)考试管理(添加、设置考试试卷和考试用户、浏览用户考试数据、考试阅卷、修改、删除)试题分类(添加、修改、删除)菜单管理(添加、修改、设置顺序、设置菜单显示、删除)前台用户登录当前用户(修改密码、退出登录、修改个人信息、进入后台)我的考试(考试列表、考试页面、考试解析)图片展示后台图片前台图片源码获取关原创 2022-03-17 01:35:41 · 421 阅读 · 0 评论 -
配置Java环境变量
创建JAVA_HOME变量JAVA_HOMEC:\Program Files\Java\jdk1.8.0_181修改Path变量,增加Java;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;创建ClassPath变量ClassPath.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;原创 2021-12-08 09:43:16 · 335 阅读 · 0 评论 -
Properties集合
晚上好,我是音神,现在是:2021年12月2日23:27:53load方法,读取 properties 文件@Test public void t1() throws IOException { Properties pro = new Properties(); FileReader fr = new FileReader("E:\\github\\java-basics\\src\\test\\java\\pro.properties"); /原创 2021-12-02 23:34:14 · 298 阅读 · 0 评论 -
List集合分片
要实现分片功能,第一步我们先要添加 Guava 框架的支持,在 pom.xml 中添加以下引用:<!-- google guava 工具类 --><!-- https://mvnrepository.com/artifact/com.google.guava/guava --><dependency> <groupId>com.google.guava</groupId> <artifactId>guava</art原创 2021-10-22 17:00:50 · 204 阅读 · 0 评论 -
介绍synchronized、lock
synchronizedsynchronized是一个基于jvm的重量级的锁,他可以保证线程的绝对安全,但是也有一些问题:比如它是非公平的,它的性能不高。它的底层原理实际上是在jvm有一个是类似于计数器的东西叫做monitor,它默认情况下是0,但我们加锁的时候就+1变为1,解锁就是-1变为0,由于Synchronized是一个对象锁,所以它只能允许带有对象头的对象来进行加锁解锁操作,当对象进行加锁时会执行指令monitor enter,当解锁时执行monitor exit。除此之外它还有一些特性:比原创 2021-10-21 09:41:07 · 91 阅读 · 0 评论 -
Dos命令后台运行Jar包
%1 mshta vbscript:CreateObject(“WScript.Shell”).Run("%~s0 ::",0,FALSE)(window.close)&&exitjava -jar E:\start\newscreening-0.0.1-SNAPSHOT.jar原创 2021-10-19 16:09:36 · 944 阅读 · 0 评论