
Java
文章平均质量分 81
Java
changelzj
个人博客:https://blog.liuzijian.com
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入理解Java泛型
泛型(Generics)和面向对象、函数式编程一样,也是一种程序设计的范式,泛型允许程序员在定义类、接口和方法时使用引用类型的类型形参代表一些以后才能确定下来的类型原创 2025-04-24 10:57:39 · 589 阅读 · 0 评论 -
Java8的新特性
注解:这是一个可选的注解,它可以帮助编译器在编译时检查接口是否符合函数式接口的要求,即是否只有一个抽象方法,如不符合还加这个注解,会导致编译器报错。原创 2025-01-20 11:30:39 · 621 阅读 · 0 评论 -
Java线程的创建和常见方法
守护线程:服务进程,没有服务对象就没有必要继续运行下去了,如果用户线程全部结束,意味着程序需要完成的业务操作已经结束,系统可以退出,当只剩下守护线程时,Java虚拟机会自动退出。当你在主线程中调用另一个线程的 join() 方法时,主线程会暂停执行进入阻塞状态,直到被调用的线程完成为止。用户线程:系统的工作线程,会完成这个程序需要完成的业务操作。方法启动线程,jvm自动调用run()方法。方法启动线程,jvm自动调用run()方法。本文最后更新于 2024年11月3日。方法,然后将该实现传递给。原创 2024-12-11 11:50:48 · 784 阅读 · 0 评论 -
Java线程的通信
这是一种线程间的协作机制,与争夺锁的竞争机制相对应,当一个线程满足某个条件时,就进入等待状态( wait/wait(m) ),等到其他线程执行完指定的代码后,再将其唤醒,或者可以指定时间,到时间了自动唤醒,有多个线程等待时,如果有需要,可以notifyAll()唤醒所有等待的线程,wait/notify就是一种线程间的协助机制。当需要多个线程共同完成一件任务,而且需要有规律的执行,那么多个线程之间需要一定的通信机制,可以协调他们的工作,以此实现多线程共同操作一份数据。本文最后更新于 2024年11月5日。原创 2024-12-11 11:45:47 · 572 阅读 · 0 评论 -
Java实现LDAP登录
LDAP的全称是Lightweight Directory Access Protocol(轻量级目录访问协议),是一种用于访问和管理分布式目录信息服务的应用协议。LDAP通常用于存储用户、组和其他组织信息,提供对这些信息的快速查询和管理。标准的一个简化版本,使用更简单的网络协议(如 TCP/IP)来实现,定义了客户端如何与目录服务交互,如添加、删除、修改或查询目录信息。连接LDAP服务器,并搜索用户的DN,验证用户凭据,再检查输入的密码是否正确。本文最后更新于 2024年12月10日。原创 2024-12-11 11:44:03 · 642 阅读 · 0 评论 -
volatile与内存可见性
在多线程环境中,每个线程都有自己的工作内存(即 CPU 缓存)。当一个线程修改了某个变量,其他线程并不能立即看到这个修改,因为每个线程可能都在使用自己工作内存中的缓存值。Java 内存模型 (JMM) 中的一个核心问题是线程对共享变量的。保证了变量的可见性,即当一个线程修改了。,而不会从线程的工作内存中读取缓存的值。变量后,其他线程能够立即看到最新的值。本文最后更新于 2024年10月19日。,而不是缓存在该线程的工作内存中。修饰的变量进行写操作时,修饰的变量进行读操作时,原创 2024-12-11 11:42:44 · 283 阅读 · 0 评论 -
使用GraalVM将SpringBoot项目编译成原生应用
Visual Studio(特别是其中的 Visual C++ 工具)在 Windows 系统上提供了 C/C++ 编译器和相关工具链,它们是用来编译和链接本地代码的。当使用 GraalVM 在 Windows 上构建本地可执行文件时,需要依赖 Visual Studio 提供的这些编译工具来完成编译和链接的过程。) 是一个高性能的JDK,旨在加速用Java和其他JVM语言编写的应用程序的执行,同时还提供JavaScript,python和许多其他流行语言的运行时。目标.exe文件名称。原创 2024-11-13 10:51:30 · 764 阅读 · 0 评论 -
Java线程的安全问题
当多个线程同时访问同一资源(变量,文件,记录),如果只有读操作,则不会有线程安全问题,如果有读和写操作,则会产生线程安全问题,必须保证共享数据同一时刻只能有同一个线程操作。lock作为同步监视器,锁住代码块中的操作,谁获得同步监视器,谁运行同步代码块中的代码。,两个线程都在争抢在对方持有的锁,且都在等待对方先释放各自持有的锁,不然就一直等待,线程都一直处在阻塞状态无法继续运行,造成死锁。,锁住的是类的.class对象,每个类的class对象只有一个,所以同时只能有一个线程进入方法。原创 2024-12-09 16:39:33 · 771 阅读 · 0 评论