线程lesson java 03

【4.0】知识点小结(线程进阶)

# 【4.0】知识点小结(线程进阶) # 【一】什么是死锁与递归锁 - 死锁是指两个或多个进程,在执行过程中,因争夺资源而造成了互相等待的一种现象。 - 即两个或多个进程持有各自的锁并试图获取对方持有的锁,从而导致被阻塞,不能向前执行,最终形成僵局。 - 在这种情况下,系统资源利用率极低,系统处于一 ......
知识点 线程 小结 知识 4.0

Java封装xml格式参数请求第三方接口

# Java封装xml格式参数请求第三方接口 ## 1、引用包 ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import javax.xml.tr ......
第三方 接口 参数 格式 Java

java递归,数组

递归 在Java中,递归是一种方法或函数调用自身的技术。使用递归可以解决那些可以被分解成相同问题的子问题的情况。以下是有关使用递归的一些基本信息: 递归的基本原理: 找到问题的基本情况(递归终止条件)。 找到问题的规模减少的方式,将其转化为更小的子问题。 通过调用自身来解决子问题。 编写递归函数的要 ......
数组 java

Java基础-Day03

# Java基础-Day03 ## Scanner - Scanner是需要进行导包操作 ```java import java.util.Scanner; class ScannerTest{ public static void main(String[] args){ Scanner scan ......
基础 Java Day 03

vue03

day03 组件 组件 (Component) 是 Vue.js 最强大的功能之一 组件可以扩展 HTML 元素,封装可重用的代 组件注册 全局注册 Vue.component('组件名称', { }) 第1个参数是标签名称,第2个参数是一个选项对象 全局组件注册后,任何vue实例都可以用 组件基础 ......
vue 03

线程池

### 为什么使线程池 java的线程对应是操作系统级别的线程调用,不断的或无限制的启停线程是对系统资源的一种消耗也会增加系统的不稳定性。同时很多个线程间的运行上下文切换也会降低实际系统的性能。在对一些大量耗时较小的任务不断的启停线程会降低性能。这个时候就比较适合使用线程池。线程池在池中维护一定的工 ......
线程

Java 面向对象基础

# Java 面向对象基础 # 1.类与对象的基本概念 ## 类即 Java 中的数据类型(用户自定义),可以理解成在现实中即一个物品的种类,而具体实现这一种类即为对象。 # 2.如何创建对象 ## 创建对象即实例化一个类,通过new关键字来创建一个对象。 ## 例如创建一个猫类的对象: ## 先声 ......
对象 基础 Java

java~CompactStrings字符压缩技术

# 概念 在 Java 中,`char` 和 `byte` 类型占用的存储空间是不同的。 1. `char` 类型:`char` 是 16 位无符号的 Unicode 字符类型,用于表示单个字符。在 Java 中,`char` 类型占用 2 个字节(16 位)的存储空间。 2. `byte` 类型: ......
CompactStrings 字符 技术 java

JavaScript基础第03天笔记

