super在平时编程和面试的时候经常会被使用到,这篇文章就仔细来分析一下他的用法,并和this关键字做一个对比分析。1、概念它是一个指代变量,用于在子类中指代父类对象。2、应用范围super的三种使用情况:访问父类的方法。调用父类构造方法。访问父类中的隐藏成员变量。3、使用(1)访问父类中的方法第一步:定义father类 public 第二步:定义son类 public 第三步:测试一下
JavaBeans事实上有三层含义。首先,JavaBeans是一种规范,一种在Java(包括JSP)中使用可重复使用Java组件的技术规范,也可以说成我们常说的接口。其次,JavaBeans是一个Java的类,一般来说,这样的Java类将对应于一个独立的 .java文件 ,在绝大多数情况下,这应该是一个public类型的类。最后,当JavaBeans这样的一个Java类在我们的具体的Java程序
转载 9月前
46阅读
引言之所以我想总结一下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接口应用场景对缓存超时的数据进行移除当向缓
《dubbo应用场景示例一》中我们介绍了3种dubbo应用场景,今天我们接着聊聊dubbo几种应用场景。1、线程模型如果事件处理的逻辑能迅速完成,并且不会发起新的 IO 请求,比如只是在内存中记个标识,则直接在 IO 线程上处理更快,因为减少了线程池调度。但如果事件处理逻辑较慢,或者需要发起新的 IO 请求,比如需要查询数据库,则必须派发到线程池,否则 IO 线程阻塞,将导致不能接收其它请求。如果
为什么要有Spark SQL?      以往在使用Hadoop时,Hive作为一个数据仓库,但在使用中,我们更多感觉Hive是一个解析引擎,而Hive的底层走的也是MapReduce,而这个MapReduce是Hadoop的,在前面我们也解释了Hadoop的MapReduce的缺点,那么此时我们是使用了Spark实现的MapReduce计算模型,
作者述:JUC是对Java体系内现有数据结构的特性扩展,通过精细化锁控制,和对基本数据类型的特性加工用以支持并发应用场景的业务需求,并提供了并发情况下的池化解决方案。有基础的同学可以直接跳到第四节内容.一、Collections工具类在学习JUC之前我们应当了解一下Collections工具类,该类应用工厂模式及装饰者模式为已有数据结构进行加工,赋予dynamically(checked) 、em
# Java Supplier使用指南 ## 1. 概述 在Java编程中,`Supplier`是一个函数式接口,它没有任何参数,但可以返回一个值。它非常适合用于延迟计算或延迟获取值的场景。本文将详细介绍如何使用`Supplier`接口。 ## 2. 使用步骤 为了更好地说明使用`Supplier`的过程,下面的表格展示了整个过程的步骤: | 步骤 | 描述 | | --- | ---
原创 9月前
37阅读
  关于java中的HashMap,我们在项目中经常使用到,但是我们的场景是否使用对了呢?  下面分为四个部分来阐述我的HashMap的理解  1、为什么要使用hashMap?  在项目中,需求的实现需要使用到一些数据结构来保存key-value形式的数据,也就是说hashMap其实就是一个装载数据的容器。例如,我需要查询水果的价格,那么很自然就会想到将这些数据存放在一个hashMap里面,苹果:
转载 2023-07-12 13:10:00
144阅读
Java并发场景中,会涉及到各种各样的锁,比如:分段锁、公平锁,独享锁、共享锁、乐观锁,悲观锁等等,感觉特别的繁杂,一句话很难描述清楚,但又特别的重要。下面我就通过图文并茂的方式,一起来梳理和详解最全锁!——嘀嘀!上车了!准备上车了!!——乐观锁 VS 悲观锁乐观锁与悲观锁是一种广义上的概念,在Java并发编程和数据库中都有实际的应用场景。1.乐观锁顾名思义,就是很乐观,每次去拿数据的时候都认为
转载 2023-08-15 20:45:52
355阅读
                        反射的应用场景一、概述反射技术:        Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。  
