单元java

Java中获取两个日期之间年月日的实用类

写代码过程中有一个需求是给一个出生日期,要计算出生日期和当前日期之间的年月日,发现可以用Period 这个类实现 //出生日期 LocalDate birth = LocalDate.of(2000, 11, 3); Period period = Period.between(birth, Loc ......
实用类 年月日 年月 之间 两个

JAVA多线程并发编程-避坑指南

本篇旨在基于编码规范、工作中积累的研发经验等,整理在多线程开发的过程中需要注意的部分,比如不考虑线程池参数、线程安全、死锁等问题,将会存在潜在极大的风险。并且对其进行根因分析,避免每天踩一坑,坑坑不一样。 ......
线程 指南 JAVA

Web编辑器粘贴图片自动上传到服务器(Java版)

​ 自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器)中时,编辑器都无法自动上传图片。需要用户手动一张张上传Word图片。如果只有一张图片还能够接受, ......
编辑器 服务器 图片 Java Web

java lambda List 过滤 filter

package lambda.list; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import pojo.Dome; import java.util.ArrayList; import java.util.List; imp ......
filter lambda java List

java lambda List 排序 sorted

package lambda.list; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import pojo.Dome; import java.util.ArrayList; import java.util.Arrays; i ......
lambda sorted java List

java lambda List 删除 removeIf

