线程局部变量 (ThreadLocal) 其实功用非常简单,就是为每一个使用该变量线程都提供一个变量值副本,是 Java 中一种较为特殊线程绑定机制,是每一个线程都可以独立地改变自己副本,而不会和其它线程副本冲突。在 ThreadLocal 类中有一个 Map ,用于存储每一个线程变量副本。概括起来说,对于多线程资源共享问题,同步机制采用了 “ 以时间换空间
Thread context class loader存在目的主要是为了解决parent delegation机制下无法干净解决问题。假如有下述委派链:ClassLoader A -> System class loader -> Extension class loader -> Boots...
转载 2015-12-22 15:39:00
83阅读
2评论
引言之所以我想总结一下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接口应用场景对缓存超时数据进行移除当向缓
概述Redis是一个开源使用C语言编写、支持网络交互、可基于内存也可持久化Key-Value(字典, Remote Dictionary Server,远程字典服务器)数据库。.NET开发程序配置ServiceStack.Common.dllServiceStack.Interfaces.dllServiceStack.Redis.dllServiceSta
为什么要有Spark SQL?      以往在使用Hadoop时,Hive作为一个数据仓库,但在使用中,我们更多感觉Hive是一个解析引擎,而Hive底层走也是MapReduce,而这个MapReduce是Hadoop,在前面我们也解释了HadoopMapReduce缺点,那么此时我们是使用了Spark实现MapReduce计算模型,
作者述:JUC是对Java体系内现有数据结构特性扩展,通过精细化锁控制,和对基本数据类型特性加工用以支持并发应用场景业务需求,并提供了并发情况下池化解决方案。有基础同学可以直接跳到第四节内容.一、Collections工具类在学习JUC之前我们应当了解一下Collections工具类,该类应用工厂模式及装饰者模式为已有数据结构进行加工,赋予dynamically(checked) 、em
Java并发场景中,会涉及到各种各样锁,比如:分段锁、公平锁,独享锁、共享锁、乐观锁,悲观锁等等,感觉特别的繁杂,一句话很难描述清楚,但又特别的重要。下面我就通过图文并茂方式,一起来梳理和详解最全锁!——嘀嘀!上车了!准备上车了!!——乐观锁 VS 悲观锁乐观锁与悲观锁是一种广义上概念,在Java并发编程和数据库中都有实际用场景。1.乐观锁顾名思义,就是很乐观,每次去拿数据时候都认为
转载 2023-08-15 20:45:52
355阅读
《dubbo应用场景示例一》中我们介绍了3种dubbo应用场景,今天我们接着聊聊dubbo几种应用场景。1、线程模型如果事件处理逻辑能迅速完成,并且不会发起新 IO 请求,比如只是在内存中记个标识,则直接在 IO 线程上处理更快,因为减少了线程池调度。但如果事件处理逻辑较慢,或者需要发起新 IO 请求,比如需要查询数据库,则必须派发到线程池,否则 IO 线程阻塞,将导致不能接收其它请求。如果
  关于javaHashMap,我们在项目中经常使用到,但是我们场景是否使用对了呢?  下面分为四个部分来阐述我HashMap理解  1、为什么要使用hashMap?  在项目中,需求实现需要使用到一些数据结构来保存key-value形式数据,也就是说hashMap其实就是一个装载数据容器。例如,我需要查询水果价格,那么很自然就会想到将这些数据存放在一个hashMap里面,苹果:
