提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Java IO/NIO前言一、IO模型1.1. 阻塞IO模型1.2. 非阻塞IO模型1.3. 多路复用IO模型1.4. 信号驱动IO模型1.5. 异步IO模型二、IO/NIO2.1. IO包2.2. JAVA NIO2.2.1. NIO的缓冲区2.2.2. NIO的非阻塞2.3. Channel2.4. Buffer2.5. Sel
先启动server 再启动clientpackage learn.nio; import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; import java.nio.ByteBuffer; import java.nio.
转载 2023-12-21 06:58:22
87阅读
引言之所以我想总结一下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接口应用场景对缓存超时的数据进行移除当向缓
转载 2023-08-11 20:12:19
134阅读
为什么要有Spark SQL?      以往在使用Hadoop时,Hive作为一个数据仓库,但在使用中,我们更多感觉Hive是一个解析引擎,而Hive的底层走的也是MapReduce,而这个MapReduce是Hadoop的,在前面我们也解释了Hadoop的MapReduce的缺点,那么此时我们是使用了Spark实现的MapReduce计算模型,
作者述:JUC是对Java体系内现有数据结构的特性扩展,通过精细化锁控制,和对基本数据类型的特性加工用以支持并发应用场景的业务需求,并提供了并发情况下的池化解决方案。有基础的同学可以直接跳到第四节内容.一、Collections工具类在学习JUC之前我们应当了解一下Collections工具类,该类应用工厂模式及装饰者模式为已有数据结构进行加工,赋予dynamically(checked) 、em
转载 2024-06-06 10:39:47
783阅读
《dubbo应用场景示例一》中我们介绍了3种dubbo应用场景,今天我们接着聊聊dubbo几种应用场景。1、线程模型如果事件处理的逻辑能迅速完成,并且不会发起新的 IO 请求,比如只是在内存中记个标识,则直接在 IO 线程上处理更快,因为减少了线程池调度。但如果事件处理逻辑较慢,或者需要发起新的 IO 请求,比如需要查询数据库,则必须派发到线程池,否则 IO 线程阻塞,将导致不能接收其它请求。如果
  关于java中的HashMap,我们在项目中经常使用到,但是我们的场景是否使用对了呢?  下面分为四个部分来阐述我的HashMap的理解  1、为什么要使用hashMap?  在项目中,需求的实现需要使用到一些数据结构来保存key-value形式的数据,也就是说hashMap其实就是一个装载数据的容器。例如,我需要查询水果的价格,那么很自然就会想到将这些数据存放在一个hashMap里面,苹果:
转载 2023-07-12 13:10:00
197阅读
                        反射的应用场景一、概述反射技术:        Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。  
