threadlocal 20230615 java lang

day01_Java语言概述

对第一个java程序进行总结 java程序编写-编译-运行的过程 编写:我们将编写的java代码保存在以".java"结尾的源文件中 编译:使用javac.exe命令编译我们的java源文件。格式:javac 源文件名.java 运行:使用java.exe命令解释运行我们的字节码文件。 格式:jav ......
语言 Java day 01

万字详解 | Java 流式编程

概述 Stream API 是 Java 中引入的一种新的数据处理方法。它提供了一种高效且易于使用的方法来处理数据集合。Stream API 支持函数式编程,可以让我们以简洁、优雅的方式进行数据操作,还有使用 Stream 的两大原因: 在大多数情况下,将对象存储在集合中就是为了处理它们,因此你会发 ......
Java

【Java 并发】【九】【AQS】【四】ReentrantLock的Condition机制原理

1 前言 上一节我们深入分析了ReentrantLock公平锁、非公平锁底层的源码实现,这节就分析ReentrantLock提供的另外一个机制,Condition机制的底层实现。 2 什么是Condition,是干什么的 ReentrantLock提供的这个Condition功能,底层还是基于AQS ......
ReentrantLock Condition 原理 机制 Java

Java方法

Java方法 Java方法是语句的集合,它们在一起执行一个功能。 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能, ......
方法 Java

Java笔记(13) 简单的Lambda表达式

lambda表达式在jdk1.8引入,属于函数式编程,可以在特定的场景中省去很多没有意义的代码,只留下核心逻辑,使代码看起来更简洁。 函数式接口 任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。对于函数式接口,可以通过lambda表达式来创建该接口的对象。 lambda表达式的推导 ......
表达式 笔记 Lambda Java 13

Java多线程之共享资源和同步

