引言之所以我想总结一下java中不太用的东西,是因为我再研究每个版本jdk中,发现有些内容“热火朝天”,但是有些东西却“门可罗雀”。比如说jdk1.5中新增了泛型,强化for循环和枚举等,但是前两者已经被各位熟知了,但是枚举在日常开发中都不太会用的。在本篇博文中,我会详细介绍enum的使用方式,同时比较常量与enum的优劣。笔者目前整理的一些blog针对面试都是超高频出现的。技术点在jdk1.5中
转载 2023-08-11 11:03:19
0阅读
DelayQueue 简介由优先级堆支持的、基于时间的调度队列,内部基于无界队列PriorityQueue实现,而无界队列基于数组的扩容实现。队列创建BlockingQueue<String> blockingQueue = new DelayQueue();要求入队的对象必须要实现Delayed接口,而Delayed集成自Comparable接口应用场景对缓存超时的数据进行移除当向缓
为什么要有Spark SQL?      以往在使用Hadoop时,Hive作为一个数据仓库,但在使用中,我们更多感觉Hive是一个解析引擎,而Hive的底层走的也是MapReduce,而这个MapReduce是Hadoop的,在前面我们也解释了Hadoop的MapReduce的缺点,那么此时我们是使用了Spark实现的MapReduce计算模型,
  关于java中的HashMap,我们在项目中经常使用到,但是我们的场景是否使用对了呢?  下面分为四个部分来阐述我的HashMap的理解  1、为什么要使用hashMap?  在项目中,需求的实现需要使用到一些数据结构来保存key-value形式的数据,也就是说hashMap其实就是一个装载数据的容器。例如,我需要查询水果的价格,那么很自然就会想到将这些数据存放在一个hashMap里面,苹果:
转载 2023-07-12 13:10:00
144阅读
作者述:JUC是对Java体系内现有数据结构的特性扩展,通过精细化锁控制,和对基本数据类型的特性加工用以支持并发应用场景的业务需求,并提供了并发情况下的池化解决方案。有基础的同学可以直接跳到第四节内容.一、Collections工具类在学习JUC之前我们应当了解一下Collections工具类,该类应用工厂模式及装饰者模式为已有数据结构进行加工,赋予dynamically(checked) 、em
                        反射的应用场景一、概述反射技术:        Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。  
