
Java
文章平均质量分 93
本专栏主要介绍关于Java的一些知识,包括Java的反射、注解、常用集合、IO、多线程等
JAVA开发区
热爱编程的一枚小青年
展开
-
Java 多线程的 volatile 和 AQS
Java 内存模型()就是一种符合内存模型规范的,屏蔽了各种硬件和操作系统的访问差异的,保证了 Java 程序在各种平台下对内存的访问都能保证效果一致的机制及规范。JMM是一种规范,是解决由于多线程通过共享内存进行通信时,存在的本地内存数据不一致、编译器会对代码指令重排序、处理器会对代码乱序执行等带来的问题。目的是保证并发编程场景中的原子性、可见性和有序性。在 Java 中,为了保证原子性,提供了两个高级的字节指令和 Monitorexit。这两个字节码,在 Java 中对应的关键字就是。原创 2024-10-25 15:22:49 · 787 阅读 · 0 评论 -
多线程:从线程安全到锁机制
通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。如果想要实现每一个线程都有自己的专属本地变量该如何解决呢?JDK 中提供的类正是为了解决这样的问题。类似操作系统中的TLAB。原创 2024-10-24 08:15:00 · 858 阅读 · 0 评论 -
深入理解Java多线程:调度、线程池与优化技巧
线程池中的线程已经用完了,无法继续为新任务服务,同时,等待队列也已经排满了,再也塞不下新任务了。:通过复用已创建的线程,降低资源损耗、线程可以直接处理队列中的任务加快响应速度、同时便于统一监控和管理。)的调用都会使当前线程阻塞。该线程将会被放置到该 Object 的请求等待队列中,然后让出当前对。线程将会从等待队列中移除,重新成为可调度线程。它会与其他线程以常规的方式竞争对象同步请求。所拥有的所有的同步请求。任务调度的最小执行单位,每个线程拥有自己独立的。方法,调用之后会强制释放当前对象锁,所以在。原创 2024-10-24 08:00:00 · 1148 阅读 · 0 评论 -
Xxl-Job 快速入门
Xxl-Job 是一个轻量级分布式任务调度平台作用Xxl-Job是一个任务调度框架,通过引入Xxl-Job 相关的依赖,按照相关格式撰写代码后,可在其可视化界面进行任务的启动、执行、中止以及包含了日志记录与查询和任务状态监控。理解: 如果将Xxl-Job形容为一个人的话,每一个引入Xxl-Job的微服务就相当于一个独立的人(执行器),而按照相关约定格式撰写的Handler。原创 2023-10-30 10:30:15 · 1254 阅读 · 0 评论 -
Java之深入探究IO流操作与Lambda表达式
通过本文,我们深入了解了Java中IO流操作的基础知识,并且展示了如何巧妙地将Lambda表达式应用于各种IO操作中,最后通过流式操作的讲解也让我们学会了如何在业务中引用流式操作。这种组合不仅使代码更加清晰、简洁,还能提升代码的可读性和可维护性。在今后的编程实践中,将这些技巧运用到自己的项目中,定能事半功倍。原创 2023-08-10 18:11:16 · 537 阅读 · 0 评论 -
职场新星:Java面试干货让你笑傲求职路(三)
1、token 为什么存放在 redis 中?2、索引的底层原理是什么?3、Spring IOC和AOP的原理4、接口和抽象类有什么共同点和区别?5、为什么要使用线程池?直接new个线程不好吗?6、 线程池的核心属性有哪些?7、线程池中的各个状态分别代表什么含义?8、线程池有哪些队列?9、线程池有哪些拒绝策略?10、Executors 提供了哪些创建线程池的方法?原创 2023-08-09 14:46:32 · 672 阅读 · 0 评论 -
Java之多线程和并发应用
多线程编程和并发技术在Java中具有广泛的应用,从网络通信到图像处理,从数据库操作到高并发服务。通过合理的线程管理和同步机制,可以实现更高效的程序和更好的用户体验。然而,多线程编程也带来了一些挑战,如线程安全性和死锁。掌握多线程编程和基本概念和实际应用,将有助于你构建更强大、更可靠的应用程序。原创 2023-08-09 12:02:14 · 564 阅读 · 0 评论 -
Java之异常处理
异常是指在程序执行过程中可能出现的意外情况,例如除以零、访问不存在的数组元素等。异常会中断正常的程序流程,需要特殊的处理来恢复程序执行或提供错误信息。原创 2023-08-08 11:30:09 · 185 阅读 · 0 评论 -
Java中的Unsafe类详解
Unsafe 类提供了一些能够绕过 Java 语言安全机制的方法,例如直接操作内存、CAS(比较并交换)操作、分配和释放内存等。这使得开发者可以在某些情况下获得更高的性能,但同时也需要承担更大的风险和责任。原创 2023-08-07 18:10:59 · 3252 阅读 · 1 评论 -
23种设计模式之单例模式
设计模式是前辈们对代码开发经验的总结,是解决特定问题的一系列套路,他不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案 1995年,GoF合作出版了《设计模式:可复用面向对象软件的基础》一书,收录了23中设计模式,从此树立了软件设计模式领域的里程碑,人称GoF设计模式原创 2023-03-14 16:34:14 · 286 阅读 · 0 评论 -
Java之注解
使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口@interface用来声明一个注解,格式: public @interface 主街名 { 定义内容 }其中的每一个方法实际上是声明了一个配置参数方法的名称就是参数的名称返回值类型就是参数的类型(返回值只能是类型、Class、String、enum可以通过default来声明参数的默认值如果只有一个参数成员,一般参数名为value。原创 2023-03-02 18:19:22 · 688 阅读 · 0 评论 -
Java之反射
Reflection(反射)是Java被视为动态语言的关键,反射机制允许程序在执行期借助于 Reflection API 取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。Class c = Class.forName("java.lang.String");原创 2023-03-03 16:52:13 · 453 阅读 · 0 评论 -
Java面试题总结(二)
创建线程有几种不同的方式四种方式:1、继承Thread类2、实现Runnable接口3、实现Callable接口,结合FutrueTask使用4、利用该线程池ExecutorService、Callable、Future来实现同步方法和同步代码块的区别是什么?相同点:同步方法就是在方法前加关键字synchronized,然后被同步的方法一次只能有一个线程进入,其他线程等待。而同步代码块则是在方法内部使用大括号使得一个代码块得到同步。同步代码块会有一个同步的“目标”,使得同步块更加灵活一些(同步原创 2022-11-09 17:39:47 · 1004 阅读 · 0 评论 -
Java面试题总结(一)
一、Java基础1. Java中的基本数据类型各占多少字节?2. String类能被继承吗?为什么?3. String、StringBuffer、StringBuilder的区别?4. ArrayList和LinkedList有什么区别?5. 讲讲类的实例化顺序?6. HashMap和HasnTable的区别?7. 抽象类和接口的区别?8. Spring和SpringBoot的区别原创 2022-09-25 14:50:19 · 390 阅读 · 0 评论