package lambda.list; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import pojo.Dome; import java.util.ArrayList; import java.util.List; /** ......
removeIf lambda java List

java lambda List 分组 Collectors.groupingBy

package lambda.list; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import pojo.Dome; import java.util.ArrayList; import java.util.List; imp ......
Collectors groupingBy lambda java List

java lambda List 查找 anyMatch() allMatch() noneMatch()

package lambda.list; import cn.hutool.core.util.ObjectUtil; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import pojo.Dome; import java.uti ......
noneMatch anyMatch allMatch lambda java

155.最小栈 Java

155.最小栈 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部的元素。 int top() ......
Java 155

阿里JAVA开发规范整理

一、命名风格 【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO 正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion 反例:macroPolo ......
JAVA

java 实现 dbf 操作

<-- 依赖 dbf-> <dependency> <groupId>com.github.albfernandez</groupId> <artifactId>javadbf</artifactId> <version>1.13.2</version> </dependency> package ......
java dbf

[Java 开发指南]MyEclipse的代码导航工具

MyEclipse v2022.1.0正式版下载 MyEclipse技术交流群:742336981 欢迎一起进群讨论 无论是在文件之间导航还是在文件中编码,MyEclipse都有许多导航工具可用于加快开发者的工作流程。 使用以下导航工具的任意组合,你的工作效率就会飙升。 快速文件导航 按Ctrl+P ......
开发指南 MyEclipse 代码 工具 指南

Java SpringBoot Test 单元测试中包括多线程时,没跑完就结束了

如何阻止 Java SpringBoot Test 单元测试中包括多线程时,没跑完就结束了 使用 CountDownLatch CountDownLatch、CyclicBarrier 使用区别 多线程 ThreadPoolTaskExecutor 应用 Java BasePooledObjectF ......
线程 SpringBoot 单元 Java Test

day02-Java基础语法

day02 - Java 基础语法 1. 注释 ​ 注释是对代码的解释和说明文字。 Java 中的注释分为三种: 单行注释: // 这是单行注释文字 多行注释: /* 这是多行注释文字 这是多行注释文字 这是多行注释文字 */ 注意:多行注释不能嵌套使用。 文档注释(暂时用不到): /** 这是多行 ......
语法 基础 Java day 02

执行测试_单元测试

在执行测试为主线,中间穿插质量特性,学会自动化工具的使用。 软件测试的过程 测试范围:逐渐增大:先使用白盒测试,然后黑盒测试的比例逐步增加。 测试视角:从代码到使用 具体来说就是: 单元测试—模块/白盒技术可以并行进行 集成测试—模块接口/黑盒+白盒技术 系统测试—满足需求/黑盒兼容性问题等等 验收 ......
单元

【Java 并发】【八】【Atomic】【三】LongAdder的原理-分段锁提升并发性能

1 前言 上一节我们讲解了cas的缺陷,无法同时更新多个变量、以及ABA的问题。以及如果使用AtomicReference解决同时更新多个变量,如果使用AtomicStampedReference解决ABA的问题,这节我们就来讲解CAS带来的另外一个问题,在并发激烈的时候,产生大量的自旋,空耗CPU ......
LongAdder 原理 性能 Atomic Java

【Java 并发】【八】【Atomic】【三】AtomicReference、AtomicStampReference原理

1 前言 上节我们看了AtomicInteger、AtomicBoolean的原理,这一篇我们就来说说Atomic系列的另一个分类AtomicReference和AtomicStampReference。 2 多个变量修改的原子性 JUC虽然提供了AtomicInteger、AtomicBoolea ......

Java新手的随笔

算术运算符:+,-,*,/,%(求余),++(自加),-- a=3,b=a++,c=++a 运行上三个之后a=5,b=3,c=5 赋值运算符 := 关系运算符:>,<,>=,<=,==,!=,instanceof 逻辑运算符:&&,||,! 位运算符:&,|,^,~,>>(右移),<<(左移),>> ......
随笔 新手 Java

java笔记(this,super,override,instanceof,static)

super关键字的一些注意事项 子类在执行构造方法时,如果显式使用super()显式调用父类构造方法,则该调用必须放代码块在第一行 super必须出现在子类的方法或者构造方法中 使用this()显示调用构造方法,则该调用必须放在代码块第一行 由于第一条和第三条限制,super和this不能同时调用构 ......
instanceof override 笔记 static super

JAVA第三次作业

分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句) 方法一: package xhy; public class Text { public static void main(String[] args) { // TODO Auto-gene ......
JAVA

【Java 并发】【八】【Atomic】【二】AtomicInteger、AtomicBoolean原理

1 前言 这节我们从AtomicInteger这个比较简单的原子类开始,来看看AtomicInteger的底层原理。 2 实测样例对比线程安全性 在说AtomicInteger的底层原理之前呢,我们先来看个例子感受下原子类: static修饰的共享变量,我们开启两个线程对共享变量进行10000次+1 ......

如何用java校验SQL语句的合法性?(提供五种解决方案)

方案一:使用JDBC API中提供的Statement接口的execute()方法 要在Java中校验SQL语句的合法性,可以使用JDBC API中提供的Statement接口的execute()方法。这个方法会尝试执行给定的SQL语句,如果SQL语句不合法,则会抛出一个SQLException异常 ......
语句 合法性 解决方案 方案 java

java学习日记20230404-String类

String类 String对象用于保存字符串,也就是一组字符序列; 字符串常量对象使用双引号包括起来的字符序列 字符串的字符使用unicode字符编码,一个字符(不区分字母还是汉字)占用两个字节 String常用的构造器: new String(); new String(String origi ......
20230404 日记 String java

Java第三次 上机练习+作业

上机练习: 1.分别使用for循环,while循环,do循环求1-100之间所有能被3整除的整数的和。(知识点:循环语句) public static void main(String[] args) { // TODO Auto-generated method stub int sum=0; f ......
Java

Vavr——一个颠覆JAVA的库

前言 Java8 在一定程度上支持了函数式编程,但标准库提供的函数式 API 不是很完备和友好。为了更好的进行函数式编程,我们就不得不借助于第三方库,而 VAVR 就是这方面的佼佼者,它可以有效减少代码量并提高代码质量。本文旨在快速的介绍一个VAVR提供的一些功能,以便我们能够快速入门VAVR。本文 ......
Vavr JAVA

剑指offer(Java)-数组中的逆序对(困难)

题目: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例1: 输入: [7,5,6,4] 输出: 5 限制: 0 <= 数组长度 <= 50000 解题思路: 这道题的核心在于 归并排序,在归并排序的基础上进行求解 逆 ......
逆序 数组 offer Java

【Java 并发】【八】【Atomic】【一】JUC下的Atomic原子类体系概览

1 前言 这节我们就开始看看Atomic原子类系列,JUC包下提供的原子类底层的实现原理基本都是差不多的,都是基于volatile和CAS操作来保证线程安全的,我们后续会着重分析几个类。 2 概览 我们看下JUC下边都有哪些原子类: 看上面的图形,我们使用红色圈中的那些,就是我们要着重讨论的,一共分 ......
Atomic 概览 原子 体系 Java

Java 正则表达式

java.util.regex 包主要包括以下三个类: Pattern 类: pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一 ......
正则 表达式 Java

java序列化 和 json序列化 速度对比

结论 数据包大小区别不大。 但是小对象 json 快,约快3倍。 大对象java的序列化速度慢慢追平json(单个对象json长度3000的左右追平),这个可能和java对象转json有关系,但是装换这步在序列化前必不可可少 另外序列化和不止和对象大小有关还和字段数量有关系,这个因素我没测试,我这里 ......
序列 速度 java json

Java基础

本文是作者通过学习B站韩顺平老师2021年的《30天学会Java》和尚硅谷宋红康老师的《Java》视频写的Java学习笔记,也是作者写的第一篇关于编程开发语言的笔记,内容可能有些冗余,但是它可以作为你的在线Java”词典“查阅。关于文末的JDK新特性还会持续补充。如果文中有什么错误欢迎评论区留言,作... ......
基础 Java