线程lesson java 03

IntelliJ IDEA 2023 for Mac(最好用的Java开发工具)

IntelliJ IDEA 2023是一款由JetBrains公司开发的集成开发环境(IDE),旨在提供全面的Java开发体验。它支持许多其他语言和框架,如Kotlin、Scala、Groovy、Android、Spring等。 软件下载:IntelliJ IDEA 2023 for Mac int ......
开发工具 IntelliJ 最好 工具 IDEA

Java泛型

# 必要性 在程序日益复杂庞大的今天,编写泛用性代码的价值愈发变得巨大。 而要做到这一点,其诀窍仅只两字而已————解耦。 最简单的解耦,无疑是使用基类替代子类。然而由于 Java 仅支持单继承,这种解耦方法所带来的局限性未免过大,有种“只准投胎一次”的感觉。 使用接口替代具体类算是更近了一步,算是 ......
Java

idea报错 java: You aren't using a compiler supported by lombok, so lombok will not work and has been dis

转‘’: idea较新版本识别不了lombok生成的方法 在这增加参数: -Djps.track.ap.dependencies=false ......
lombok supported compiler using idea

线程死锁

## 什么是线程死锁? > 线程死锁描述的是这样一种情况:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无期限的阻塞,因此程序不可能正常终止 > 如下图所示,线程A 持有 资源2,线程B 持有 资源1,它们同时都想申请对方的资源,但都拿不到,所以这两个线程就会互相等待而进 ......
线程

Learning hard C#学习笔记——读书笔记 03

本文介绍了C#面向对象编程语言的三个基础特征:封装、继承和多态。其中,封装可以通过public、private、protected、internal等关键字来实现,目的是保护程序内部数据的完整性;继承可以帮助实现基类的内容复用,但也要结合场景使用;多态是指相同类型对象调用相同方法却表现出不同行为,使... ......
笔记 Learning hard 03

java正则表达式过滤工具类

正则表达式过滤工具类 ``` import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @Description : * @Date : 2023/7/7 * @Author : */ public class Che ......
正则 表达式 工具 java

Java8新特性之Stream流

Stream流感觉是我本人听的最多的Java8新特性了,但我感觉听得多,真要将他的用法,还是讲不出来,看来还是用的太少了。 1. stream流的创建 * 通过Stream.of()静态方法创建 ``` // of为Stream的静态方法 Stream strStream = Stream.of(" ......
特性 Stream Java8 Java

转:idea 启动SpringBoot项目出现java程序包:xxx不存在

转; idea 启动SpringBoot项目出现java程序包:xxx不存在 ......
SpringBoot 程序 项目 idea java

JAVA实现多数据源分页

简述下思路: 举例:有A,B两个数据源的数据需要查询展示,优先展示A数据源数据,我使用的数据源是 clickhouse+mysql 1,因为需要优先展示A数据源嘛,那就直接通过条件优先查询A数据源数据 2,然后根据分页情况,判断A数据源数据量是否满足当前分页所需数据量。 有以下三种情况:先获取当前页 ......
数据源 数据 JAVA

JAVA反射

