java

Java中递归的简单应用

递归是一种非常常见的编程技巧,它可以将一个复杂的问题分解成更小的问题,然后递归地解决这些小问题,最终得到整个问题的解。递归的本质就是函数调用自身。 我们来看一个简单的例子:计算阶乘。阶乘是指将一个数和它以及它之前的所有正整数相乘的结果,通常用符号"!"表示。例如,5的阶乘就是5! = 54321 = ......
Java

Java的注释

Java的注释 单行注释 可以注释一行文字 // 多行注释 可以注释一段文字 /* 注释 */ JavaDoc:文档注释 /** * * */ ......
注释 Java

Java语言特性

1.简单 相对于c/c++来说简单 2.面向对象 面向过程:按照步骤执行 面向对象:通过对象来完成操作,三大特征:封装,继承,多态 1.==封装==:把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口 2.==继承==:从已有类得到继承信息创建新类的过程 3.==多态==:允许不同子类 ......
特性 语言 Java

理解Java程序的执行

main 方法 public class Solution { public static void main(String[] args) { Person person = new Person(); person.hello(); } } class Person { public void ......
程序 Java

Java编码规范-字符串与Integer的比较,BigDecimal非空参数

Java编码规范-字符串与Integer的比较,BigDecimal非空参数 package com.example.core.mydemo; import java.math.BigDecimal; public class IntTest { public static void main(St ......
字符串 BigDecimal 字符 编码 参数

Java处理集合数据方式的建议

1. 循环 循环是传统的迭代方式,可以使用 for、while 和 do-while 循环语句进行实现。循环的优点在于简单易懂,可以处理任何数据类型,并且可以更好地掌控程序流程。但是,在处理大量数据时,循环可能会出现效率问题,并且需要手动处理线程安全等问题。 适用场景: 处理小型数据集 需要精细控制 ......
方式 建议 数据 Java

Java中的自动装箱与自动拆箱

前言 在Java中,基本数据类型与其对应的封装类之间可以进行自动转换,这种特性称为自动装箱(autoboxing)和自动拆箱(unboxing)。自动装箱和自动拆箱使得我们在使用基本数据类型时更加方便,同时也提高了代码的可读性和健壮性。本文将详细介绍Java中的自动装箱和自动拆箱机制。 基本数据类型 ......
Java

物联网---04.java对Modbus数据解析与对象互转

一、Modbus 互转代码 1.实现代码 @Data public class ModbusTools { /** * modbus数据转对象 * @param data 串口数据 * @param dataType 1代表16位读取2个byte数据,2代表32位读取4个byte数据 */ publ ......
对象 数据 Modbus java 04

Java输入输出

文件 一般操作系统将键盘、显示器等硬件看成是一个文件,称为设备文件。 在Java中,键盘被定为标准输入文件,显示器屏幕被定为标准输出文件。 Java用“流”来统一处理这些文件,不用区分是什么文件类型,都一视同仁。流中存放的是有序的字符(字节)序列。 流根据数据类型分为两类:字节流(一次读写8位二进制 ......
Java

java判断一个时间段是否与另外几个时间段重合

可以使用Java中的DateTime API来判断时间段是否重合。具体实现可以参考以下步骤: 1. 创建需要判断是否重合的时间段对象和已有时间段的对象列表。 ```java // 创建需要判断是否重合的时间段对象 LocalDateTime start1 = LocalDateTime.of(202 ......
时间段 时间 java

Java Double类型的科学计数转普通数值的问题

Java中Double类型时要考虑到大额数据自动转换成科学计数法。 Double d1 = 99999999999d; System.out.println(d1); 输出结果 9.9999999999E10 (科学计数法) 如果想输出为自然数值方法如下: Double d1 = 999999999 ......
数值 类型 科学 Double 问题

java 发送 http 请求练习两年半(HttpURLConnection)

1、起一个 springboot 程序做 http 测试: @GetMapping("/http/get") public ResponseEntity<String> testHttpGet(@RequestParam("param") String param) { System.out.pri ......
年半 HttpURLConnection java http

Java中常用不可变类

Java中常用的不可变类是指一旦被创建,它们的值就不可更改的类。在实际开发中,使用不可变类时可以带来多种优点,比如线程安全、缓存、副本等。下面我们将介绍Java中常见的不可变类: 1.字符串(String) Java中的String类是不可变的。也就是说,一旦创建了一个字符串对象,该对象就无法更改。 ......
常用 Java

Java异常处理之数字溢出问题

在进行 Java 开发时,经常会遇到数字溢出的问题。这个问题在很多程序中都非常常见,尤其是在进行数值计算的时候。Java 中提供了一种异常机制来处理这种情况,我们可以在代码中使用 try-catch 语句来捕获异常并进行相应的处理。 在 Java 中,整型数据类型 int 的范围是 -2^31 到 ......
数字 问题 Java

JAVA—生成验证码的两种方法(代码+运行结果+总结)

JAVA—生成验证码的两种方法(代码+运行结果+总结) 前言 利用java语言基础语句生成所需要的验证码 一、Random随机生成数方法生成验证码 1.代码+详细注释: package String类常用API; import java.util.ArrayList; import java.uti ......
代码 结果 方法 JAVA

java Mybatis-Plus之实现批量插入

使用batchSave Mybatis-Plus提供了IService接口,里面提供了batchSave方法,即批量保存方法 创建Service接口 创建一个基继承了Mybatis-Plus提供的IService接口的接口 public interface TestService extends I ......
Mybatis-Plus Mybatis java Plus

【Java基础】day17

day17 一、为什么一定要发生 STW 事件? 如果没有 STW,会出现浮动垃圾,导致回收性能差、效率低。浮动垃圾是指并发清理阶段,用户线程运行产生的垃圾。 分析工作必须在一个能确保一致性的快照中进行。 一致性指分析期间整个执行系统看起来像被冻结在某个时间点上。 如果出现分析过程中对象引用关系还在 ......
基础 Java day 17

java13_JDBC

JDBC连接数据库操作: 1. 增加操作: Copy Codeimport java.sql.*; public class Main { public static void main(String[] args) { try { // 加载数据库驱动程序 Class.forName("com.m ......
java JDBC 13

JavaSE 和 Java EE 分别是什么

Java 作为最流行的编程语言受到了许多人的喜爱,其在编程中的地位自不必多说。 对于许多才刚刚入门 Java 的朋友来讲,常常会产生这样的困惑,JavaEE是什么?JavaSE又是什么? Java SE Java SE 是 Java Platform, Standard Edition 的简写。 简 ......
JavaSE Java EE

Java异常中处理return

Java中的return语句 在Java中,return语句用于从一个方法中返回结果,并终止当前方法的执行。在方法中使用return语句后,后续的语句将不会执行。 javaCopy Code public int add(int a, int b) { int result = a + b; ret ......
return Java

java获取到heapdump文件后,如何快速分析?

原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 简介 在之前的OOM问题复盘之后,本周,又一Java服务出现了内存问题,这次问题不严重,只会触发堆内存占用高报警,没有触发OOM,但好在之前的复盘中总结了dump脚本,会在堆占用高时自动执行jstack与jmap ......
heapdump 文件 java

java -- Stream流

注意:Stream和IO流(InputStream/OutputStream)没有任何关系,请暂时忘记对传统IO流的固有印象 传统集合的多步遍历代码 几乎所有的集合(如Collection接口或Map接口等)都支持直接或间接的遍历操作。而当我们需要对集合中的元素进行操作的时候,除了必需的添加、删除、 ......
Stream java

Java中处理高精度数据计算

1、为什么要使用高精度计算 拿整数举例: 在 Java 中,int 和 long 是两种基本数据类型,而 BigInteger 是一个对象类型。它们的取值范围如下: - int:32 位有符号整数,取值范围为 -2^31 ~ 2^31-1 (即 -2147483648 ~ 2147483647)。 ......
高精 高精度 数据 Java

异常:Caused by: java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.CellStyl

1、EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目 a.POI非常耗内存(大的excel需要上G的内存) 系统容易出现OOM b.POI代码也相当复杂,后面在进行维护的时候也不大好操作 2、在往Excel写入数据时出现如下错误 com.alibaba.excel.exc ......

java-动态模块添加注解处理器

前言: 最近接了个任务要在app中接入QQ小游戏sdk。因为该小游戏只是在国内不在googleplay发行,则需要做成动态模块的方式。 步骤 一、在工程中创建动态模块 二、接入QQ小游戏sdk 1、该sdk暂时不支持外部maven,则需要把对应的sdk拷贝到自己的目录下。 2、将对应sdk的aar和 ......
注解 处理器 模块 动态 java

JAVA 按行处理大文件的方法 [多线程]

前一篇文章讲述了单线程处理大文件的方法,虽然解决了内存装不下的问题但是依然存在效率不高的问题。这篇文章介绍的是Java中多线程处理大文件的一种方法,如有疑问欢迎各位大神垂询,我们相互帮助、共同学习。 如果想看单线程处理大文件的那边文章请移步:Java 按行处理大文件的方法 [单线程] 一、问题的提出 ......
线程 文件 方法 JAVA

Java知识点

印度尼西亚爪哇岛盛产咖啡闻名 JavaSE(Java平台标准版)主要应用于桌面应用程序的开发,是Java技术的核心 EE(Java平台企业版)主要应用于网络程序和企业级应用的开发,是Java语言的核心 ME(Java平台微型版)主要应用于手机游戏等消费类设备和嵌入式设备中 Java虚拟机包括JVM解 ......
知识点 知识 Java