转载 2023-09-04 13:48:41
92阅读
《dubbo应用场景示例一》中我们介绍了3种dubbo应用场景,今天我们接着聊聊dubbo几种应用场景。1、线程模型如果事件处理的逻辑能迅速完成,并且不会发起新的 IO 请求,比如只是在内存中记个标识,则直接在 IO 线程上处理更快,因为减少了线程池调度。但如果事件处理逻辑较慢,或者需要发起新的 IO 请求,比如需要查询数据库,则必须派发到线程池,否则 IO 线程阻塞,将导致不能接收其它请求。如果
Java并发场景中,会涉及到各种各样的锁,比如:分段锁、公平锁,独享锁、共享锁、乐观锁,悲观锁等等,感觉特别的繁杂,一句话很难描述清楚,但又特别的重要。下面我就通过图文并茂的方式,一起来梳理和详解最全锁!——嘀嘀!上车了!准备上车了!!——乐观锁 VS 悲观锁乐观锁与悲观锁是一种广义上的概念,在Java并发编程和数据库中都有实际的应用场景。1.乐观锁顾名思义,就是很乐观,每次去拿数据的时候都认为
转载 2023-08-15 20:45:52
355阅读
Java日常学习之集合以下是本篇文章正文内容,下面内容为自己日常学习总结,可能有些地方不太全面,望谅解 集合一、集合及其应用环境二、集合和数组的对比三、集合架构和分类1.List2.Set3.Map四、补充 一、集合及其应用环境Java集合类存放在java.util包中,是一个用来存放对象的容器。注意:     ①集合只能存放对象,不能放基本的数据类型。
1 前言: 多线程的意义: (1)java一般被定义为网络编程语言,主要应用场景是服务器端编程,在用于服务器端编程的时候面临的重要问题就是客户端的并发请求,所以多线程对于java语言非常重要; (2)多线程的存在是在抢CPU的资源和执行权,这样可以提高程序的执行速度和资源的使用效率; (3)对于多核CPU可以充分发挥其优势,对于单核CPU可以防止阻塞。2 应用: (1)实现方式1:继承Thread
# Java Function 使用场景的介绍与实践 在Java中,Function是一个非常常用的功能接口,它可以帮助我们以函数式编程的方式处理数据。对于刚入行的开发者来说,理解Function的使用场景是非常重要的。本文将通过一个简单的示例,带领你了解Java中的Function,以及如何在实际项目中应用它。 ## 流程概述 我们将使用Java的Function接口来实现一个简单的字符串
原创 1月前
12阅读
# Java RabbitMQ使用场景 ## 1. 概述 RabbitMQ是一个开源的消息中间件,它实现了高效的消息传递机制,能够在不同的应用程序之间传递和存储消息。在Java开发中,RabbitMQ可以被广泛应用于各种场景,包括任务队列、发布/订阅、路由和RPC等。 本文将向你介绍如何在Java使用RabbitMQ,并详细说明每个步骤需要做什么,以及使用的代码和注释。 ## 2. 整体流
原创 6月前
31阅读
# Java ReentrantLock使用场景 ## 1. 简介 ReentrantLock是Java中的一个同步工具类,它提供了与synchronized关键字类似的功能,可以用于实现线程之间的互斥访问。相比于synchronized,ReentrantLock提供了更灵活的锁定方式,并且支持公平锁和非公平锁。 在这篇文章中,我将教会你如何使用ReentrantLock,并介绍它的一些常见
原创 7月前
35阅读
# Java ConcurrentLinkedQueue 使用场景 ## 1. 介绍 `ConcurrentLinkedQueue` 是 Java 并发包中提供的一个线程安全的队列实现类,它基于链表结构实现,支持高效的并发操作。在多线程环境下,使用 `ConcurrentLinkedQueue` 可以有效避免线程安全问题,提高程序的性能。 ## 2. 适用场景 `ConcurrentLin
# Java Agent 使用场景入门指南 作为一名经验丰富的开发者,我很高兴能帮助刚入行的小白了解Java Agent的使用场景Java Agent是一种在运行时动态地改变Java程序行为的技术。它允许开发者在不重启程序的情况下,对程序进行监控、调试或增强功能。以下是实现Java Agent的步骤和代码示例。 ## 步骤流程 以下是实现Java Agent的基本步骤: | 步骤 | 描
原创 1月前
11阅读
# Java SPI的使用场景 ## 简介 Java SPI(Service Provider Interface)是Java语言提供的一种服务发现机制。它允许在运行时通过配置文件的方式动态加载实现特定接口的类。这种机制可以很好地解耦和扩展应用程序,使得应用程序的组件可以通过SPI机制被替换或者添加,而不需要修改源码。 ## 使用场景 Java SPI在很多场景下都可以发挥作用,以下是几个
原创 9月前
175阅读
# Java 队列使用场景 队列是一种常用的数据结构,它遵循先进先出(FIFO)的原则,即元素按照进入队列的顺序依次出队。在 Java 中,队列常用的实现类包括 `LinkedList` 和 `ArrayDeque`,它们都实现了 `Queue` 接口。 ## 队列的使用场景 队列在实际开发中有很多应用场景,其中一些常见的场景包括: 1. **任务调度**:多线程环境下,任务可以加入队列中
原创 2月前
8阅读
## Java枚举使用场景 ### 引言 在Java编程中,我们经常会遇到需要定义一组常量的情况,这些常量在程序的不同部分都会被使用。为了提高代码的可读性和可维护性,Java引入了枚举(Enum)的概念。枚举是一种特殊的数据类型,它表示一组固定的值,这些值在程序中都是唯一的,并且每个值都有一个名称来表示它的语义。本文将介绍Java枚举的使用场景,并通过代码示例来演示它们的具体应用。 ###
原创 2023-08-24 12:31:48
187阅读
# Java 反射使用场景入门指南 反射是一种强大的特性,允许程序在运行时查询和操作对象的类型信息。在Java中,反射主要用于:动态加载类、访问类的属性和方法、创建对象等。本文将通过简单的步骤教会你如何实现Java反射。 ## 反射实现流程 以下是实现Java反射的基本步骤: | 步骤 | 说明 | | ------ | -------
# Java TODO 使用场景 在软件开发中,尤其是在使用Java语言进行项目开发时,TODO注释是非常重要的一部分。TODO是一种注释标记,开发人员可以将其插入到代码中,以表示将来需要完成的任务或需要进一步处理的已知问题。本文将通过示例代码和图表,详细介绍Java中的TODO注释的使用场景以及如何有效管理待办事项。 ## TODO的使用场景 1. **标记未完成的代码**:在编码过程中,
原创 8天前
8阅读
  • 1
  • 2
  • 3
  • 4
  • 5