java 锁(一)

乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当...

synchronized关键字最主要的三种使用方式

修饰实例方法 作用于当前对象实例加锁,进入同步代码前要获得当前对象实例的锁 修饰静态方法 也就是给当前类加锁,会作用于类的所有对象实例,因为静态成员不属于任何一个实例对象,是类成员( static 表明这是该...

java cglib 简介及示例

CGLIB(Code Generation Library)是一个开源的、强大的、高性能的代码生成库。它是针对Java字节码进行操作的,主要应用于AOP框架(如Spring AOP)和各种代理工具(如Hibernate的延迟加载机制)。CGLIB能够动态生...

死锁与活锁的区别,死锁与饥饿的区别

死锁:是指两个或两个以上的进程(或线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。 产生死锁的必要条件: 1、互斥条件:所谓互斥就是进程在某一时间内独占资...

什么是多线程中的上下文切换

在多线程环境下,当CPU需要切换执行不同的线程时,需要保存当前线程的执行状态以及程序计数器等相关信息,并恢复下一个线程的执行状态,这个过程就是上下文切换。 上下文是指线程的当前执行环境,包括寄存器的值...

线程与进程的区别

线程与进程是操作系统中的两个重要概念,它们有以下几个主要区别: 定义:进程是操作系统中的一个实体,是程序的执行实例,具有独立的内存空间和系统资源;线程是进程的一个执行单元,是操作系统调度的基本单位。...

java opcua server 示例

OPC UA(Open Platform Communications Unified Architecture)是一种开放的通信标准,用于构建分布式系统中的工业自动化和控制系统。它提供了一种统一的架构和协议,使不同厂商的设备可以方便地进行通信和集成。...

Java中集成graalvm.js

在Java中集成org.graalvm.js,可以实现Java与JavaScript的互操作性,让Java代码可以调用JavaScript代码,以及让JavaScript代码可以调用Java代码。 org.graalvm.js是GraalVM中的一个模块,用于在Java应用程序中运...

Java 并发编程的三个特性

Java并发编程的三个特性包括可见性、原子性和有序性。 可见性:可见性是指一个线程对共享变量的修改能够及时地被其他线程所感知。在多线程的环境下,每个线程都有自己的工作内存,工作内存中保存着线程需要使用到...