通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量。但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自己是否在用面向对象的思想编程,自己的程序是否是面向对象的。 好了,现在开始讨论this&super这两个关键字的意义和用法。 在Java,this通常指当前对象,super则指父类的。当你想
转载 2023-07-22 10:36:58
72阅读
1.Extends 是实现单继承一个类的关键字,通过使用extends来显示的指明当前类继承的父类,只要那个类不是声明final或者那个类定义为abstract的就能继承。基本声明格式是 [修饰符] class 子类名 extends 父类名{ 类体 } 2.Java的继承机制只能提供单一继承,所以
转载 2018-06-21 15:09:00
331阅读
2评论
int是32位整数;一个long是一个64位整数。使用哪一个取决于您希望使用的数字的大小。 int和long是原始类型,而Integer和Long是对象。原始类型更高效,但有时您需要使用对象;例如,Java的集合类只能与对象一起工作,所以如果需要整数列表,则必须使其成为List<Integer>(例 ...
转载 2021-07-16 15:27:00
1569阅读
2评论
首先,让我们来讨论下为什么要用集合类?数组是很常用的一种的数据结构,我们用它可以满足很多的功能,但是,有时我们会遇到如下这样的问题:1、我们需要该容器的长度是不确定的。2、我们需要它能自动排序。3、我们需要存储以键值对方式存在的数据。如果遇到上述的情况,数组是很难满足需求的,接下来本章将介绍另一种与数组类似的数据结构—集合类,集合类在Java中有很重要的意义,保存临时数据,管理对象,泛型,Web框
转载 2023-12-07 10:02:10
58阅读
事务你可以去看概念,我给你说下简单理解。你去斗鱼送礼物,扣了你的鱼丸给主播送了礼物,这俩操作必须是绑定在一起的,不然单个任何一个完成了另外一个没完成都会出问题。对到数据库的操作就是,你花钱,买了礼物,礼物送出去。前面两个步骤就是一个事物,花钱买-礼物发到你库存。然后这东西肯定要写到库里。这么说明白了吧,同样送礼物这个,从你的库存拿走,送给主播,也必须是一致的,必须一起完成。面试时候就照着这个意思大
1.什么是Serializable接口一个对象序列化的接口。一个类只有实现了Serializable接口,它的对象才能被序列化。2.为什么Serializable接口是空的?进入Serializable接口中,我们会发现该接口是个空接口,可以理解成标识接口(举手回答问题)。通知JVM帮你序列化这个类,Java提供用来进行高效率的异地共享实例对象的机制,实现这个接口即可。3.父类实现了Seriali
Java使用“访问控制符”来控制哪些细节需要封装,哪些细节需要暴露的。 Java4种“访问控制符”分别为private、default、protected、public,它们说明了面向对象的封装性,所以我们要利用它们尽可能的让访问权限降到最低,从而提高安全性。      下面详细讲述它们的访问权限问题。其访问权限范围如表5-1所示。表5-1 访问权限修饰
# Java工厂、池和异步的使用场景 在Java编程,我们经常会遇到需要使用工厂、池和异步等概念来提高程序的性能和可维护性。但是,很多开发者对于这些概念的具体应用场景和使用方法并不清楚。在本文中,我们将详细介绍Java工厂、池和异步的使用场景,并提供相应的代码示例。 ## 工厂(Factory) 工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。当我们需要根据一些条件来创建
原创 2024-06-21 05:24:34
19阅读
1、定义 队列是一种特殊的线性表,遵循的原则就是 “ 先入先出 ” 。在我们日常使用,经常会用来并发操作数 据。在并发编程,有时候需要使用线程安全的队列。如果要实现一个线程安全的队列通常有两种方 式:一种是使用阻塞队列,另一种是使用线程同步锁 存储结构 类似栈有顺序队和链式队两种。 我们可以围绕栈的 4 个元素来实现队列: 2 状态:是否队空;是否队满。
文章目录队列结构图队列种类划分阻塞 / 非阻塞 :`阻塞队列``非阻塞队列`总结:有界/无界`有界``无界`单向 / 双向链表`单向链表``双向链表`Queue(队列)接口方法:增删查(抛异常)增删查(返回特殊值)Deque(双端队列)接口方法增删查(抛异常)`First`Element (Head)`Last`Element (Tail)增删查(返回特殊值)`First`Element (He
java面试题】java开发什么时候用到static变量(方法)一、什么时候用到static变量 1、静态变量: 当数据是对象特有的数据,必须由对象本身保存在对象,就是非静态的。例如:张三李四都是姓名,姓名是属性,数据是值-》张三李四,值不一样不能共享,只能是对象特有数据 当数据是共享的,对象不需要修改,只需要使用,不用存储在对象,就可以定义为静态的 2、静态函数: 该功能如果需要访问非静态
转载 2023-12-09 12:04:05
402阅读
# Java锁的使用时机 在并发编程Java的锁(Lock)是控制多个线程访问共享资源的重要工具。合理使用锁可以避免线程间的竞争条件和数据不一致性。本文将探讨锁的使用时机,并通过代码示例加以说明。 ## 为什么需要锁? 在多线程环境下,当多个线程试图同时读取或写入共享数据时,可能会导致数据损坏或产生不一致的结果。例如,两个线程同时增加一个账户余额,可能导致最终余额错误。 ## Ja
原创 2024-09-07 04:02:11
58阅读
Java,`Optional` 是一个非常有用的类,用来表示可能缺失的值。如果你曾经面临空指针异常(NullPointerException),那么`Optional`就是你的好朋友。本博文将带你了解在Java`Optional`的使用场合,并从环境准备到实际应用进行深入探讨。 ## 环境准备 首先,我们需要确保我们的开发环境已准备就绪。我们将使用JDK 8及以上版本,因为`Option
原创 5月前
10阅读
1.1接口概念API的定义:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。1.2接口的特点就像一个类一样,一个接口也能够拥有方法和属性,但是在接口中声明的方法默认是抽象的。(即只有方法标识符,而没有方法体)。1.3为什么要用接口 接口被用来描述一种抽象。因为Java不像
# Javavoid方法的使用Java编程,void方法是一种特殊的方法类型,它不返回任何值。在编写Java程序时,我们通常需要根据具体的需求来决定何时使用void方法和何时使用其他类型的方法。本文将介绍何时适合使用void方法以及何时使用其他类型的方法,并通过代码示例来说明。 ## 什么时候适合使用void方法 在Java,void方法通常用于执行一些操作而不需要返回任何值的情况
原创 2024-05-25 03:33:16
154阅读
文章目录 1 初识神经网络 1.1 简介 2 设计神经网络结构 2.1 输入层设计 2.2 输出层设计 2.3 隐藏层设计 3 从感知机到神经网络 4 深度神经网络模型DNN 5 DNN前向传播算法数学原理 6 DNN前向传播算法 1 初识神经网络 1.1 简介 深度神经网络(Deep Neural Network
转载 4月前
19阅读
1.JAVA的关键字:Java 关键字是区分大小写的哦!所以 void 是关键字,但 Void 就不是了~~2.JAVA标识符:标识符就是用于给 Java 程序变量、类、方法等命名的符号。使用标识符时,需要遵守几条规则: 1.  标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就
什么时候用抽象类,什么时候用接口 “接口是完全抽象的成员集合,它的成员都无法在接口定义时实现,我们可以将它看作是为操作定义合同,接口的实现完全留给开发者去做。它们之间的区别,如果认真分析,还是有不少的:在JAVA,类只能是从一个基类继承,所以如果要使用抽象类为一组类提供多态性,这些类必须都是从那个类继承的;接口就不一样了,它不但可以用一个类或结构实现多个接口,一个接口还可以有多个实现。” 抽
1.  前言众所周知,在单线程运行环境,因为不存在资源竞争,所以不需要锁。但是,在多线程运行环境,因为存在资源共享与竞争,为了合理分配资源以及公平地使用资源,所以需要锁。在计算机系统,多线程需要多核处理器的支持,而每个核是以时间片的方式进行资源调度,一旦线程获取到时间片,则开始执行代码逻辑,线程没有获取时间片,则暂停执行代码逻辑。Java支持同步锁(synchroniza
在工作学习,常常知道list,set,map的区别,诞但是一到使用时候就不知道该使用哪一种进行存储,网上查资料发现大部分都是讲区别,而非具体使用场景。所以在此进行总结归纳。List: List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List的位置,类似于数组下标)来访问List的元素,这类似于Java的数组。 和Set不同,List
转载 2023-08-19 14:08:26
56阅读
  • 1
  • 2
  • 3
  • 4
  • 5