java-hello hello world java

使用JAVA实现布隆过滤器

什么是布隆过滤器 布隆过滤器是一种内存友好的数据结构,它可以高效地判断一个元素是否存在于一个集合中,以及大幅减少磁盘/数据库等IO操作。与哈希表和树等数据结构不同,它可以实现非常高的查找速度和存储效率,适用于需要快速并且高效地处理大数据集的场景。 布隆过滤器原理 布隆过滤器的基本思想是使用多个哈希函 ......
过滤器 JAVA

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

​ 在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper。 通过知乎提供的思路找到粘贴的原理,通过TheViper找到粘贴图片的方法。 其原理为一下步骤: 监听粘贴事件;【用于插入图片】 获取光标位置;【记录图片 ......
服务器 图片 Blog Java

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

​ 如何做到 ueditor批量上传word图片? 1、前端引用代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional ......
服务器 图片 CSDN Java

selenium Java基础一

1、下载相应的浏览器驱动包 //设置环境变量 System setProperty("webdriver.firefox.marionete","D:\\geckodriver.exe"); //初始化driver WebDriver driver =new FirefoxDriver(); /请求 ......
selenium 基础 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 代码 工具 指南

day02-Java基础语法

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

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

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

【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