threadlocal 20230615 java lang

Java开发必备软件合集

IDEA安装详情,包含激活教程,和相关配置教程。 IDEA 安装配置步骤详解 IntelliJ IDEA 中有什么让你相见恨晚的技巧 IDEA快捷键大全 Navicat安装教程,激活教程 navicat介绍(包含安装指导) IDEA vs Eclipse:使用体验对比 IDEA对比 【待更新】 ......
软件 Java

Java并发之原子性、可见性和有序性

## 1.原子性 #### 1.1 原子性的定义 原子性:原子性即是一个或者多个操作,要么全程执行,并且执行的过程中不被任何因素打断,要么全部不执行。 举个例子会更好理解:就像是我们去银行转账的时候,A给B转1000元,如果A的账户减少了1000之后,那么B的账户一定要增加1000。A的账户减钱,B ......
有序性 原子 Java

【随手记录】关于Java字符串长度

在java当中,在运行期间,字符串的长度是有最大限制的:21亿,也就是4GB; 在编译期间,字符串的长度最大为:65534。 字符串的内容是由一个字符数组 char[] 来存储的,由于数组的长度及索引是整数,Integer的最大范围是2^31 -1,所以数组的最大长度可以使【0~2^31-1】通过计 ......
字符串 长度 字符 Java

ThreadLocal 详解【并发容器】

ThreadLocal 是什么?有哪些使用场景? ThreadLocal 是一个本地线程副本变量工具类,在每个线程中都创建了一个ThreadLocalMap 对象,简单说 ThreadLocal 就是一种以空间换时间的做法,每个线程可以访问自己内部 ThreadLocalMap 对象内的 value ......
ThreadLocal 容器

Java script事件问题