动态语言 动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化。 比如常见的JavaScript就是动态语言,除此之位Ruby,Python等也属于动态语言,而C、C++则不属于动态语言。 从反射角度说JAVA属于半动态语言。 反射机制概念(运行状态中知道类 ......
JAVA

使用Java语言 利用OpenCV,对两种图片相似度对比

package com.wzc.bms;import org.opencv.core.*;import org.opencv.imgcodecs.Imgcodecs;import org.opencv.imgproc.Imgproc;import java.io.*;import java.net. ......
语言 OpenCV 图片 Java

docker 容器内java进程使用超出容器限制

# 背景 当您的业务是使用Java开发,且设置的JVM堆空间过小时,程序会出现系统内存不足OOM(Out of Memory)的问题。特别是在容器环境下,不合理的JVM堆参数设置会导致各种异常现象产生,例如应用堆大小还未到达设置阈值或规格限制,就因为OOM导致重启等。 ## 通过-XX:MaxRAM ......
容器 进程 docker java

遇到了一个需要java生成二维码,支持扫码枪扫描的需求

1,需求是生产二维码,加入到正文和表单中 2,首先能生成二维码,其次就是把二维码插入到表单和正文了,插入到表单设计到一些前端知识暂不分享 3,把二维码插入正文,正文是用的word文档,后续分享如何操作 生成二维码的样式应该是pdf417这种码,而不是qrcode普通的二维码 # 需要引入依赖jar包 ......
需求 java

Java 实现 WebSocket 集群转发:使用 Redis 发布订阅

场景 浏览器客户端 client1 连接到了服务端 A 的 websocket 节点。 浏览器客户端通过弹性负载均衡,把请求分配到了服务端 B,服务端 B 上没有 client1 的连接。 需求 服务端 B 把消息转发到服务端 A 上,找到 客户端 client1 的连接,发送出去。 画示意图 ![ ......
集群 WebSocket Redis Java

php中多线程编程学习

class Request extends Thread { public $url; public $response; public function __construct($url) { $this->url = $url; } public function run() { $this-> ......
线程 php

java~SNAPSHOT版本号的作用

在 Maven 中,`-SNAPSHOT` 后缀是用于标识项目版本为快照(Snapshot)版本的约定。快照版本是处于开发和演进中的版本,通常用于开发人员在`构建和测试过程中进行频繁的版本迭代`;反之,如果不是Snapshot后缀的包,例如v1.1.0,这说明它是一个相对稳定的版本了,这个版本一经发 ......
SNAPSHOT 作用 版本 java

常用语言的线程模型(Java、go、C++、python3)

了解一下线程模型还是很有必要的,如果不清楚语言层面上的线程在操作系统层面怎么映射使用,在使用过程中就会不清不楚,可能会踩一些坑 ......
线程 模型 常用 python3 语言

线程启动、结束,创建线程多法、join,detach

#线程启动、结束,创建线程多法、join,detach 视频链接:https://www.bilibili.com/video/BV1Yb411L7ak/?p=4&spm_id_from=333.880.my_history.page.click&vd_source=4c026d3f6b5fac18 ......
线程 detach join

线程池 解析用定制线程池

/** * @author keming.chen * @date 2021/6/17 17:12 * @desc 解析用定制线程池 **/ public class ParseThreadPools { /** * 默认使用线程数 = cpu核数*2 */ public static final ......
线程

【后端面经-Java】JVM内存分区详解

本文主要介绍了JVM内存分区的基本情况,着重介绍了栈、堆、方法区的分区情况,并给出实际代码解释内存分配的过程。 ......
端面 内存 Java JVM

2023最新IDEA版本Java零基础教程,赵姗姗老师带你7天入门Java架构师!

【【马士兵教育】2023最新IDEA版本Java零基础教程,赵姗姗老师带你7天入门Java架构师!】https://www.bilibili.com/video/BV1v24y1H74t?vd_source=d4c8a130bd8760e7e8cdd48d80abd00c # XML讲解 # JDB ......
Java 架构 版本 老师 基础

Java扩展Nginx之七:共享内存

### 欢迎访问我的GitHub > 这里分类和汇总了欣宸的全部原创(含配套源码):[https://github.com/zq2599/blog_demos](https://github.com/zq2599/blog_demos) ### 本篇概览 - 作为《Java扩展Nginx》系列的第七 ......
内存 Nginx Java

高级面:线程池的7个参数详解

核心线程数 初始化的时候就按照这个参数生成线程 最大线程数 阻塞队列满了才会使用它,超过它触发拒绝策略 空闲时间 超过空闲时间,线程数降低到核心数目 时间单位 空闲时间的单位 线程工厂 一般默认,可以指定线程名称、线程组之类的参数 阻塞队列 一般需要修改为有界队列,超过核心线程数的任务先放到这里 拒 ......
线程 参数

Java8新特性之Optional类的妙用

该新特性也是翻java八股翻到的,感觉有点小用,所以记录一下 通常我们在调用方法获取参数时,常常会出现要避免空指针,从而进行一系列判断非空的代码,这部分十分冗长且啰嗦还重复,故可以使用一下今天的主角: **Java.util.Optional**类 1. 创建方式 共有三种方式供您选择 * 直接创建 ......
妙用 Optional 特性 Java8 Java

使用Java线程同步工具类CountDownLatch

`java.util.concurrent.CountDownLatch`是Java并发并发编程中的线程同步工具类,基于AQS(java.util.concurrent.locks.AbstractQueuedSynchronizer)实现。 `CountDownLatch`工具类主要应用在如下场景 ......
线程 CountDownLatch 工具 Java

使用Java线程同步工具类CyclicBarrier

## 如何使用 `java.util.concurrent.CyclicBarrier`是Java并发并发编程中的线程同步工具类,基于`java.util.concurrent.locks.ReentrantLock`实现。 `CyclicBarrier`工具类主要应用在如下场景:让一组线程同时到达 ......
线程 CyclicBarrier 工具 Java

Java变量集

变量 变量是什么:就是可以变化的量! Java是一种强类型语言,每个变量都必须声明其类型。 Java变量是程序中最基本的存储单位,其要素包括变量名,变量类型和作用域。 type varName [=value] [{,varName[=value]}];//数据类型 变量名 = 值:可以使用逗号隔开 ......
变量 Java

Java数组

# Java数组 ## 数组的定义 - **数组是相同类型数据的有序集合。** - **数组描述的相同类型的若干个数据,按照一定的先后次序排列组合而成。** - **其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。** ## 数组声明创建 - **首先必须声明数组变量,才能 ......
数组 Java

Java架构师之路:从Java码农到年薪八十万,最牛Java架构师进阶路线

Java架构师之路:从Java码农到年薪八十万,最牛Java架构师进阶路线 摘要:本文将为Java开发工程师提供一条从Java码农到年薪八十万的进阶之路,探讨如何成为一名顶尖的Java架构师。我们将介绍Java架构师的职责和要求,并提供一系列实用的学习和成长建议,帮助读者掌握所需的技能和知识。 一、 ......
架构 Java 年薪 路线

Java开发大型互联网-架构师必须掌握的分布式技术

Java开发大型互联网-架构师必须掌握的分布式技术 摘要:在当今互联网行业,随着用户量和业务的不断增长,大型互联网系统的设计和开发已经成为了一项头等重要的任务。作为架构师,要能够应对这样的挑战,就必须掌握一些关键的分布式技术。本文将介绍Java开发大型互联网系统时,架构师必须要掌握的分布式技术。 一 ......
分布式 架构 互联网 技术 Java