转载 2023-09-04 13:48:41
92阅读
java中引用类型都有哪些Java中对象的引用分为四种级别,这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。 强引用(StrongReference)这个就不多说,我们写代码天天在用的就是强引用。如果一个对象被被人拥有强引用,那么垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来
BlockingQueueBlockingQueue介绍BlockingQueue非常使用生产者-消费者队列的应用场景;BlockingQueue这个接口继承了Queue接口,即拥有了Queue的功能,且在它的实现者中大多都实现了集合框架中的接口,所以可以说BlockingQueue是集合框架的一部分;但是BlockingQueue和普通的集合框架有一些区别,它可以说是线程安全的框架(这里说的是相
转载 1月前
30阅读
# Java synchronized使用场景 ## 引言 在多线程编程中,为了保证数据的一致性和线程安全性,我们需要使用同步机制。Java中的synchronized关键字就是一种用于实现同步的机制。本文将介绍Java synchronized的使用场景及相应的代码示例。 ## 流程 下面是使用Java synchronized实现同步的一般流程: |步骤|内容| |---|---| |1
# Java使用场景 ## 引言 栈(Stack)是一种常见的数据结构,它具有先入后出(LIFO)的特性。在计算机科学中,栈被广泛应用于各种领域,包括编译器、操作系统、网络通信等。在Java中,栈的使用场景也非常丰富,本文将介绍几个常见的Java使用场景,并提供相应的代码示例。 ## 1. 方法调用栈 在Java中,每次方法的调用都会创建一个新的栈帧(Stack Frame),用于存储
原创 2023-08-20 05:34:10
119阅读
前言:volatile关键字是Java提供的一种轻量级的同步机制,可以保证变量的内存可见性和禁止指令重排序。一个硬币具有两面,volatile不会造成上下文切换的开销,但是它也并不能像synchronized那样保证所有场景下的线程安全,因此我们需要在合适的场景使用volatile机制。一、基本概念在并发编程中分析线程安全的问题时往往需要切入点,那就是JMM抽象内存模型、happens-befo
上一篇文章说了 CAS 原理,其中说到了 Atomic* 类,他们实现原子操作的机制就依靠了 volatile 的内存可见性特性。如果还不了解 CAS 和 Atomic*,建议看一下我们说的 CAS 自旋锁是什么并发的三个特性首先说我们如果要使用 volatile 了,那肯定是在多线程并发的环境下。我们常说的并发场景下有三个重要特性:原子性、可见性、有序性。只有在满足了这三个特性,才能保证并发程序
最简单的回答是,stringbuffer 基本没有适用场景,你应该在所有的情况下选择使用 stringbuiler,除非你真的遇到了一个需要线程安全的场景。然后,补充一点,关于线程安全,即使你真的遇到了这样的场景,很不幸的是,恐怕你仍然有 99.99…99% 的情况下没有必要选择 stringbuffer,因为 stringbuffer 的线程安全,仅仅是保证 jvm 不抛出异常顺利的往下执行而已
1 前言: 多线程的意义: (1)java一般被定义为网络编程语言,主要应用场景是服务器端编程,在用于服务器端编程的时候面临的重要问题就是客户端的并发请求,所以多线程对于java语言非常重要; (2)多线程的存在是在抢CPU的资源和执行权,这样可以提高程序的执行速度和资源的使用效率; (3)对于多核CPU可以充分发挥其优势,对于单核CPU可以防止阻塞。2 应用: (1)实现方式1:继承Thread
Java日常学习之集合以下是本篇文章正文内容,下面内容为自己日常学习总结,可能有些地方不太全面,望谅解 集合一、集合及其应用环境二、集合和数组的对比三、集合架构和分类1.List2.Set3.Map四、补充 一、集合及其应用环境Java集合类存放在java.util包中,是一个用来存放对象的容器。注意:     ①集合只能存放对象,不能放基本的数据类型。
  • 1
  • 2
  • 3
  • 4
  • 5