鼠标事件: /* onclick单击 */ /* ondbclick双击 */ /* onmouseover */ /* div1.onclick=function(){ console.log('单击') } div1.ondbcolick=function(){ console.log('双击' ......
事件 script 问题 Java

函数式编程和java

# 函数式编程和java 在计算机科学中,函数式编程是一种编程范式,通过应用和组合函数来构建程序。它是一种声明式编程范式(对应命令式编程),其中函数定义是将数值映射到其他数值的表达式树,而不是更新程序运行状态的命令式语句序列。 ## 函数的定义 ### 数学上的函数 是自变量到因变量的映射关系, 函 ......
函数 java

MyBatis集成Oracle报:java.sql.SQLException: Invalid column type: 1111

1. 报错日志: ```java org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #12 with JdbcType OTHER . Try setting a differen ......
SQLException MyBatis Invalid Oracle column

java 中字符型 和 字符串类型有什么区别

### 在Java中,字符型和字符串类型都是常用的数据类型,但是它们有着本质的不同。 * 字符型是基本数据类型,表示单个字符,使用char表示。例如:'A'、'1'、'中'等。 * 字符串类型是引用数据类型,表示由多个字符组成的字符串,使用String表示。例如:"hello"、"world"、"你 ......
字符 字符串 类型 java

使用 Java 实现 RSA 算法的简单示例代码

```java import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import j ......
示例 算法 代码 Java RSA

Oracle Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: HikariDataSource HikariDataSource (HikariPool-1) has been closed.

这个问题我在多个项目中都出现过,百度了很多都没有解决,有的是数据库服务器升级就消失,有的是数据库表加索引后消失 根据经验总结,这个问题一般是由服务器太拉跨,或者查询优化不够导致查询太慢,等待太久导致的。 ......

【Java】学习使用Tesseract实现验证码图片内容识别

本人的学习环境: 操作系统:win10 java版本:jdk11 (仅作为环境介绍,不一致也无妨) 步骤一: 安装Tesseract环境 可去官网查看各个环境的安装教程,本次是使用的windows版本,windows安装地址 如需要使用简体中文,需要在安装过程中指定其他语言数据下载,如下图所示: 步 ......
图片内容 Tesseract 内容 图片 Java

Java内置的注解

Java定义了一套注解,共有7个,3个在 java.lang中,剩下4个在java.lang.annotation中。 作用在代码的注解是 @Override - 检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。 @Deprecated - 标记过时方法。如 ......
注解 Java

java的包和权限

注:同一个文件夹下不能有相同的类 包的作用: 1. 区分形同名字的类 2. 当有很多类时,可以很好的额管理类(如java API文档) 3. 控制访问范围 包的本质:创建不同的文件夹来保存类文件。 语法: package com.douyin; package是关键字,表示打包 com.douyin ......
权限 java

Java Web大文件分片上传/多线程上传

​ 4GB以上超大文件上传和断点续传服务器的实现 随着视频网站和大数据应用的普及,特别是高清视频和4K视频应用的到来,超大文件上传已经成为了日常的基础应用需求。 但是在很多情况下,平台运营方并没有大文件上传和断点续传的开发经验,往往在网上找一些简单的PHP或者Java程序来实现基本的上传功能,然而在 ......
线程 文件 Java Web

java作业

1、 给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。 package lll; import java.util.Arrays; public class lll { public static void main(String[] args) { ......
java

Java设计模式之单例模式详解--独一无二的事物

# 前言 本文主要讲述**单例模式**,文中使用通俗易懂的案例,使你更好的学习本章知识点并理解原理,做到有道无术。 # 一. 什么是单例模式 单例模式是23种设计模式中**创建型模式**的一种,通过单例模式的方法创建的类在当前进程或者线程中只有一个实例。单例模式有两种比较常见的实现方式:**饿汉式* ......
模式 设计模式 独一无二 事物 Java

Java实战-基于JDK的LRU算法实现、优雅的实现代码耗时统计(Spring AOP、AutoCloseable方式)

场景 Java中基于JDK的LRU算法实现 LRU算法-缓存淘汰算法-Least recently used,最近最少使用算法 根据数据的历史访问记录来进行淘汰数据,其核心思想是:如果有数据最近被访问过,那么将来被访问的几率也更高 在Java中可以利用LinkedHashMap容器简单实现LRU算法 ......
AutoCloseable 算法 实战 代码 方式

java.lang.ClassCastException: com.alibaba.fastjson2.JSONArray cannot be cast to java.lang.String的解决

是这样的,今天跟着写springboot项目的时候,前端登录的时候报403错误。检查了半天,是后端的问题 报错代码: 第二句 报错提示如下 说是JSONArray不能转String,但我这也不是JSONArry转String而是Object转String啊。 网上搜了半天,用了好多种方法也没什么用 ......

Java中的List

### Java中的List 有ArrayList和LinkdList,前者底层是数组,后者底层是链表,前者适合遍历查找,后者适合插入删除 ### 1.List的add方法 有两种情况,第一种就是默认添加,在末尾往List里添加元素,第二种就是指定位置添加内容,原来位置的内容就会向后移动一位。 ## ......
Java List

Java的12种常用注解!

1.声明bean的注解😀 @Component 组件,没有明确的角色 @Service 在业务逻辑层使用(service层) @Repository 在数据访问层使用(dao层) @Controller 在展现层使用,控制器的声明(C) 2.注入bean的注解 @Autowired:由Spring ......
注解 常用 Java

Java实战-不可变容器、列表遍历删除、HashMap遍历删除、巧用函数方法实现二维数组遍历

场景 Java中不可变容器的使用 Java工具库Guava的不可变集合和新集合类型Multiset、Multimap、BiMap、RangeSet、RangeMap等的使用示例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/12 ......
数组 容器 函数 实战 HashMap

多线程-线程池与java内存模型

### 多线程-线程池与java内存模型 ### 线程池的使用(思路:什么是线程池->他的基本构造以及参数含义->如何使用,使用过程中需要注意什么->有哪些好用的工具类) 1. 线程池的基笨概念:首先看一下的继承关系,其次看他的状态,它是利用int的高三位表示状态,比如111表示能接受任务,具体看 ......
线程 模型 内存 java

java 第七日 吃货联盟系统

项目需求 运用Java开发网上订餐系统,需要实现”我要订餐“、”查看餐袋“、”签收订单“、”删除订单“、”我要点赞“和”退出系统“六个功能。 项目覆盖技能点 1.程序基本概念 程序、变量、数据类型; 2.使用顺序,选择、循环、跳转语句编写程序; 3.数组的使用。 项目实现思路 1.数据初始化 2.实 ......
吃货 联盟 系统 java

Java入门|文件扩展名是什么?看完就明白了

## 什么是文件扩展名? - 每一个文件都有文件扩展名,扩展名决定了文件的类型,什么是文件扩展名,例如: - a.doc,文件的扩展名是doc,说明该文件是一个word文件 - a.txt,文件扩展名是txt,说明该文件是一个普通文本文件 - a.java,文件扩展名是java,说明该文件是一个Ja ......
扩展名 文件 Java

Java基础

Java是一门高级的面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 ......
基础 Java

Java面向对象

物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人协作的问题! 面向对象编程的本质就是:以类的方式组织代码,以对象的形式(封装)数据。 ......
对象 Java

Java学习必备-文件扩展名

根据**动力节点老杜的Java17版入门教程**,整理了笔记,详细讲一讲关于文件扩展名 这套JavaSE教程基于Java17讲述,从零基础出发,讲解Java编程的基础知识和实践技巧,涵盖了Java编程的方方面面。 学习地址:[https://www.bilibili.com/video/BV1ig4 ......
扩展名 文件 Java

Java中进行排序比较-Comparaator与Comparable的区别-使用示例

场景 java中进行排序比较时Comparator与Comparable区别: 如果你有一个类,希望支持同类型的自定义比较策略,可以实现接口Comparable 如果某个类,没有实现Comparable,但是又希望对它进行比较,则可以自定义一个Comparator,来定义这个类的比较规则 注: 博客 ......
示例 Comparaator Comparable Java

java8 stream 数据丢失(错乱)的问题

说明原因:使用的java8的parallelparrStream是并行的,但是.collect(Collectors.toList()) 使用了非线程安全的集合。 修改办法: 修改办法1:把parallelparrStream改为普通的stream ; 修改办法2: Collectors.toLis ......
数据 stream 问题 java8 java

Java中枚举类的特殊用法-使用枚举实现单例模式和策略模式

场景 设计模式-单例模式-饿汉式单例模式、懒汉式单例模式、静态内部类在Java中的使用示例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/127555096 设计模式-单例模式-注册式单例模式-枚举式单例模式和容器式单例模式在J ......
模式 策略 Java