转载 2023-09-04 13:48:41
130阅读
Java并发场景中,会涉及到各种各样的锁,比如:分段锁、公平锁,独享锁、共享锁、乐观锁,悲观锁等等,感觉特别的繁杂,一句话很难描述清楚,但又特别的重要。下面我就通过图文并茂的方式,一起来梳理和详解最全锁!——嘀嘀!上车了!准备上车了!!——乐观锁 VS 悲观锁乐观锁与悲观锁是一种广义上的概念,在Java并发编程和数据库中都有实际的应用场景。1.乐观锁顾名思义,就是很乐观,每次去拿数据的时候都认为
转载 2023-08-15 20:45:52
441阅读
1 前言: 多线程的意义: (1)java一般被定义为网络编程语言,主要应用场景是服务器端编程,在用于服务器端编程的时候面临的重要问题就是客户端的并发请求,所以多线程对于java语言非常重要; (2)多线程的存在是在抢CPU的资源和执行权,这样可以提高程序的执行速度和资源的使用效率; (3)对于多核CPU可以充分发挥其优势,对于单核CPU可以防止阻塞。2 应用: (1)实现方式1:继承Thread
转载 2024-06-28 08:47:24
83阅读
Java日常学习之集合以下是本篇文章正文内容,下面内容为自己日常学习总结,可能有些地方不太全面,望谅解 集合一、集合及其应用环境二、集合和数组的对比三、集合架构和分类1.List2.Set3.Map四、补充 一、集合及其应用环境Java集合类存放在java.util包中,是一个用来存放对象的容器。注意:     ①集合只能存放对象,不能放基本的数据类型。
转载 2023-10-10 08:35:46
100阅读
在构建并发应用程序时,`synchronized`关键字在Java中扮演了至关重要的角色。理解其使用场景可以帮助我们在多线程环境中有效地维护共享资源的一致性。 ## 问题背景 在一个电商系统中,存在一个结算服务,需要对用户的账户余额进行实时更新。在高并发的情况下,多个用户可能同时尝试进行支付操作,导致账户余额的更新不一致,从而影响用户体验,甚至产生财务损失。 > “因为我们系统的用户量不断增
原创 6月前
10阅读
# 使用 RocksDB 的 Java 实现指南 ## 1. 引言 RocksDB 是一个高性能的键值存储库,它特别适用于需要大量读写的场景,比如缓存、实时数据分析等。Java 的应用程序可以通过 RocksDB 与其良好地交互。本文将详细介绍如何在 Java使用 RocksDB,包括具体步骤和示例代码。 ## 2. 实现流程概述 以下是使用 RocksDB 在 Java 项目中实现的
原创 11月前
663阅读
# Java Agent 使用场景入门指南 作为一名经验丰富的开发者,我很高兴能帮助刚入行的小白了解Java Agent的使用场景Java Agent是一种在运行时动态地改变Java程序行为的技术。它允许开发者在不重启程序的情况下,对程序进行监控、调试或增强功能。以下是实现Java Agent的步骤和代码示例。 ## 步骤流程 以下是实现Java Agent的基本步骤: | 步骤 | 描
原创 2024-07-22 06:29:33
57阅读
# Java Condition 使用场景及其应用 在编程过程中,我们常常需要依据某个条件来执行不同的逻辑,这就是“条件语句”的魅力所在。在Java中,条件语句具备多种形式,能够帮助开发者实现逻辑分支、控制程序的流向。本文将探讨Java中条件语句的使用场景,并通过代码示例帮助大家更好地理解其应用。 ## 一、基本的条件语句 最常见的条件语句是`if-else`。它用于根据布尔表达式的真或假来
原创 11月前
53阅读
# Java ConcurrentLinkedQueue 使用场景 ## 1. 介绍 `ConcurrentLinkedQueue` 是 Java 并发包中提供的一个线程安全的队列实现类,它基于链表结构实现,支持高效的并发操作。在多线程环境下,使用 `ConcurrentLinkedQueue` 可以有效避免线程安全问题,提高程序的性能。 ## 2. 适用场景 `ConcurrentLin
原创 2024-07-02 05:41:23
53阅读
在当今的信息技术时代,Java被广泛应用于各种场景,其中“Exchange”的使用场景尤其显著。无论是微服务架构、企业级应用还是数据集成,使用Java进行“Exchange”操作都能充分发挥其强大的功能。在这篇文章中,我们将深入探讨“exchange使用场景”下的Java应用,具体从适用场景、核心维度、特性拆解、实战对比、深度原理及生态扩展等多个方向剖析。 ## 背景定位 在很多企业中,系统间
原创 6月前
35阅读
Closure是一套开发富客户端的javascript工具。其中每一个工具都是在Apache 2.0 license下开源的,并且由google开发,维护。Closure已经被google开发了许多web应用,包括Gmail,Google Maps, Google Docs. 这些应用的性能就是Closure工具集的证明。 一些开发者可能在他们的web应用中都在回避扩展javascript
# Java RabbitMQ使用场景 ## 1. 概述 RabbitMQ是一个开源的消息中间件,它实现了高效的消息传递机制,能够在不同的应用程序之间传递和存储消息。在Java开发中,RabbitMQ可以被广泛应用于各种场景,包括任务队列、发布/订阅、路由和RPC等。 本文将向你介绍如何在Java使用RabbitMQ,并详细说明每个步骤需要做什么,以及使用的代码和注释。 ## 2. 整体流
原创 2024-02-13 09:03:07
57阅读
  • 1
  • 2
  • 3
  • 4
  • 5