一、竞争条件 所谓竞争条件,即两个或更多的任务竞争响应某个条件,因此产生冲突或不一致结果的情况。 IntGenerator.java生成一个整数: public abstract class IntGenerator { private volatile boolean canceled = fal ......
共享资源 线程 资源 Java

java.nio.charset.MalformedInputException: Input length = 1

将nacos作为配置中心时,发现加载nacos内容时报错:java.nio.charset.MalformedInputException: Input length = 1 后来发现,将项目统一为utf-8后,正常启动。 ......

Java character类

character类 转义序列: 转义序列 描述 \t tab,在文中插入一个tab键 \b back,在文中插入一个后退键 \n next,在文中插入一个换行 \r enter,在文中插入一个回车键 \f 在文中插入换页符 \' 在文中插入单引号 \'' 在文中插入双引号 \\ 在文中插入反斜杠 ......
character Java

java第四次作业

分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。 (1)while循环 package diercizuoye; public class Timu12 { public static void main(String[] args) { // TODO Aut ......
java

学习Java Day1

尝试用Effie记录一下学习的java过程。2023.4.6- 一些电脑的快捷键 - win+E 打开我的电脑 - shift+delete 永久删除文件- 一些打开cmd的方法 - win+R(最常用)输入cmd - 桌面其他位置+鼠标右键 打开powershell - win找到windows系 ......
Java Day1 Day

Java Number&Math类

Number&Math类 所有包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类Number的子类; 包装类基本数据类型 Boolean boolean Byte byte Short short Integer int Long long Characte ......
Number Java Math amp

Java-Day-5(数组 + 排序 + 查找 + 二维数组)

Java-Day-5 数组 可以存放多个同一类型的数据,属于引用类型 动态初始化 语法:数据类型 数组名[] = new 数据类型[大小] 例:int[] a = new int[5] 或:double a[] = new double[n] 使用 ( 引用/访问/获取 ) 时,初始下标 ( 索引 ......
数组 Java-Day Java Day

# Java笔记(12) 静态代理

静态代理可以在不改变原有代码的情况下,增加新的功能和操作,对原有对象进行扩展。 静态代理要求真实对象和代理对象都实现同一个接口,由代理对象代理真实角色的接口实现,并在实现前后增加新的操作。 public class StaticProxy{ public static void main(Strin ......
静态 笔记 Java 12

java -- System类和冒泡排序

System java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作。System类私有修饰构造方法,不能创建对象,直接类名调用。 exit // 终止当前运行的 Java 虚拟机,非零表示异常终止 public static void exit(int st ......
System java

java调用本机的命令 如ping、打开文本等

最近接触到用java代码调用主机的命令部分感觉有点意思整理总结一下 环境jdk1.8 操作系统win10,不用引入其他的包jdk自带的api就可以 一、java调用ping命令 import java.io.BufferedReader; import java.io.InputStreamRead ......
文本 命令 java ping

java 字符转Base64然后加密

项目中常有需求要求不能明文传送某些关键字符,也许会被某些网关被拦截掉,那应该怎么解决这个问题呢? 字符串转 base64后的加密与解密 import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; private static Strin ......
字符 java Base 64

Java笔记(11) 多线程

Java原生支持多线程,主要通过以下四种方式实现多线程: 继承Thread类 实现Runnable接口 实现Callable接口 线程池 继承Thread类 通过创建Thread类的子类,并重写run()方法,通过调用start()方法启动线程。 public class TestThread ex ......
线程 笔记 Java 11

java 新特性 scoped value 的使用

// test scoped value @Test public void testScopedValue() throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); Thread start = Th ......
特性 scoped value java

判断Java类的所有属性是否都为null

为了判断Java类的所有属性是否都为null,你可以编写一个方法来检查每个属性是否为null。以下是一个示例实现: public static boolean allFieldsNull(Object obj) throws IllegalAccessException { for (Field f ......
属性 Java null

【Java 并发】【九】【AQS】【四】ReentrantLock是怎么基于AQS实现独占锁的

1 前言 先回顾下我们前面讲解的,AQS作为基础的并发框架为我们提供了: (1)AQS作为一个并发的基础框架,定义了资源,规定了获取资源的入口、释放资源的入口,定义了等待队列,同时还有一套机制规定了获取锁失败的线程进入等待队列等待,以及资源释放的时候怎么唤醒等待队列的线程重新竞争锁等。(2)深入的剖 ......
ReentrantLock AQS Java

肖sir__java_知识点1

(一)java基础 1、JDK>JRE>JVM JDK :英文名称(Java Development Kit) ,Java开发工具包。jdk是整个Java开发的核心,它集成了 jre 和一些好用的小工具。例如: javac.exe,java.exe,jar.exe等。JRE :英文名称(Java R ......
知识点 知识 java sir

如何为Java文件代码签名及添加时间戳?

Java是一种流行的编程语言,大多数组织都使用它来开发业务应用程序。由于其高使用率,攻击者总是试图找到其中的漏洞并基于它利用软件。为了防止此类攻击, 为 Java 文件(.jar)进行代码签名并添加时间戳,可以防止攻击者读取代码并利用它。您还可以通过进一步提供的易于执行的步骤毫不费力地对.jar文件 ......
代码 文件 时间 Java

如何通过Java代码将添加页码到PDF文档?

页码可以清楚了解总页数、定位页数快速寻找自己所要的文段、打印时不会分不清头中尾。很多人在使用办公软件的时候就会选择PDF进行文档的保存,因为PDF在保存之后不会出现乱码甚至是格式改变的情况。在PDF中添加页码成功后每张PDF页面的最下面会显示页码,这样可以更加详细清晰的明白文档的相关性和内容的具体位... ......
页码 代码 文档 Java PDF

java--类加载机制

java--类加载机制 概述 Java是运行在Java的虚拟机(JVM)中的,但是它是如何运行在JVM中了呢?我们在IDE中编写的Java源代码被编译器编译成.class的字节码文件。然后由ClassLoader负责将这些class文件给加载到JVM中去执行。 Java从编码到执行大概流程如图: 类 ......
机制 java

java后端接收Request请求参数方式

1.直接在Controller 方法参数上配置参数名 @RequestMapping("/method01") public String method01(String name, Integer age, Double mon) { User user = new User(); user.se ......
参数 Request 方式 java

干掉复杂的工具类,国产Java工具类库 Hutool 很香!

Hutool 大家已经比较熟悉了,这是一个超全的 Java 工具库,深受国内开发者的喜爱。 我之前其实是不太喜欢使用这种功能太多的工具类的,也比较担心稳定性和安全性,后面慢慢接受了就感觉其实也还好。而且,我们还可以按需只引入自己需要的功能模块,相对也比较灵活。 Hutool 的官方文档介绍的已经比较 ......
工具 国产 Hutool Java

Linux下安装Java

1 检查当前系统中是否已安装JDK 查看Java版本: java -version 检测系统JDK默认安装包: rpm -aq | grep java 2、卸载OpenJDK,若未检测出jdk则跳过 yum remove *openjdk* 3 安装JDK 3.1 选择到jdk官网上下载你想要的jd ......
Linux Java

ThreadLocal缺点及解决方案

简单的一句话总结是每个Thread上都有一个threadLocals属性,它是一个ThreadLocalMap,里面存放着一个Entry数组,key是ThreadLocal类型的弱引用,value是对用的值。所有的操作都是基于这个ThreadLocalMap操作的。但是它有一个局限性,就是不能在父子 ......
ThreadLocal 缺点 解决方案 方案

JAVA - 基础篇

时隔这么久,之前学习JAVA一直没有坚持下来,这次一定要坚持啊。 是跟着 B站 尚硅谷的老师学习的!资料非常齐全,讲得也很认真仔细。 这里会记录一些简单的归纳,很全很全的在老师的资料里就有!关注公众号就能领取,尚硅谷教育。 前言 学习一门计算机语言真的是一件很奇妙的事情,单靠简单的0-1就可以呈现各 ......
基础 JAVA

剑指offer56(Java)-数组中出现的次数Ⅰ(中等)

题目: 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例 1: 输入:nums = [4,1,4,6] 输出:[1,6] 或 [6,1] 示例2: 输入:nums = [1,2,10,4,1,4 ......
数组 次数 offer Java 56