转载 2023-07-12 13:10:00
144阅读
# Java Token使用场景 在当今软件开发中,Token在身份验证和安全传输中扮演着至关重要角色。本篇文章将带领你了解Java中Token使用场景,特别是如何通过Token来实现用户认证和授权流程。通过逐步展示这个过程,我们会用到表格、流程图和旅行图,帮助你更直观地理解整个事情脉络。 ## 整体流程 以下是Token使用流程概述: | 步骤 | 描述
## Java队列使用场景Java编程中,队列是一种重要数据结构,它遵循先入先出(First-In-First-Out,FIFO)原则。队列通过提供基本操作方法(如入队和出队)来实现数据有序处理。在本文中,我们将介绍Java队列使用场景,并提供一些代码示例来帮助读者更好地理解。 ### 什么是队列? 队列是一种线性数据结构,它由一系列元素组成,每个元素都包含一个值和一个指向下
原创 11月前
33阅读
# JAVA Synchronized 使用场景 Java 是一种广泛使用编程语言,支持多线程编程。在多线程环境下,确保数据安全和一致性非常重要。`synchronized` 是 Java 中用于线程同步重要关键字。它可以用来控制对共享资源访问,避免数据竞争和不确定性。 ## 什么是 Synchronized? `synchronized` 是 Java 语言提供一种用于实现线程
原创 1月前
65阅读
# Java 事务使用场景 ## 什么是事务? 在软件开发中,事务是指由一系列操作所组成逻辑单元,这些操作要么全部成功执行,要么全部失败回滚。事务目的是确保数据完整性和一致性。 在 Java 中,事务是对数据库操作一种机制。Java 提供了多种方式来管理事务,其中最常用使用 Java 事务管理器。 ## 事务使用场景 事务使用场景主要涉及到对数据库操作。下面以一个简
原创 2023-08-24 11:59:21
55阅读
# Java Enum使用场景 ## 介绍 在Java编程中,Enum(枚举类型)是一种特殊数据类型,它是一种集合数据类型,包含一组常量。Enum可以提高代码可读性和可维护性,适用于那些具有固定数量类别或选项场景。本文将向你介绍Java Enum使用场景,帮助你理解如何正确使用Enum。 ## 步骤 下面是实现Java Enum使用场景步骤表格: | 步骤 | 操作 | |
原创 4月前
18阅读
# Java多态使用场景 ## 引言 Java是一种面向对象编程语言,多态是面向对象编程一个重要概念。通过使用多态,可以提高代码灵活性和可维护性。本文将介绍Java多态使用场景,并提供详细步骤和示例代码,帮助初学者理解和应用多态。 ## 什么是Java多态 在Java中,多态是指同一个方法名可以根据调用对象不同而具有不同行为。具体来说,多态可以通过继承和接口实现。当一个对象声明
原创 6月前
118阅读
                        反射用场景一、概述反射技术:        Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类中所有属性和方法;对于任意一个对象,都能够调用它任意一个方法和属性;这种动态获取信息以及动态调用对象方法功能称为java语言反射机制。  
转载 2023-09-04 13:48:41
92阅读
# Java缓存使用场景 ## 引言 Java缓存是提高应用程序性能重要工具。它可以存储已经计算过数据,从而避免重复计算,提高响应速度和系统吞吐量。本文将介绍Java缓存使用场景以及相关步骤和代码示例,帮助初学者理解和应用Java缓存。 ## 缓存使用场景使用Java缓存之前,我们需要明确何时使用缓存。下表展示了几个常见缓存使用场景。 | 场景 | 说明
原创 7月前
38阅读
# Java管道使用场景 ## 1. 简介 Java管道是一种用于在多个线程之间传递数据机制。它可以通过流式操作将数据从一个线程传输到另一个线程,实现线程之间通信和协作。在本文中,我将向你介绍Java管道使用场景,并指导你如何实现这些场景。 ## 2. 流程图 下面是使用Java管道一般流程图: ```mermaid pie title Java管道使用场景
原创 7月前
231阅读
## Java集合使用场景 ### 一、整体流程 为了更好地理解和应用Java集合框架,以下是一个使用集合框架一般流程: | 步骤 | 描述 | | --- | --- | | 1 | 确定问题和需求分析 | | 2 | 选择合适集合类型 | | 3 | 声明和初始化集合对象 | | 4 | 添加和删除元素 | | 5 | 遍历和访问元素 | | 6 | 对集合进行查找和排序 | |
原创 2023-09-07 15:57:16
48阅读
  • 1
  • 2
  • 3
  • 4
  • 5