线程 方式java

java tricky

1、根据枚举的name获取枚举类: private static SmsProviderType fromName(String spName) { return Stream.of(SmsProviderType.values()).filter(sp -> StringUtils.equals( ......
tricky java

java 中的多线程问题

结论 全局变量 多线程非安全 (堆) static 局部变量 多线程安全 (栈) fina 也可以安全 1:线程调用时 ,每一个线程都拥有一套完整的调用栈帧,栈帧中包含完整的调用方法名,方法的局部变量。而且栈是先入后出,调用方法时入栈,方法结束是出栈。 2:使用线程池时需要注意参数问题 :资料 Th ......
线程 问题 java

java 如何实现同步?如何让函数等待?

一段程序还没执行完就进行下一步了。。但是上一步的结果很重要怎么让线程等待 1、Java 实现同步的几种方式 方式一:使用 synchronized 关键字与 Object#wait()/notifyAll() 方式二:使用 ReentrantLock(可重入锁)以及 Condition(条件)。 方 ......
函数 java

JAVA标签

break continue 标签: ```java标签(label)是在编程语言中用于标识代码的位置的符号。它通常与跳转语句(如 break 和 continue)结合使用,用于控制程序的流程。 在Java中,标签以标识符的形式出现,后面跟着一个冒号(:)。标签可以与循环语句(如 for、whil ......
标签 JAVA

java 中在图像上绘制文字

private void printText(BufferedImage image, float x, float y, String text) { Graphics2D g = image.createGraphics(); g.setColor(Color.RED); g.setFont(n ......
图像 文字 java

关于Java中ArrayList类的toArray方法详解

先上源码: public Object[] toArray() { return Arrays.copyOf(elementData, size); } 可以看到ArrayList类的toArray()方法调用了Arrays.copyOf(elementData,size)(其中的elementDa ......
ArrayList toArray 方法 Java

C# .NET6结束UI线程

在.NET6项目中,不再支持Thread.Abort:Thread.Abort is not supported and throws PlatformNotSupportedException. 原因是Thread.Abort可能导致资源泄漏, 1. 不正常的关闭,导致线程运行过程中待释放的资源未 ......
线程 NET6 NET

QT工作线程更新界面代码

//mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QThread> namespace Ui { class MainWindow; } class WorkerThre ......
线程 界面 代码

java: Annotation processing is not supported for module cycles....Please ensure that all modules from cycle [ssm-demo-mgt-common,ssm-demo-mgt-task] are excluded from annotation processing

报错内容: java: Annotation processing is not supported for module cycles.Please ensure that all modules from cycle [ssm-demo-mgt-common,ssm-demo-mgt-task] ......

【Java】修改生成的PDF的表格中文字的字体

首先导入依赖 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.10</version> </dependency> 使用 form.setFieldProperty ......
表格 字体 文字 Java PDF

使用java中的Calendar遇到的时区问题

项目中有一个增加1小时的工具函数 结果今天测试出现了一个问题原因是1986年的9月13号到14号之间会有一个时区的转换 需要程序特殊处理下这是原函数的结果 Sat Sep 13 22:00:00 CDT 1986 Sat Sep 13 23:00:00 CDT 1986 Sat Sep 13 23: ......
时区 Calendar 问题 java

Java学习之Mysql基础问题整理

Mysql常见存储引擎 命令:SHOW ENGINES; Mysql版本5.5以后默认引擎是 InnoDB,5.5版本以前的是 MyISAM InnoDB和MyISAM的区别 1、InnoDB支持事务,MyISAM不支持。对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所 ......
基础 问题 Mysql Java

java 反射获取对应字段的值

Field[] fields = obj.getRows().getClass().getDeclaredFields(); Boolean hasEndSpot = false; Boolean hasStartingPoint = false; for (Field field : fields ......
字段 java

JAVA SE基础《二》---- JAVA语法

目录 JAVA基础语法 注释 字面量 变量 变量使用注意事项 关键字、标识符 一. 注释详解 什么是注释? 注释是写在程序中对代码进行解释说明的文字,方便自己和其他人查看,以便理解程序的。 注释有哪些 单行注释 多行注释 文档注释:文档注释的内容是可以提取到一个程序说明文档中去的 注释的特点 注释不 ......
JAVA 语法 基础

迟来的秋招面经,17家公司,Java岗位

一位朋友秋招面试了17家公司(都是中小公司或者银行),Java 后端岗。下面是他的个人情况、求职经验已经这17家公司的面经。 # 个人情况和求职经验 其实现在是挺后悔大学没有好好的学习的,因为基本上都会提到一些成绩相关的事情,每次填成绩都只能填个50%(实际上更低),并且还有挂科,没有奖学金,没有学 ......
岗位 公司 Java

java调用cmd命令

```java import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; import java.io.InputStream; import java.nio.charset.StandardCharsets; ......
命令 java cmd

线上故障的正确打开方式

对技术同学来说,线上故障是一个绕不开的话题。 一方面,线上故障会极大的影响个人的绩效和心态;另一方面,处理线上故障也是很好的提升解决问题能力的机会。 因为线上故障的原因是多种多样的,会逼迫你去收集信息,从各种角度分析定位根因,然后想办法去优化解决。 处理线上故障的过程,是一个复杂的判断和筛选过程,而 ......
故障 方式

JAVA SPI简单实现

Java SPI(Service Provider Interface)是一种用于实现组件化、插件化和可扩展性的机制。它是Java标准库提供的一种服务发现机制,用于在运行时动态加载和实例化实现了特定接口的类。 Java SPI的核心概念是服务接口(Service Interface)、服务实现者(S ......
JAVA SPI

B+ tree implemented in Java

## B+树相关介绍 > B+树是一棵**多叉排序树**,即每个非叶子节点可以包含多个子节点,其整体结构呈扁平化,所以其非常适配于数据库和操作系统的文件系统中。且B+树能够保持数据的稳定有序,插入和删除都拥有较稳定的**对数时间复杂度**。 **B+树的特性**:以 m 阶为例,m 表示内部节点即非 ......
implemented tree Java in

Java实现扑克牌24点游戏

# 游戏规则: 4张扑克牌 A~K分别代表 1点至13点,要求4张牌加减乘除后得到点数为24.(除法必须整除) # 代码实现思路: 1. 构建初始变量 ![image](https://img2023.cnblogs.com/blog/3207408/202306/3207408-202306251 ......
扑克牌 扑克 Java

Java学习之mysql为什么可以实现可重复读

什么是mvcc Mysql的隔离级别是‘可重复读’,即:事务A在读到一条数据之后,此时事务B对该数据进行了修改操作并提交,那么事务A再读该数据,依然还是原来的内容。它的实现原理是MVCC(Multi-Version Concurrency Control)多版本并发控制,MVCC保证当前查询为快照读 ......
mysql Java

分布式架构通信方式

# 分布式通信方式 分布式通信是指在分布式系统中,不同节点之间进行消息传递和交互的方式。 以下是常见的分布式通信方式: 1. **消息队列(Message Queue)**:使用消息队列作为中间件,节点之间通过发送和接收消息来实现通信。消息队列提供了异步、解耦和可靠性的通信机制,常见的消息队列系统包 ......
分布式 架构 方式

java-Thread

## 名词 ### 线程和进程 进程是程序资源管理的最小单位 ,同一进程中的多条线程共享该进程中的全部系统资源,如虚拟地址空间,文件描述符文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈、寄存器环境、线程本地存储等信息。 进程和线程最大的区别就是操作系统给进程分配了虚拟内存空间 . 进 ......
java-Thread Thread java

Java 插入排序

public static int[] insertSort(int[] nums) { for (int i = 1, len = nums.length; i < len; i++) { int current = nums[i]; int j = i - 1; for (; j >= 0 && ......
Java

为什么js引擎是单线程?

为什么js引擎是单线程? js的主要用途是与用户互动,以及操作DOM,这决定它只能是单线程。例:一个线程要添加DOM节点,一个线程要删减DOM节点,容易造成分歧。 为了更好使用多CPU,H5提供了web Worker 标准,允许js创建多线程,但是子线程受到主线程控制,而且不得操作DOM。 说说进程 ......
线程 引擎

驱动开发:内核远程线程实现DLL注入

在笔者上一篇文章`《驱动开发:内核RIP劫持实现DLL注入》`介绍了通过劫持RIP指针控制程序执行流实现插入DLL的目的,本章将继续探索全新的注入方式,通过`NtCreateThreadEx`这个内核函数实现注入DLL的目的,需要注意的是该函数在微软系统中未被导出使用时需要首先得到该函数的入口地址,... ......
线程 内核 DLL

Java 设计模式实战系列—策略模式

# 从优惠打折活动说起 电商平台为了增加销量经常搞一些活动,比如 618、双十一,还有一些节假日活动,根据销量的变化又经常更新不同的活动。最开始为了增加销量,全场都六折: ``` // 打六折 public BigDecimal sixDiscount(BigDecimal amount) { Bi ......
模式 设计模式 实战 策略 Java

学习笔记-Java动态代理的简单使用

# 代理模式 * 一种设计模式 * 简单地说,在代理模式中存在三个角色 * 用户 * 代理 * 被代理的对象 * 用户调用代理,代理去调用被代理的对象 * 以此来实现功能的增强 * 动态代理在java中有两种实现方法 * JDK中的Proxy类 * CGLIB # JDK中的Proxy类 ## 步骤 ......
笔记 动态 Java

蔚来手撕代码题:三个线程循环打印ABC

问题如下: ![image.png](https://cdn.nlark.com/yuque/0/2023/png/92791/1687573711593-3af01c01-92b6-4a09-8a2c-355a7dde1033.png#averageHue=%23f9f8f7&clientId=u ......
线程 三个 代码 ABC

【四】并发编程之多线程理论

## 【四】并发编程之多线程理论 ### 多线程(理论) ![](https://img2023.cnblogs.com/blog/2322215/202306/2322215-20230625082317905-951890506.png) ### 【一】什么是线程 - 在传统操作系统中,每个进程 ......
线程 理论