1 - 循环 1.1 for循环 语法结构 for(初始化变量; 条件表达式; 操作表达式 ){ //循环体} 名称作用 初始化变量 通常被用于初始化一个计数器,该表达式可以使用 var 关键字声明新的变量,这个变量帮我们来记录次数。 条件表达式 用于确定每一次循环是否能被执行。如果结果是 true ......
JavaScript 基础 笔记

【转】【Java】二维码生成及图片合成

转自:https://blog.csdn.net/Alian_1223/article/details/117332164 在 pom.xml 引入 maven 配置: <dependency> <groupId>com.google.zxing</groupId> <artifactId>core ......
图片 Java

JAVA实现发送邮件功能

话不多说,直接上代码!!!/* 新建传输对象类*/import lombok.*;import java.util.List;import java.util.Map;@Getter@Setter@AllArgsConstructor@NoArgsConstructor@ToString@Build ......
邮件 功能 JAVA

2、多线程锁

# 多线程锁 ## 乐观锁与悲观锁 ​ 悲观锁:认为 在使用数据的时候一定会有线程来修改数据,因此在获取数据的时候会先加索,确保数据不会被别的线程修改 ​ synchronized和Lock的实现类都是悲观锁 ​ 使用场景:适合操作写多的场景,**先加锁**可以保证写操作时数据正确,显示锁定后**再 ......
线程

3、LockSupport与线程中断

# LockSupport与线程中断 ## 线程中断 ​ 首先 ​ 一个线程不应该由其他线程来强制中断或停止,而是***应该由线程自己自行停止***,自己来决定自己的命运。所以,Thread.stop,Thread.suspend, Thread.resume 都已经被废弃了。 ​ 其次 ​ 在Ja ......
线程 LockSupport

Java项目的程序里为什么老用注解?注解有哪些作用

注解和类,接口等属于同一层并列的东西 来源于 Java项目的程序里为什么老用注解?注解有哪些作用 https://blog.csdn.net/m0_71777195/article/details/127818321 注解的英文名叫“Annotation”,是 Java 中给类、方法以及成员变量等元 ......
注解 作用 程序 项目 Java

JAVA将List转化为逗号分隔的字符串

list为integer类型时 StringUtils.join(list.toArray(),","); //org.apache.commons.lang.StringUtils list为String类型时 String.join(",",list); ......
逗号 字符串 字符 JAVA List

java方法

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

java使用AES算法的CBC模式加密

https://blog.csdn.net/qq_25816185/article/details/81626499?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECT ......
算法 模式 java AES CBC

Nodepad ++ 运行JAVA代码

前提: 环境已经配置完毕 (具体步骤可自行在必应,百度等平台搜索) jdk版本: jdk1.8.0_202 notepad++ 已安装 ##方法: >notepad不添加插件,使用CMD终端命令运行 ###1. 使用notepad++,新建文本输入以下代码,并另存为HelloWorld.java > ......
Nodepad 代码 JAVA

Java学习笔记(十七)

1、手写一个懒汉式的单例模式&解决其线程安全问题,并且说明为什么这样子去解决 class Mythread extends Thread{ private static Mythread mythread; private Mythread() { } public static Mythread ......
笔记 Java

保证线程安全的10个小技巧

前言 对于从事后端开发的同学来说,线程安全问题是我们每天都需要考虑的问题。 线程安全问题通俗的讲:主要是在多线程的环境下,不同线程同时读和写公共资源(临界资源),导致的数据异常问题。 比如:变量a=0,线程1给该变量+1,线程2也给该变量+1。此时,线程3获取a的值有可能不是2,而是1。线程3这不就 ......
线程 技巧

浅析 Jetty 中的线程优化思路

本文介绍了 Jetty 中 ManagedSelector 和 ExecutionStrategy 的设计实现,通过与原生 select 调用的对比揭示了 Jetty 的线程优化思路。Jetty 设计了一个自适应的线程执行策略(EatWhatYouKill),在不出现线程饥饿的情况下尽量用同一个线程... ......
线程 思路 Jetty

SimpleDateFormat 线程不安全!使用DateTimeFormatter

1、报错原因: (1)、SimpleDateFormat 是线程不安全的 (2)、代码想把格林威治时间转换成yyyy-MM-dd HH:mm:ss 报错 Exception in thread :java.lang.NumberFormatException: For input string: " ......

java 8新特性 list转map

List<Object> 转Map<String,List<String>> Map<String, List<String>> skillAndList = list.stream().collect(Collectors.groupingBy(Employee::getSkillId, Coll ......
特性 java list map

java陷阱之数据库主从

现象 客户遇到工单缺少描述,查询日志写入描述报错,但那是工单又正常生产 原因 先写入工单再查询工单实时性要求比较高的不能走从库, 还有就是service层方法命名不规范,不点进去看根本不知道走从库,如果要走从库应该带上Slave后缀,查询缓存也一样带上cache findProviderIdByTi ......
主从 陷阱 数据库 数据 java

java实际开发中接口文档是自己写还是架构师写?

软件工程的两种方法下,由后端决定接口都是不对的。 第一种软件工程的方法:瀑布模型,自顶而下,逐步细化。 接口会变,但是接口要提前设计。接口不是后端开发完成之后才“自然”产生的,那不是自然,而是无序。 **前后端分离的开发,应该是面向“API”的开发。API的设计并不能由前端或后端一方决定或主导,而是 ......
架构 接口 实际 文档 还是

java反射之-InvocationHandler使用

InvocationHandler 是 Java 中的一个接口,是 Java 反射 API 的一部分。与 Proxy 类一起使用,用于动态创建接口的代理实例。 在 Java 中使用 Proxy 类创建代理对象时,需要提供一个 InvocationHandler 实现来定义代理对象的行为。Invoca ......
InvocationHandler java

[转]Java如何对一个对象进行深拷贝

介绍 在Java语言里,当我们需要拷贝一个对象时,有两种类型的拷贝:浅拷贝与深拷贝。浅拷贝只是拷贝了源对象的地址,所以源对象的值发生变化时,拷贝对象的值也会发生变化。而深拷贝则是拷贝了源对象的所有值,所以即使源对象的值发生变化时,拷贝对象的值也不会改变。如下图描述: 了解了浅拷贝和深拷贝的区别之后, ......
拷贝 对象 Java

Java学习笔记(十六)

1.什么是线程? 线程是指操作系统中的一种执行单元,它是进程中的一部分,可以看作是轻量级的进程。与进程不同的是,线程共享同一进程的地址空间和系统资源,如打开文件和信号处理等,但每个线程都有自己的程序计数器(PC)和栈,用于执行代码和存储局部变量等数据。 2。线程和进程有什么区别? 线程和进程都是操作 ......
笔记 Java

Linux多线程10-死锁

有时,一个线程需要同时访问两个或更多不同的共享资源,而每个资源又都由不同的互斥量管理。当超过一个线程加锁同一组互斥量时,就有可能发生死锁。 两个或两个以上的进程在执行过程中,因争夺共享资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁。 死锁的 ......
线程 Linux 10

Linux多线程09-互斥锁

- 为避免线程更新共享变量时出现问题,可以使用互斥量(mutex 是 mutual exclusion的缩写)来确保同时仅有一个线程可以访问某项共享资源。可以使用互斥量来保证对任意共享资源的原子访问。 - 互斥量有两种状态:已锁定(locked)和未锁定(unlocked)。任何时候,至多只有一个线 ......
线程 Linux 09