java time
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; /** ......
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 ......
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 ......
155.最小栈 Java
155.最小栈 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部的元素。 int top() ......
阿里JAVA开发规范整理
一、命名风格 【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO 正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion 反例:macroPolo ......
java 实现 dbf 操作
<-- 依赖 dbf-> <dependency> <groupId>com.github.albfernandez</groupId> <artifactId>javadbf</artifactId> <version>1.13.2</version> </dependency> package ......
[Java 开发指南]MyEclipse的代码导航工具
MyEclipse v2022.1.0正式版下载 MyEclipse技术交流群:742336981 欢迎一起进群讨论 无论是在文件之间导航还是在文件中编码,MyEclipse都有许多导航工具可用于加快开发者的工作流程。 使用以下导航工具的任意组合,你的工作效率就会飙升。 快速文件导航 按Ctrl+P ......
day02-Java基础语法
day02 - Java 基础语法 1. 注释 注释是对代码的解释和说明文字。 Java 中的注释分为三种: 单行注释: // 这是单行注释文字 多行注释: /* 这是多行注释文字 这是多行注释文字 这是多行注释文字 */ 注意:多行注释不能嵌套使用。 文档注释(暂时用不到): /** 这是多行 ......
Java SpringBoot Test 单元测试中包括多线程时,没跑完就结束了
如何阻止 Java SpringBoot Test 单元测试中包括多线程时,没跑完就结束了 使用 CountDownLatch CountDownLatch、CyclicBarrier 使用区别 多线程 ThreadPoolTaskExecutor 应用 Java BasePooledObjectF ......
【Java 并发】【八】【Atomic】【三】LongAdder的原理-分段锁提升并发性能
1 前言 上一节我们讲解了cas的缺陷,无法同时更新多个变量、以及ABA的问题。以及如果使用AtomicReference解决同时更新多个变量,如果使用AtomicStampedReference解决ABA的问题,这节我们就来讲解CAS带来的另外一个问题,在并发激烈的时候,产生大量的自旋,空耗CPU ......
【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笔记(this,super,override,instanceof,static)
super关键字的一些注意事项 子类在执行构造方法时,如果显式使用super()显式调用父类构造方法,则该调用必须放代码块在第一行 super必须出现在子类的方法或者构造方法中 使用this()显示调用构造方法,则该调用必须放在代码块第一行 由于第一条和第三条限制,super和this不能同时调用构 ......
JAVA第三次作业
分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句) 方法一: package xhy; public class Text { public static void main(String[] args) { // TODO Auto-gene ......
【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学习日记20230404-String类
String类 String对象用于保存字符串,也就是一组字符序列; 字符串常量对象使用双引号包括起来的字符序列 字符串的字符使用unicode字符编码,一个字符(不区分字母还是汉字)占用两个字节 String常用的构造器: new String(); new String(String origi ......
Java第三次 上机练习+作业
上机练习: 1.分别使用for循环,while循环,do循环求1-100之间所有能被3整除的整数的和。(知识点:循环语句) public static void main(String[] args) { // TODO Auto-generated method stub int sum=0; f ......
Vavr——一个颠覆JAVA的库
前言 Java8 在一定程度上支持了函数式编程,但标准库提供的函数式 API 不是很完备和友好。为了更好的进行函数式编程,我们就不得不借助于第三方库,而 VAVR 就是这方面的佼佼者,它可以有效减少代码量并提高代码质量。本文旨在快速的介绍一个VAVR提供的一些功能,以便我们能够快速入门VAVR。本文 ......
剑指offer(Java)-数组中的逆序对(困难)
题目: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例1: 输入: [7,5,6,4] 输出: 5 限制: 0 <= 数组长度 <= 50000 解题思路: 这道题的核心在于 归并排序,在归并排序的基础上进行求解 逆 ......
【Java 并发】【八】【Atomic】【一】JUC下的Atomic原子类体系概览
1 前言 这节我们就开始看看Atomic原子类系列,JUC包下提供的原子类底层的实现原理基本都是差不多的,都是基于volatile和CAS操作来保证线程安全的,我们后续会着重分析几个类。 2 概览 我们看下JUC下边都有哪些原子类: 看上面的图形,我们使用红色圈中的那些,就是我们要着重讨论的,一共分 ......
Java 正则表达式
java.util.regex 包主要包括以下三个类: Pattern 类: pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一 ......
java序列化 和 json序列化 速度对比
结论 数据包大小区别不大。 但是小对象 json 快,约快3倍。 大对象java的序列化速度慢慢追平json(单个对象json长度3000的左右追平),这个可能和java对象转json有关系,但是装换这步在序列化前必不可可少 另外序列化和不止和对象大小有关还和字段数量有关系,这个因素我没测试,我这里 ......
Java基础
本文是作者通过学习B站韩顺平老师2021年的《30天学会Java》和尚硅谷宋红康老师的《Java》视频写的Java学习笔记,也是作者写的第一篇关于编程开发语言的笔记,内容可能有些冗余,但是它可以作为你的在线Java”词典“查阅。关于文末的JDK新特性还会持续补充。如果文中有什么错误欢迎评论区留言,作... ......
Java-Day-3(运算符 + 标识符 + 键盘输入)
Java-Day-3 运算符 算术运算符 关系运算符 [ 比较运算符 ] 逻辑运算符 赋值运算符 三元运算符 位运算符 [ 需要二进制基础 ] 算术运算符 +、-、*、/ System.out.println(10.0 / 4); //2.5 double d = 10 / 4; //2.0 //数 ......
Java多线程
1.可见性、原子性和有序性问题 多线程有三大特性,分别是可见性、原子性和有序性。 1.1可见性 在单核时代,所有的线程都是在一颗CPU上执行,CPU缓存与内存的数据一致性容易解决。因为所有线程都是操作同一个CPU的缓存,一个线程对缓存的写,对另外一个线程来说一定是可见的。一个线程对共享变量的修改,另 ......
如何使用Java程序实现二叉数
二叉树是一种重要的数据结构,它由一组节点组成,每个节点可以拥有最多两个子节点。使用Java可以很容易地实现一个二叉树。下面将介绍如何使用Java实现二叉树。 二叉树的节点定义 一个二叉树的节点可以定义为一个类,其中至少需要包含以下属性: 节点值 左子节点 右子节点 在Java中,我们可以通过如下方式 ......
使用JAVA实现冒泡排序算法
冒泡排序是最简单的排序算法之一,它的基本思路是将待排序的数组中相邻的元素进行比较和交换,这样一趟下来,最大(或最小)的元素就被交换到了最后的位置,然后再对剩下的元素进行同样的操作。下面是实现冒泡排序的Java代码: public class BubbleSort { public static vo ......
如何使用JAVA实现选择排序
当我们需要在Java中对一堆数据进行排序时,有很多种排序算法可以选择,其中之一就是选择排序。选择排序是一种简单的排序算法,基本思路是在待排序的元素中找到最小值,并将它放在数组的起始位置。然后在剩下的未排序元素中重复这个过程,直到所有元素都被排序。下面是如何使用Java实现选择排序的方法。 实现选择排 ......
3.31Java作业
分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句) package test; public class ass { public static void main(String[] args) { // TODO Auto-generated ......