当前位置: 首页 > news >正文

Java中的一些名词概念

**函数式接口:**

概念:一个接口中的抽象方法只有一个,那么这个接口就是一个函数式接口。

形参:

形参变量是**功能函数里的变量**,只有<u>在被调用的时候才分配内存单元</u>,<u>调用结束后立即释放</u>。所以形参只在函数内部有效。

实参:

实参可以是**常量,变量,表达式,函数**等等,但无论是何类型,在进行函数调用是,他们必须有确定的值,以便把这些值拷贝给形参。

抽象方法,类

有abstract修饰

SQL常量字段值:

权限的值:

screen-capture

内存图:

screen-capture

**java基本数据类型 : **

Java中主要有八种基本数据类型:byte、short、int、long、float、double、boolean、char。      

screen-capture

注意:

1->Java 里使用 long 类型的数据一定要在数值后面加上 L,否则将作为整型解析。

2->char a = 'h'char :单引号,String a = "hello" :双引号。

3->这八种基本类型都有对应的包装类分别为:Byte、Short、Integer、Long、Float、Double、Character、Boolean 。

class文件:

就是字节码文件

**包装类 : **

![screen-capture](attachment:54b3799fcb441b020c6a32de3c8a813c)

一、int 是基本类型,直接存数值;而integer引用数据类型。 二、Int的声明不需要实例化,且变量声明后的初始值为0;Integer的是一个类,初始值为null,需要进行实例化,才能对变量数据进行处理。 三、Integer类是int的包装类,实际开发中Integer被看成一个对象,可以进行数据转换等操作。

**装箱:**将基本类型用它们对应的引用类型包装起来; **拆箱:**将包装类型转换为基本数据类型;

实例化 :

实质是 : 为对象开辟空间

**ArrayList的""是泛型 : **

    中间写要存储的数据类型

javabean类 , 测试类 , 工具类 :

screen-capture

深克隆和浅克隆的比较 :

screen-capture

全类名是某个文件在项目中的位置,格式为包名.类名 路径分为相对路径和绝对路径。 绝对路径是指这个文件在操作系统中的位置, 相对路径通过这个文件的上一级 ./ 或下一级/ 来指定文件内容

1 DAO层

DAO:Data Access Object(数据访问层),负责数据持久化工作。DAO层负责与数据库进行交互,封装对数据库的访问,涉及数据的增删改查处理(不涉及业务逻辑)。

2 Service层

Service:业务层,负责业务模块的逻辑应用设计。在项目的开发过程中一般先设计所需的业务接口类,之后再通过类来实现该接口(Java中接口可以多继承,而类不能),然后在Config文件中进行配置其实现的关联。之后就可以在Service层调用接口进行业务逻辑应用的处理。封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。

3 Controller层

Controller:控制层,负责控制业务逻辑(例如登陆控制等具体的业务模块逻辑控制)。通常扮演负责控制处理Web前端发送的数据。Controller层主要调用Service层里面的接口控制具体的业务流程,控制的配置也需要在配置文件中进行。

[—注意—] Conroller层和Service层的区别是:Controlle层负责具体的业务模块流程的控制;Service层负责业务模块的逻辑应用设计;

4 Entity层

Entity:实体层,数据库在项目中的类。放置一个个实体,及其相应的set、get方法。

Entity层中的类大多数是数据方面的,例如数据库中有负责登陆的User表(ID、UserName,Password),在Entity层就需要用private关键字定义与数据库中一样的字段(ID、UserName,Password)以及这些字段的get、set方法(方法可以Override)。

5 View层

View:通常指展示层,View层与控制层结合比较紧密,需要二者结合起来协同开发。View层主要负责前端页面的显示。

6 Utils层

Util是utiliy的缩写,是一个多功能、基于工具的包。如字符串处理、日期处理等,(建立数据库之间的连接),是通用的、与业务无关的,可以独立出来,可供其他项目使用。

namespace(命名空间) :

在大型项目中,可能存在大量的SQL语句,这时候为每个SQL语句起一个唯一
的标识(ID)就变得并不容易了。为了解决这个问题,在MyBatis中,可以为每
个映射文件起一个唯一的命名空间,这样定义在这个映射文件中的每个SQL语
句就成了定义在这个命名空间中的一个ID。只要我们能够保证每个命名空间中
这个ID是唯一的,即使在不同映射文件中的语句ID相同,也不会再产生冲突
了

