201.ETag
HTTP协议规格说明定义ETag为“被请求变量的实体值”。另一种说法是,ETag是一个可以与Web资源关联的记号(token)。典型的Web资源可以一个Web页,但也可能是JSON或XML文档。服务器单独负责判断记号是什么及其含义,并在HTTP响应头中将其传送到客户端,以下是服务器端返回的格式:ETag:"50b1c1d4f775c61:df3"客户端的查询更新格式是这样的:If-None-Match : W / "50b1c1d4f775c61:df3"如果ETag没改变,则返回状态304然后不返回,这也和Last-Modified一样。测试Etag主要在断点下载时比较有用。
202.AOP (面向切面编程)
在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
203.如何查看日志?
日志展示的就是一系列的类和类中打印的日志信息。
204.如何根据类名查看源码?
导入该类,直接点击查看源码
205.log4j
Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
206.MIME (多用途互联网邮件扩展类型)
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
它是一个互联网标准,扩展了电子邮件标准,使其能够支持:
非ASCII字符文本;非文本格式附件(二进制、声音、图像等);由多部分(multiple parts)组成的消息体;包含非ASCII字符的头信息(Header information)。
这个标准被定义在RFC 2045、RFC 2046、RFC 2047、RFC 2048、RFC 2049等RFC中。 MIME改善了由RFC 822转变而来的RFC 2822,这些旧标准规定电子邮件标准并不允许在邮件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英语字符消息和二进制文件,图像,声音等非文字消息原本都不能在电子邮件中传输(MIME可以)。MIME规定了用于表示各种各样的数据类型的符号化方法。 此外,在万维网中使用的HTTP协议中也使用了MIME的框架,标准被扩展为互联网媒体类型。
207.编程是为了什么?
编程就是为了处理数据。处理数据的方式:
(1)增删改查数据(硬盘数据库)。
(2)增删改查常用数据(使用内存型数据库)
(3)远端发送和接收数据(多个服务之间发送和接收数据)。
208.Apache (Web服务器软件)
Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。(Apache软件基金会)Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行。Apache是Web服务器而Tomcat是Java应用服务器。
209.PaaS
PaaS是(Platform as a Service)的缩写,是指平台即服务。 把服务器平台作为一种服务提供的商业模式,通过网络进行程序提供的服务称之为SaaS(Software as a Service),是云计算三种服务模式之一,而云计算时代相应的服务器平台或者开发环境作为服务进行提供就成为了PaaS(Platform as a Service)。
所谓PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。在2007年国内外SaaS厂商先后推出自己的PAAS平台。
210.B端客户、C端客户、G端客户
B指的是Business,意思是指企业客户。
C指的是Consumer,意思是指个人客户。
G指的是Government,意思是指面向政府客户。
211.abrt
自动缺陷报告工具
212.Prometheus
Prometheus是一个最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有一个非常活跃的开发人员和用户社区。它现在是一个独立的开源项目,可以独立于任何公司进行维护。为了强调这一点,并澄清项目的治理结构,Prometheus 于2016年加入 云计算本地计算基金会,作为继Kubernetes之后的第二个托管项目。
213.helm
Helm是Kubernetes的包管理器,类似于Python的pip centos的yum,主要用来管理 Charts
Helm Chart是用来封装Kubernetes原生应用程序的一系列YAML文件。可以在你部署应用的时候自定义应用程序的一些Metadata,以便于应用程序的分发。对于应用发布者而言,可以通过Helm打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。
对于使用者而言,使用Helm后不用需要编写复杂的应用部署文件,可以以简单的方式在Kubernetes上查找、安装、升级、回滚、卸载应用程序。
214.curl
cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。
215.PM、RD、QA、OP
(1)PM(产品经理): Product Manager,产品经理,又称品牌经理(Brand Manager)。但凡产品从创意到上市,所有相关的研发、调研、生产、编预算、广告、促销活动等等,都由产品经理掌控。
(2)RD(后端开发):Research and Development engineer,研发工程师,对某种不存在的事物进行系统的研究和开发并具有一定经验的专业工作者,或者对已经存在的事物进行改进以达到优化目的的专业工作者。
(3)QA(质量保证): Quality Assurance,品质保证。QA的主要职责就是质量保证工作。
(4)OP: Operator,操作员,管理员。
216.iOS (苹果公司开发的移动操作系统)
iOS是由苹果公司开发的移动操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad上。iOS与苹果的macOS操作系统一样,属于类Unix的商业操作系统。原本这个系统名为iPhone OS,因为iPad,iPhone,iPod touch都使用iPhone OS,所以2010年WWDC上宣布改名为iOS(iOS为美国Cisco公司网络设备操作系统注册商标,苹果改名已获得Cisco公司授权)。
2016年1月,随着iOS 9.2.1版本的发布,苹果修复了一个存在了3年的漏洞。2018年9月22日,美国苹果公司在最新的操作系统中秘密加入了基于iPhone用户和该公司其他设备使用者的“信任评级”功能。
2021年11月17日消息,据 9to5 Mac 报道,苹果iOS 15.2 Beta泄露全新“SportsKit”框架 。
2022年1月28日,苹果向 iPhone 和 iPad 用户推送了 iOS / iPadOS 15.4 开发者预览版 Beta 更新(内部版本号:19E5209h),本次更新距离上次发布隔了 2 周时间,带来了 Universal Control 全局控制、全新的 emoji 表情、苹果钱包 Apple Card 小部件等新功能。
217.DSL
DSL(Domain Specified Language)领域专用语言。
要理解什么是领域专用语言,需要先了解其创建背景。即为什么会诞生这样一种事物,其发明的目的是为了解决什么问题。
218.结构化数据
结构化数据,简单来说就是数据库。结合到典型场景中更容易理解,比如企业ERP、财务系统;医疗HIS数据库;教育一卡通;政府行政审批;其他核心数据库等。
基本包括高速存储应用需求、数据备份需求、数据共享需求以及数据容灾需求。
219.如何阅读学习
拆词、同义、理解
220.UI设计 (人机交互、操作逻辑、界面美观的整体设计)
UI设计(或称界面设计)是指对软件的人机交互、操作逻辑、界面美观的整体设计。UI设计分为实体UI和虚拟UI,互联网常用的UI设计是虚拟UI,UI即User Interface(用户界面)的简称。
好的UI设计不仅是让软件变得有个性有品位,还要让软件的操作变得舒适简单、自由,充分体现软件的定位和特点。
221.acid :(数据库事务正确执行的四个基本要素的缩写)
ACID,是指数据库管理系统(DBMS)在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。
222.转义字符:
转义字符(Escape character),所有的ASCII码都可以用“”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如0, , 等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。"就是输出双引号的意思。
223.网络爬虫
网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
224.全文检索
全文数据库是全文检索系统的主要构成部分。所谓全文数据库是将一个完整的信息源的全部内容转化为计算机可以识别、处理的信息单元而形成的数据集合。全文数据库不仅存储了信息,而且还有对全文数据进行词、字、段落等更深层次的编辑、加工的功能,而且所有全文数据库无一不是海量信息数据库。
225.操作数据库
所有的数据库都可以通过命令行来操作。集成springBoot也是通过java代码向数据库发送指令来操作数据库。所有的服务软件都可以通过通过客户端来操作,集成springBoot也是通过java代码向服务软件发送指令来进行操作。
226.如何学习新技术
学习新技术一定是去看官网文档和分析源码
227.防火墙 (计算机术语)
防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。
防火墙技术的功能主要在于及时发现并处理计算机网络运行时可能存在的安全风险、数据传输等问题,其中处理措施包括隔离与保护,同时可对计算机网络安全当中的各项操作实施记录与检测,以确保计算机网络运行的安全性,保障用户资料与信息的完整性,为用户提供更好、更安全的计算机网络使用体验。
228.如何搭建网站
(1)springboot开发后端
(2)vue开发前端
(3)将前端vue项目放到springboot中
(4)将整个项目打成jar包放到服务器上。
(5)阿里云购买服务器和域名
(6)之后可以直接访问
229.Docker
Docker 是一个开源的应用容器引擎(基于go语言编写的软件),让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
安装docker之后可以使用docker命令增删改查容器,而在容器里面运行打包好的镜像。容器与容器之间是完全隔离的。
230.一个服务如何使用另一个服务的方法
(1)直接把代码复制过来
(2)打包sdk
(3)远程调用
231.内网(局域网)
局域网,网络种类,覆盖范围一般是方圆几千米之内,其具备的安装便捷、成本节约、扩展方便等特点使其在各类办公室内运用广泛。局域网可以实现文件管理、应用软件共享、打印机共享等功能,在使用过程当中,通过维护局域网网络安全,能够有效地保护资料安全,保证局域网网络能够正常稳定的运行。(内网发送数据非常快)
232.网段
网段(network segment)指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分。例如,从192.168.0.1到192.168.255.255这之间就是一个网段。同一网段的计算机可以相互访问。
233.Thymeleaf
简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP
234.
zh-cn:简体中文
en-us:美国英语
235.套接字(socket)
所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议栈进行交互的接口
236.如何开发一个网站
前端:模板、框架、开源项目
后端:springBoot、springCloud等技术
237.如何搜索前端模板
搜UI后台模板
模板之家
238.Kotlin
Kotlin(科特林)是一个用于现代多平台应用的静态编程语言 ,由 JetBrains 开发。
Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。除此之外Kotlin还可以编译成二进制代码直接运行在机器上(例如嵌入式设备或 iOS)。
Kotlin已正式成为Android官方支持开发语言。
239.如何查看依赖冲突
可以通过看项目的pom.xml文件查看是否依赖冲突
240.IT行业本质
硬件:看得见摸得到的东西,硬件是软件的载体,例如芯片、物理机器等等。
软件:看得见摸不到的东西,实际上就是文件,压缩包解压后都是文件。例如redis、kafka等等。
数据:看得见、摸不到的东西,虚拟的东西。
看不见摸不到的东西:软件的工作原理和运行过程,这个东西是抽象化的,只能通过研究代码逻辑去获得。
学习软件,开发软件。
如何学习软件:
(1)软件是什么?
(2)软件作用是什么?
(3)软件如何使用?
(4)软件的工作原理。
(5)软件的源码分析。
241.人工智能 (计算机科学的一个分支)
人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。 2017年12月,人工智能入选“2017年度中国媒体十大流行语”。 2021年9月25日,为促进人工智能健康发展,《新一代人工智能伦理规范》发布。
242.命令行界面
命令行界面(英语:command-line interface,缩写:CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(CUI)。
通常认为,命令行界面(CLI)没有图形用户界面(GUI)那么方便用户操作。因为,命令行界面的软件通常需要用户记忆操作的命令,但是,由于其本身的特点,命令行界面要较图形用户界面节约计算机系统的资源。在熟记命令的前提下,使用命令行界面往往要较使用图形用户界面的操作速度要快。所以,图形用户界面的操作系统中,都保留着可选的命令行界面。
243.gradle
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。
面向Java应用为主。当前其支持的语言C++、Java、Groovy、Kotlin、Scala和Swift,计划未来将支持更多的语言。
244.什么是软件之间的通信
软件之间的通信就是数据的传输
245.ip和端口
ip地址确定唯一主机。端口确定唯一程序
246.如何跟软件打交道
学习技术知识
学习使用各种工具
247.leetcode
力扣(LeetCode)是领扣网络旗下专注于程序员技术成长和企业技术人才服务的品牌。源自美国硅谷,力扣为全球程序员提供了专业的IT技术职业化提升平台,有效帮助程序员实现快速进步和长期成长。 [1-4]
此外,力扣(LeetCode)致力于解决程序员技术评估、培训、职业匹配的痛点,逐步引领互联网技术求职和招聘迈向专业化。
248.PMD
PMD (Programming Mistake Detector) 是一个开源的静态代码检查工具。
249.接口和方法
接口是请求的单位,本质也是一个方法,根据映射路径调用哪个方法。
方法是独立的功能块,执行一系列操作,可以无返回值、也可以有返回值。
250.如何调式程序
使用心算debug比使用计算器debug更好。
251.软件版本相关介绍
Beta版:产品(驱动、BIOS)发布之前的测试版本,也叫做β版,与此对应的还有α版(Alpha版)。α版通常是软件开发商内部自行测试的版本,而β版则是公开发布让用户来进行测试的版本。版本号里面的Build说明这个版本是第几次编译的结果,比如:V1.79Build210比V1.79Build200的版本要新,因为V1.79Build210是"电子文档处理器"第210次编译的版本。
Alpha:内部测试版
Beta:外部测试版
Build:内部标号
Corporation或Enterprise企业版
Delux:豪华版
DEMO演示版,一般会有功能限制
Free:免费版
Full:完全版
Final:正式版
Pro(professional):专业版
Plus:加强版
Retail:零售版
Release发行版,有时间限制
Shareware共享版,虽然不会要求注册但是一般也有功能限制
SR:修正版
Trial:试用版(一般有时间或者功能限制)
252.如何配出依赖
看看依赖包下的有哪些依赖冲突,排除即可
253.单测
单测的方法都是void
254.转发请求
转发请求就是在服务器内部进行。前端发送请求到一个接口,在这个接口远程直接调用其他的接口就是转发
255.Java中的序列化和反序列化
把对象转换为字节序列的过程称为对象的序列化。
把字节序列恢复为对象的过程称为对象的反序列化。
对象的序列化主要有两种用途:
1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
2) 在网络上传送对象的字节序列。
初步总结:Java 序列化和反序列化,其一,实现了数据的持久化,通过序列化可以把数据永久的保存在硬盘上;其二,利用序列化实现远程通信,即在网络上传递对象的字节序列。
Java对象如果要进行序列化,要实现Serializable接口
(网络传输的都是二进制文件)
257.一个接口调用另一个接口
一个接口调用另一个接口,如果返回的是特定对象的数据,需要拷贝对应类到另一个类中
256.java项目中的三种包
第一种:自己编写的包
第二种:JDK中的包
第三种:第三方依赖包
257.limit(mysql)后面的参数
第一个参数:从第几行开始
第二个参数:显示多少条数据
258.开发中的锁
java中的锁都是单机锁,只能在一个服务当中使用。
分布式锁是集群锁,通过多个服务公用的数据库(redis)字段进行加锁机制,保证在多个服务(集群)中,只有一个线程在同一时刻能够执行成功。无论是单机锁还是分布式锁都是保证在同一时刻只有一个线程执行某段代码。
259.流量
流量,在规定期间内通过一指定点的车辆或行人数量,在网络指在一定时间内打开网站地址的人气访问量,或者是手机移动数据的通俗意思。
260.CAP理论
CAP理论,指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partition Tolerance(分区容错性),不能同时成立。
261.面向对象
面向对象程序设计(Object-Oriented Programming)是一种起源于六十年代,发展已经将近三十年的程序设计思想。其自身理论已十分完善,并被多种面向对象程序设计语言(Object-Oriented Programming Language,以下简称OOPL)实现。
对象是对现实世界实体的模拟,由现实实体的过程或信息牲来定义。一个对象可被认为是一个把数据(属性)和程序(方法)封装在一起的实体,这个程序产生该对象的动作或对它接受到的外界信号的反应。
这些对象操作有时称为方法。
区别面向对象的开发和传统过程的开发的要素有:对象识别和抽象、封装、多态性和继承。(参见百度百科:面向对象)
面向对象要素:封装、多态、继承
262.架构认知
一定学会画流程图,流程图是你对架构的一种认知。
263.tps
一个表达系统处理能力的性能指标,每秒处理的消息数(Transaction Per Second)
264.qps
每秒有多少请求
265.GREP
grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Unix的grep家族包括grep、egrep和fgrep。Windows系统下类似命令FINDSTR。
266.EJB
EJB是Enterprise Java Beans技术的简称, 又被称为企业Java Beans。这种技术最早是由美国计算公司研发出来的。EJB技术的诞生标志着Java Beans的运行正式从客户端领域扩展到服务器领域。在电子商务领域运用EJB技术可以简化应用系统的开发, 这是由该技术的结构和特点所决定的。
267.jta
JTA,即Java Transaction API,JTA允许应用程序执行分布式事务处理——在两个或多个网络计算机资源**问并且更新数据。JDBC驱动程序的JTA支持极大地增强了数据访问能力。
268.Abstract class 抽象类:
抽象类是不允许实例化的类,因此一般它需要被进行扩展继承。
269.Abstract method 抽象方法:
抽象方法即不包含任何功能代码的方法。
269.Access modifier 访问控制修饰符:
控制修饰符用来修饰Java中类、以及类的方法和变量的访问控制属性。
270.Anonymous class 匿名类:
当你需要创建和使用一个类,而又不需要给出它的名字或者再次使用的使用,就可以利用匿名类。
271.Anonymous inner classes 匿名内部类:
匿名内部类是没有类名的局部内部类。
272.API 应用程序接口:
提供特定功能的一组相关的类和方法的集合。
273.Array 数组:
存储一个或者多个相同数据类型的数据结构,使用下标来访问。在Java中作为对象处理。
274.Automatic variables 自动变量:
也称为方法局部变量method local variables,即声明在方法体中的变量。
275.AWT抽象窗口工具集:
一个独立的API平台提供用户界面功能。
276.Base class 基类:即被扩展继承的类。
277.Blocked state 阻塞状态:
当一个线程等待资源的时候即处于阻塞状态。阻塞状态不使用处理器资源。
278.Call stack 调用堆栈:
调用堆栈是一个方法列表,按调用顺序保存所有在运行期被调用的方法。
279.Casting 类型转换 :
即一个类型到另一个类型的转换,可以是基本数据类型的转换,也可以是对象类型的转换。
280.char 字符:容纳单字符的一种基本数据类型。
281.Child class 子类:见继承类Derived class
282.Class 类:面向对象中的最基本、最重要的定义类型。
283.Class members 类成员:定义在类一级的变量,包括实例变量和静态变量。
284.Class methods 类方法:类方法通常是指的静态方法,即不需要实例化类就可以直接访问使用的方法。
285.Class variable 类变量:见静态变量Static variable。
286.Collection 容器类:容器类可以看作是一种可以储存其他对象的对象,常见的容器类有Hashtables和Vectors。
287.Collection interface 容器类接口:容器类接口定义了一个对所有容器类的公共接口。
288.Collections framework 容器类构架:接口、实现和算法三个元素构成了容器类的架构。
289.Constructor 构造函数:在对象创建或者实例化时候被调用的方法。通常使用该方法来初始化数据成员和所需资源。
290.Containers容器:容器是一种特殊的组件,它可以容纳其他组件。
291.Declaration 声明:声明即是在源文件中描述类、接口、方法、包或者变量的语法。
292.Derived class 继承类:继承类是扩展继承某个类的类。
293.Encapsulation 封装性:封装性体现了面向对象程序设计的一个特性,将方法和数据组织在一起,隐藏其具体实现而对外体现出公共的接口。
294.Event classes 事件类:所有的事件类都定义在java.awt.event包中。
295.Event sources 事件源:产生事件的组件或对象称为事件源。事件源产生事件并把它传递给事件监听器event listeners。
296.Exception 异常:异常在Java中有两方面的意思。首先,异常是一种对象类型。其次,异常还指的是应用中发生的一种非标准流程情况,即异常状态。
297.Extensibility扩展性:扩展性指的是面向对象程序中,不需要重写代码和重新设计,能容易的增强源设计的功能。
298.Finalizer 收尾:每个类都有一个特殊的方法finalizer,它不能被直接调用,而被JVM在适当的时候调用,通常用来处理一些清理资源的工作,因此称为收尾机制。
299.Garbage collection 垃圾回收机制:
当需要分配的内存空间不再使用的时候,JVM将调用垃圾回收机制来回收内存空间。
300.Guarded region 监控区域:一段用来监控错误产生的代码。
301.Heap堆:Java中管理内存的结构称作堆。
302.Identifiers 标识符:即指定类、方法、变量的名字。注意Java是大小写敏感的语言。
303.Import statement 引入语法:引入语法允许你可以不使用某个类的全名就可以参考这个类。
304.Inheritance 继承:继承是面向对象程序设计的重要特点,它是一种处理方法,通过这一方法,一个对象可以获得另一个对象的特征。
305.Inner classes 内部类:内部类与一般的类相似,只是它被声明在类的内部,或者甚至某个类方法体中。
306.Instance 实例:类实例化以后成为一个对象。
307.Instance variable 实例变量:实例变量定义在对象一级,它可以被类中的任何方法或者其他类的中方法访问,但是不能被静态方法访问。
308.Interface 接口:接口定义的是一组方法或者一个公共接口,它必须通过类来实现。
309.Java source file Java源文件:Java源程序包含的是Java程序语言计算机指令。
310.Java Virtual Machine (JVM) Java虚拟机:解释和执行Java字节码的程序,其中Java字节码由Java编译器生成。
311.javac Java编译器:Javac是Java编译程序的名称。
312.JVM Java虚拟机:见Java虚拟机
313.Keywords 关键字:即Java中的保留字,不能用作其他的标识符。
314.Layout managers 布局管理器:布局管理器是一些用来负责处理容器中的组件布局排列的类。
315.Local inner classes 局部内部类:在方法体中,或者甚至更小的语句块中定义的内部类。
316.Local variable 局部变量:在方法体中声明的变量
317.Member inner classes 成员内部类:定义在封装类中的没有指定static修饰符的内部类。
318.Members 成员:类中的元素,包括方法和变量。
319.Method 方法:完成特定功能的一段源代码,可以传递参数和返回结果,定义在类中。
320.Method local variables 方法局部变量:见自动变量Automatic variables
321.Modifier 修饰符:用来修饰类、方法或者变量行为的关键字。
322.Native methods 本地方法:本地方法是指使用依赖平台的语言编写的方法,它用来完成Java无法处理的某些依赖于平台的功能。
323.Object 对象:一旦类实例化之后就成为对象。
324.Overloaded methods 名称重载方法:方法的名称重载是指同一个类中具有多个方法,使用相同的名称而只是其参数列表不同。
325.Overridden methods 覆盖重载方法:方法的覆盖重载是指父类和子类使用的方法采用同样的名称、参数列表和返回类型。
326.Package 包:包即是将一些类聚集在一起的一个实体。
327.Parent class 父类:被其他类继承的类。也见基类。
328.Private members 私有成员:私有成员只能在当前类被访问,其他任何类都不可以访问之。
329.Public members 公共成员:公共成员可以被任何类访问,而不管该类属于那个包。
330.Runtime exceptions 运行时间异常:运行时间异常是一种不能被你自己的程序处理的异常。通常用来指示程序BUG。
331.Source file 源文件:源文件是包含你的Java代码的一个纯文本文件。
332.Stack trace 堆栈轨迹:如果你需要打印出某个时间的调用堆栈状态,你将产生一个堆栈轨迹。
333.Static inner classes 静态内部类:静态内部类是内部类最简单的形式,它于一般的类很相似,除了被定义在了某个类的内部。
334.Static methods 静态方法:静态方法声明一个方法属于整个类,即它可以不需要实例化一个类就可以通过类直接访问之。
335.Static variable 静态变量:也可以称作类变量。它类似于静态方法,也是可以不需要实例化类就可以通过类直接访问。
336.Superclass 超类:被一个或多个类继承的类。
337.Synchronized methods 同步方法:同步方法是指明某个方法在某个时刻只能由一个线程访问。
338.Thread 线程:线程是一个程序内部的顺序控制流。
339.Time-slicing 时间片:调度安排线程执行的一种方案。
340.Variable access 变量访问控制:变量访问控制是指某个类读或者改变一个其他类中的变量的能力。
341.Visibility 可见性: 可见性体现了方法和实例变量对其他类和包的访问控制。
342.容器:充当中间件的角色。
343.WEB容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接更容器中的环境变量接口交互,不必关注其它系统问题。主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。
344.EJB容器:Enterprise java bean 容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。
345.WEB容器和EJB容器在原理上是大体相同的,更多的区别是被隔离的外界环境。
WEB容器更多的是跟基于HTTP的请求打交道。
而EJB容器不是。它是更多的跟数据库、其它服务打交道。
但他们都是把与外界的交互实现从而减轻应用程序的负担。例如SERVLET不用关心HTTP的细节,直接引用环境变量session,request,response就行、EJB不用关心数据库连接速度、各种事务控制,直接由容器来完成。
346.RMI/IIOP:远程方法调用/internet对象请求中介协议,他们主要用于通过远程调用服务。例如,远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以在本地计算机上实现对其直接调用。当然这是要通过一定的规范才能在异构的系统之间进行通信。RMI是JAVA特有的。
347.JNDI:JAVA命名目录服务。主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。
348.JMS:JAVA消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。
349.JAVAMAIL:JAVA邮件服务。提供邮件的存储、传输功能。他是JAVA编程中实现邮件功能的核心。相当MS中的EXCHANGE开发包。
350.JTA:JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。
351.JAF:JAVA安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。
352.EAI:企业应用集成。是一种概念,从而牵涉到好多技术。J2EE技术是一种很好的集成实现。
353.jdk
Java Development Kit(java开发工具包的缩写),这个是每一个java初学者都应该知道的东西,毕竟没它就开发、运行不了。里面包含jre和一些开发、分析用的小工具(例如jar、javac等)。
354.openjdk
可以说就是jdk,首先要知道,java是在java6版本,也就是sun公司即将被甲骨文收购的时候开源的。自那之后也就有了openjdk的说法,实际上基本可以认为和jdk是一个概念(或者说狭义上的jdk是openjdk的超集),只是我们平时说的jdk通常是oracle(收购sun公司的那家)的jdk,orcle的jdk会在openjdk的基础上加一点自己的东西,但大体上没什么区别。不同公司会在openjdk的基础上加上不同的东西,以组成适合自己的jdk。
355.Java EE
Java Platform,Enterprise Edition(java企业版)的缩写。它关注于商业系统的开发。JDK5版本正式启用Java EE这个名字,在此之前它被叫做J2 EE。
后来在2017年,oracle希望Java EE变得更加敏捷,因此将其开源并交给Eclipse基金会管理,也就是后来的Jakarta EE。顺带一提,oracle不让Eclipse基金会使用javax这个名字空间,这就导致从JavaEE的javax升级到Jakarta有很大风险(对于大型项目来说需要管理的依赖很多)。
不过由于Spring boot目前没有重复造轮子,因此Jakarta目前还是官方的开发方案。
356.jre
Java Runtime Envirment(java运行环境)的缩写,简单来说,想要运行java就必须要jre。一般只有打包的时候我们才会接触到它,因为要根据使用的api决定哪些需要被加入到自己的定制jre中。
357.jvm
Java virtual Machine(Java虚拟机)的缩写,java程序都是运行在虚拟机上的,而且java是一门解释型语言,因此虚拟机的内部算法决定了java的执行速度。目前主要使用的虚拟机是Hotpot,它是由sun公司买下的,最早开始用于Jre1.3版本,解释器分为两种,server和client版本,其中client启动更快、server执行更快。
358.JEP
JDK Enhancement Proposals(JDK增强建议)的缩写,表示Jdk的未来增强计划,具体可在openjdk官网查看。
359.Jar
Java Archive(Java档案)的缩写,其实就是用来打包存储编译后代码和资源、配置等文件的压缩包,是java特有的一种格式,用一些解压软件也可以直接打开。打包后的jar可以方便的运行或者是被其他项目引用。
360.jmod
Java Module(Java模块)的缩写,jdk9开始,java内部也采用了模块化的实现思路,因为原有的依赖jar方式并不合理,jar包没有对包内依赖和访问权限的控制。于是就出现了jmod,也就是java的模块,同时也是一个jdk的模块化命令。
361.jdk8u
u代表的update(更新),所以8u代表的就算jdk8的改良版本。
362.openJFX
开源的JavaFX项目(FX个人感觉是表示效果的意思),其实算是友情客串,毕竟这技术是真冷门。java基础代码翻译
是一门新一代·的Java的客户端GUI技术,但是比起swing和awt有个最大的优势,就是能支持css。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/2134.html