课堂java

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

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

java~SNAPSHOT版本号的作用

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

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

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

【后端面经-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

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

Java项目12306售票系统

Java项目12306售票系统 目录(一) 系统功能概述 3(二) 系统功能模块结构 31.前端功能 32.WEB 服务端 43.数据库端 4(三) 系统界面设计 51.登陆界面 52.注册界面 53.操作成功界面提示 64.操作失败界面提示 65.导航页 76.购票页 87.购买后打印电子车票页 ......
项目 系统 12306 Java

高级java高并发,高性能,分布式,高可用,负载均衡,系统架构实战

提到锁,大家肯定想到的是sychronized关键字。是用它可以解决一切并发问题,但是,对于系统吞吐量要求更高的话,我们这提供几个小技巧。帮助大家减小锁颗粒度,提高并发能力。 初级技巧-乐观锁乐观锁使用的场景是,读不会冲突,写会冲突。同时读的频率远大于写。 悲观锁的实现: 悲观的认为所有代码执行都会 ......
分布式 高性能 架构 实战 系统

Java语言的特性

面向对象:Java 是一种纯面向对象的编程语言,这意味着 Java 中所有的代码都是以对象为基础的。在 Java 中,你可以通过定义类来创建对象,这些对象可以具有状态(属性)和行为(方法)。Java 支持继承、多态和封装等面向对象的概念,使代码更加清晰、易于扩展和维护。 平台无关性:Java 的平台 ......
特性 语言 Java

Java python C++

Java 和 Python 的区别 编程范式:Java 是一种面向对象的编程语言,而 Python 支持多种编程范式,包括面向对象、函数式和命令式等。这意味着 Python 在某些情况下可以比 Java 更简洁、易于理解和编写。 代码可读性:Python 是一种非常易于阅读和编写的编程语言,其语法和 ......
python Java

每日汇报 第四周第一天 JAVA中的I/O流

今日所学: 明确输入、输出的方向;明确字节流和字符流在操作流的数据单元方面上的异同;掌握Inputstream 类、Reader类、OutputStream 类和 Writer类的常用方法;熟练掌握使用 File类的3种构造方法创建文件对象 明日计划: 继续进行I/O流的学习,考科三 遇到困难:练车 ......
JAVA

Java中的集合类

一. 介绍 在Java中,集合是一种用于存储和操作多个元素的容器。它更方便地操作和管理一组对象,集合类提供了比传统的数组更强大和灵活的功能,可以动态地添加、删除和查找元素,以及进行排序、过滤等操作。集合类有一个共同特点,就是它们只容纳对象,如果想在集合中使用基本类型数据,可以使用其对应的包装类。 集 ......
Java