线程 原理 参数java

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

Freertos学习02-Task传入参数

## 一、前言 介绍了freertos具有许多特点,其中的任务调度将有助提高系统的实时性,并将各任务解耦,有助于产品的后续维护与开发,上一节介绍了freertos中关于任务的创建与删除,这一节介绍如何在创建函数的同时并传递参数。 ## 二、传递参数 再次回顾xTaskCreate()函数的用法以及各 ......
Freertos 参数 Task 02

Nodepad ++ 运行JAVA代码

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

Nginx 根据请求参数代理到指定网址

### 1、参考 #### [nginx中将某一个请求的路径重定向到其它网址](https://www.jianshu.com/p/d847b26c11ee) #### [nginx: [emerg] unknown directive "if($request_uri" in](https://w ......
参数 网址 Nginx

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

linux中,如何在/etc/hosts中将一个域名解析为多个IP地址?工作原理是什么?

可以在/etc/hosts文件中,将一个域名配置多个IP地址 比如: [root@nccztsjb-node-23 yamls]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.local ......
中将 原理 多个 地址 域名

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

Linux多线程11-读写锁

当有一个线程已经持有互斥锁时,互斥锁将所有试图进入临界区的线程都阻塞住。 但是考虑一种情形,当前持有互斥锁的线程只是要读访问共享资源,而同时有其它几个线程也想读取这个共享资源,但是由于互斥锁的排它性,所有其它线程都无法获取锁,也就无法读访问共享资源了,但是实际上多个线程同时读访问共享资源并不会导致问 ......
线程 Linux 11

Linux多线程13-条件变量

上节代码存在的问题: 生产者已经没有数据了, 消费者还在while循环判断是否有数据,浪费资源 没有数据了应该通知生产者生产,生产好了通知消费者消费 这就需要条件变量 pthread_cond_t ```c int pthread_cond_init(pthread_cond_t *restrict ......
线程 变量 条件 Linux 13

Linux多线程14-信号量

信号量的类型 sem_t ```c int sem_init(sem_t *sem, int pshared, unsigned int value); 初始化信号量 参数: - sem: 信号量变量地址 - pshared: 0 用在线程间, 非0 用在进程间 - value: 信号量中的值 in ......
线程 信号 Linux 14

Linux多线程12-生产者和消费者模型

![image](https://img2023.cnblogs.com/blog/894919/202306/894919-20230626085900099-1696309927.png) 一个最简单的生产者消费者模型 ```c /* 生产者消费者模型(粗略版) */ #include #inc ......
生产者 线程 模型 消费者 Linux

Linux多线程01-线程概述

### 线程概述 - 与进程(process)类似,线程(thread)是允许应用程序并发执行多个任务的一种机制。一个进程可以包含多个线程。同一个程序 中的所有线程均会独立执行相同程序,且共享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段。(传统意义上的 UNIX 进程只是多 ......
线程 Linux 01

Linux多线程02-创建线程

### pthread_create 描述: > pthread_create() 函数在调用进程中创建一个新的线程。新线程通过调用 start_routine() 开始执行,arg 作为 start_routine() 的唯一参数传递。 新线程以以下方式之一终止: - 调用 pthread_exi ......
线程 Linux 02

Linux多线程03-终止线程

### pthread_exit 和 pthread_self 和 pthread_equal 描述: #### **pthread_exit** > pthread_exit() 函数终止调用该函数的线程,并通过retval返回一个值,如果该线程是可连接的,则在同一进程中调用pthread_joi ......
线程 Linux 03

Linux多线程06-线程取消

### pthread_cancel 描述: > pthread_cancel()函数向线程thread发送一个取消请求。目标线程对取消请求的响应取决于该线程控制的两个属性:其取消状态和类型。 一个线程的取消状态由pthread_setcancelstate(3)确定,可以启用(对于新线程而言是默认 ......
线程 Linux 06