java权限修饰 :

screen-capture

全类名 :

包名 + 类名

API :

把别人的方法封装成一个函数 , 用于开发者调用

SDK :

助开发某一类软件的相关文档、范例和工具的集合都可以叫做SDK

API 和 SDK 的区别 :

把SDK想象成一个虚拟的程序包,在这个程序包中有一份做好的软件功能,这份程序包几乎是全封闭的,只有一个小小接口可以联通外界,这个接口就是API。

SDK=放着你想要的软件功能的软件包

API=SDK上唯一的接口

JVM(java虚拟机) :

目的是使用相同的字节码,它们都会给出相同的结果

JDK(Java Development Kit) :

它是功能齐全的 Java SDK,是提供给开发者使用的,能够创建和编译 Java 程序。他包含了 JRE,同时还包含了编译 java 源码的编译器 javac 以及一些其他工具比如 javadoc(文档注释工具)、jdb(调试器)、jconsole(基于 JMX 的可视化监控⼯具)、javap(反编译工具)等等

JRE (Java Runtime Environment):

Java 运行时环境。它是运行已编译 Java 程序所需的所有内容的集合,主要包括 Java 虚拟机(JVM)、Java 基础类库(Class Library)。

什么是字节码?采用字节码的好处? :

JVM 可以理解的代码就叫做字节码(即扩展名为 .class 的文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。

screen-capture

JIT(just-in-time compilation) 编译器 :

JIT 属于运行时编译。当 JIT 编译器完成第一次编译后,其会将字节码对应的机器码保存下来,下次可以直接使用。

screen-capture

**编译型 :编译型语言 **

会通过编译器将源代码一次性翻译成可被该平台执行的机器码。一般情况下,编译语言的执行速度比较快,开发效率比较低。常见的编译性语言有 C、C++、Go、Rust 等等。 解释型 :解释型语言通过解释器一句一句的将代码解释(interpret)为机器代码后再执行。解释型语言开发效率比较快,执行速度比较慢。常见的解释性语言有 Python、JavaScript、PHP 等等。

java语言"编译与解释并存" :

这是因为 Java 语言既具有编译型语言的特征,也具有解释型语言的特征。因为 Java 程序要经过<u>先编译,后解释</u>两个步骤,由 Java 编写的程序需要先经过编译步骤,生成字节码(.class 文件),这种字节码必须由 Java 解释器来解释执行。

移位运算符 :

移位操作中,被操作的数据被视为二进制数,移位就是将其向左或向右移动若干位的运算。

Java 移位运算符总结

screen-capture

成员变量和局部变量的区别 :

语法形式 :从语法形式上看,成员变量是属于类的,而局部变量是在代码块或方法中定义的变量或是方法的参数;成员变量可以被 public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及 static 所修饰;但是,成员变量和局部变量都能被 final 所修饰。

静态变量有什么用呢 ?

静态变量也就是被 static 关键字修饰的变量。它可以被类的所有实例共享,无论一个类创建了多少个对象,它们都共享同一份静态变量。也就是说,静态变量只会被分配一次内存,即使创建多个对象,这样可以节省内存。

静态方法为什么不能调用非静态成员

静态方法是属于类的,在类加载的时候就会分配内存,可以通过类名直接访问。而非静态成员属于实例对象,只有在对象实例化之后才存在,需要通过类的实例对象去访问。在类的非静态成员不存在的时候静态方法就已经存在了,此时调用在内存中还不存在的非静态成员,属于非法操作。

面向对象和面向过程的区别 :

1->面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。 2->面向对象会先抽象出对象,然后用对象执行方法的方式解决问题。

default :

可以灵活地在不同的实现类中选择性地重写接口中的方法,而不用强制要求它们去实现所有的方法

深拷贝和浅拷贝 :

浅拷贝: 浅拷贝会在堆上创建一个新的对象(区别于引用拷贝的一点),不过,如果原对象内部的属性是引用类型的话,浅拷贝会直接复制内部对象的引用地址,也就是说拷贝对象和原对象共用同一个内部对象。

深拷贝 : 深拷贝会完全复制整个对象,包括这个对象所包含的内部对象。

" == " 和 equals()的区别 :

**== **对于基本类型和引用类型的作用效果是不同的:

对于基本数据类型来说,== 比较的是值。

对于引用数据类型来说,== 比较的是对象的内存地址。

因为 Java 只有值传递,所以,对于 == 来说,不管是比较基本数据类型,还是引用数据类型的变量,其本质比较的都是值,只是引用类型变量存的值是对象的地址。

equals() 不能用于判断基本数据类型的变量,只能用来判断==两个对象是否相等==。equals()方法存在于Object类中,而Object类是所有类的直接或间接父类,因此所有的类都有equals()方法。

相关文章:

Java中的一些名词概念

**函数式接口:** 概念&#xff1a;一个接口中的抽象方法只有一个&#xff0c;那么这个接口就是一个函数式接口。形参: 形参变量是**功能函数里的变量**&#xff0c;只有<u>在被调用的时候才分配内存单元</u>&#xff0c;<u>调用结束后立即释放</u>。…...

沈阳乐晟睿浩科技有限公司:引领抖音小店迈向新纪元

在当今数字化浪潮汹涌的时代&#xff0c;电子商务以其独特的魅力和无限潜力&#xff0c;正深刻改变着人们的消费习惯与商业模式。在这场变革中&#xff0c;沈阳乐晟睿浩科技有限公司凭借其敏锐的市场洞察力和卓越的技术实力&#xff0c;成为了抖音小店领域的佼佼者&#xff0c;…...

[图形学]蒙特卡洛积分方法介绍及其方差计算

一、简介 本文介绍了蒙特卡洛积分算法的基本原理和其误差计算。 二、蒙特卡洛积分介绍 1. 介绍 蒙特卡洛积分算法是一种数值积分算法&#xff0c;用于对复杂函数进行积分。 例如&#xff0c;对于目标积分函数&#xff1a; ∫ a b f ( x ) d x (1) \int_{a}^{b}f(x)\rm{d}x…...

智慧社区Web解决方案:Spring Boot框架探索

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理基于web的智慧社区设计与实现的相关信息成…...

基于预测算法的航班离港延误系统

毕业设计不知道做什么&#xff1f;想找一个结合算法与应用的项目&#xff1f;那你绝对不能错过这个"基于预测算法的航班离港延误系统"&#xff01;✈️&#x1f4ca; 项目简介&#xff1a; 这个系统专注于航班离港的延误预测&#xff0c;通过强大的神经网络技术对大…...

【汇编语言】寄存器(内存访问)(七)—— CPU提供的栈机制

文章目录 前言1. CPU提供的栈机制2. push指令3. 问题4. 问题的分析与解答5. pop指令结语 前言 &#x1f4cc; 汇编语言是很多相关课程&#xff08;如数据结构、操作系统、微机原理&#xff09;的重要基础。但仅仅从课程的角度出发就太片面了&#xff0c;其实学习汇编语言可以深…...

webAPI中的节点操作、高级事件

一、节点操作 1.删除节点 node.removeChild(); 方法从node节点中删除一个子节点&#xff0c;返回删除的节点 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widt…...

C++内存对齐机制简介

C内存对齐机制是指数据在内存中按照特定规则进行排列&#xff0c;这个机制可以提高访问效率并且满足硬件访问特性。 C内存对齐机制的一些关键规则如下&#xff1a; 不同类型的数据在内存中的起始地址应该是其大小的倍数。比如&#xff0c;4字节的整型应该存放在地址是4的倍数…...

java集合进阶篇-《List集合》

个人主页→VON 收录专栏→java从入门到起飞 目录 ​编辑 一、前言 二、List集合简要概述 三、List集合主要函数的应用 四、List集合的遍历 五、思考 一、前言 List集合与Collection集合的相同之处还是挺多的&#xff0c;不过有些小细节又不太一样&#xff0c;其中有一个…...

FPGA图像处理之均值滤波

文章目录 一、什么是图像滤波&#xff1f;1.1 噪声类型1.2 滤波类型 二、均值滤波原理2.1 3*3窗口滑动过程2.2 图像扩展 三、Matlab实现均值滤波四、FPGA实现均值滤波4.1 生成 3*3 矩阵4.2 仿真3*3矩阵4.3 计算均值4.4 仿真均值滤波 一、什么是图像滤波&#xff1f; 图像滤波是…...

高等数学 6.2 定积分在几何学上的应用

文章目录 一、平面图形的面积1.直角坐标情形2.极坐标情形 二、体积1.旋转体体积2.平行截面面积为已知的立体的体积 三、平面曲线的弧长 一、平面图形的面积 1.直角坐标情形 我们已经知道&#xff0c;由曲线 y f ( x ) ( f ( x ) ⩾ 0 ) y f(x) (f(x) \geqslant 0) yf(x)(f…...

缓存常见问题:缓存穿透、雪崩、击穿及解决方案分析

1. 什么是缓存穿透&#xff0c;怎么解决&#xff1f; 缓存穿透是指用户请求的数据在缓存中不存在即没有命中&#xff0c;同时在数据库中也不存在&#xff0c;导致用户每次请求该数据都要去数据库中查询一遍。如果有恶意攻击者不断请求系统中不存在的数据&#xff0c;会导致短时…...

C++:拷贝构造

拷贝构造函数是参数类型为本类的引用的构造函数&#xff0c;它也叫复制构造函数&#xff0c;它只有一个参数。当没有写拷贝构造函数时&#xff0c;会有一个默认的拷贝构造函数。 class AA { public:AA(AA& ra){}} 那么什么时候会调用此函数呢&#xff1f;有以下三种情况 …...

BGP(边界网关协议)

1、网络AS&#xff08;自治系统&#xff09; 边界网关协议BGP&#xff08;Border Gateway Protocol&#xff09;是一种实现自治系统AS&#xff08;Autonomous System&#xff09;之间的路由可达&#xff0c;并选择最佳路由的距离矢量路由协议。 AS是指在一个实体管辖下的拥有…...

Spring 概念汇总

一、Spring中的依赖注入和依赖反转 依赖注入&#xff08;Dependency Injection&#xff09; 概念 依赖注入是一种设计模式&#xff0c;它允许在对象创建时将其依赖的对象传递给它&#xff0c;而不是让对象自己去创建或查找依赖对象。在Spring中&#xff0c;依赖注入是控制反转…...

快速在找到函数的实体的方法

当我们写了许多许多的函数&#xff0c;那我们怎么快速的找到他们呢 我们只需要按下ctrl&#xff0c;在点击函数名字就可以快速的找到我们想要的函数...

05 django管理系统 - 部门管理 - 修改部门

04我们已经实现了新增部门的功能&#xff0c;下面开始修改部门模块的实现。 按道理来说&#xff0c;应该是做成弹框样式的&#xff0c;通过ajax悄咪咪的发数据&#xff0c;然后更新前端数据&#xff0c;但是考虑到实际情况&#xff0c;先用页面跳转的方式实现&#xff0c;后面…...

C++初阶——入门

目录 1、C发展历史 2、C版本更新 3、C参考文档 4、C书籍推荐 5、C的程序 6、命名空间 6.1 namespace的作用 6.2 namespace的定义 6.3 namespace的使用 7、C输入&输出 8、缺省参数 9、函数重载 10、引用 10.1 引用的概念和定义 10.2 引用的特性 10.3 引用的使…...

Java基于SSM微信小程序物流仓库管理系统设计与实现(源码+lw+数据库+讲解等)

选题背景 随着社会的发展&#xff0c;社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个…...

82.【C语言】数据结构之顺序表的初始化和销毁

目录 1.线性表 2.分类 1.静态顺序表&#xff1a;使用定长数组存储元素 代码示例(写入Seqlist.h中) 2.动态顺序表:使用与动态内存管理有关的函数 代码示例(写入Seqlist.h中) 补:数据管理的四个需求:增改删查 3.操作顺序表 1.初始化顺序表 1.不开辟空间 2.开辟空间 1…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

FFmpeg avformat_open_input函数分析

函数内部的总体流程如下&#xff1a; avformat_open_input 精简后的代码如下&#xff1a; int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...