Java中的特殊关键字

【LaTeX PPT模板集】Beamer主题与配色使用教程 阅读详情

说他特殊,是因为C++中没有或意思有变化:


final:

final修饰的类,和方法都很好理解。

关键是final修饰的函数变量,如void pro(final String str);

final 关键字保证对被final修饰的变量只能赋值一次,也就是说final不能再指向别的变量了。但是被指的这个变量还是可以改变的。

使用final修饰符不仅会保持对象不会改变,而且编译器还会持续维护这个对象在回调方法中的生命周期.所以这才是final 
变量和final参数的根本意义. 

http://czjxdm.iteye.com/blog/210451#bc2220516


native:

该关键字用户Java调用其他语言所写的代码的时候。JNI (Java Native Inteface)标准制定的。


strictfp:

精确浮点计算。用来修饰interface 和 class以及函数(构造函数和接口中的方法除外)。

所声明的范围内Java的编译器以及运行环境会完全依照浮点规范IEEE-754来执行。 


synchronized:

由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。 

1.修饰对象实例,放在非静态方法前面。作为synchronized方法。锁用在类对象上。

是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的 synchronized方法是不相干扰的。也就是说,其它线程照样可以同时访问相同类的另一个对象实例中的synchronized方法; 

2.修饰类,放在类的静态方法前面。所用在类上。

是某个类的范围,synchronized static aStaticMethod{}防止多个线程同时访问这个类中的synchronized static 方法。它可以对类的所有对象实例起作用。 

3.除了方法前用synchronized关键字,synchronized关键字还可以用于方法中的某个区块中,表示只对这个区块的资源实行互斥访问。用法是: synchronized(this){/*区块*/},它的作用域是当前对象。 这时锁就是对象,谁拿到这个锁谁就可以运行它所控制的那段代码。当有一个明确的对象作为锁时,就可以这样写程序,但当没有明确的对象作为锁,只是想让一段代码同步时,可以创建一个特殊的instance变量(它得是一个对象)来充当锁。

synchronized关键字是不能继承的。


transient:

Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。
transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。


volatile:

Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。
这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及时的得到共享成员变量的变化。
而volatile关键字就是提示VM:对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员变量交互。
使用建议:在两个或者更多的线程访问的成员变量上使用volatile。当要访问的变量已在synchronized代码块中,或者为常量时,不必使用。
由于使用volatile屏蔽掉了VM中必要的代码优化,所以在效率上比较低,因此一定在必要时才使用此关键字。
 
 

【服务器电源架构与关键技术发展趋势】AI数据中心迅猛发展,服务器电源如何演变? 功率级跃升:机柜功率从 100kW 向 1MW 级发展,供电架构采用 HVDC + 固态变压器(SST),省去传统 UPS、PFC 环节; 母线电压升级:从 48V 向 400V→800V 演进,配套 AI 电弧检测、智能运维解决高压安全与维护难题; 能效(PUE)提升:目标 PUE<1.3,通过液冷 CDU 替代传统风冷,可将 PUE 降至 1.16(传统 AI 集群 PUE 达 1.6); 拓扑控制复杂化:功率拓扑从单相→三相、单级→多交错结构,适配高功率需求; 安全维度扩展:新增网络安全防护需求。 阅读详情

相关推荐

CocosCreator视频播放黑屏?手把手教你封装VideoPlayer组件解决Web环境问题

本文针对Cocos Creator在Web环境下视频播放黑屏等常见问题,提供了一套工程化的VideoPlayer组件封装解决方案。文章深入剖析了浏览器自动播放策略、DOM样式隔离等核心挑战,并手把手教你实现一个健壮的管理器,涵盖兼容性处理、性能优化与内存管理,确保视频播放稳定流畅。

plum99的博客 598

特殊关键字

特殊关键字特殊关键字什么是包声明包中的类package包的作用包的使用引入包import包的文件组织和类路径CLASSPATHJava中常用的包this和super关键字关键字 final修饰属性修饰局部变量修饰方法扩展总结单例模式饿汉单例模式懒汉单例模式静态static关键字静态属性访问的方式定义常量静态方法静态块非静态块使用注意事项什么时候使用静态方法中的可变长个数的参数static相关问题静态导入 特殊关键字 包package是类或接口的容器 什么是包 包是类的组织方式,提供名空间和访问控制 类似于

Liuxin2448的博客 442

别再瞎调了!手把手教你搞定STM32步进电机PID速度环(附完整代码与比例系数详解)

本文详细解析了STM32步进电机PID速度环的完整实现过程,从算法输出到脉冲频率的转换链路,重点讲解了比例系数的确定方法及系统标定实验。通过完整的代码示例和调试技巧,帮助工程师解决实际应用中的常见问题,提升步进电机控制精度与稳定性。

weixin_28729331的博客 214

java中特殊的关键字

文章目录一、this和super关键字二、关键字final三、static关键字 一、this和super关键字 this用于指代当前对象;super用于指代父类对象 this()表示调用另外一个构造器,super()表示调用父类中的某个构造器,()中的参数决定调用的是哪个构造器 当定义构造器时,如果构造器方法中第一句不是this()或者super()时,默认第一句就是super()表示调用父 类的构造器 ,所以super和this不能同时出现在一个构造器中,如果父类只有有参构造器,那么子类构造器必须写

persistence_PSH的博客 372

Linux -- 图形界面配置Samba;system-config-samba工具

图形界面配置Samba6.6.1 system-config-sambasystem-config-samba是Red Hat公司专门为Samba服务器管理编写的图形界面的管理工具,通过system-config-samba几乎可以完成对Samba服务器的所有配置,所以在只希望通过Samba服务器实现一些简单的资源共享时,system-config-samba是一个不错的选...

weixin_33695450的博客 2200

LM358模拟声音传感器原理图设计,已量产(声音传感器)

最近在做智能家居设备的声音触发模块时,搭了个基于 LM358 的模拟声音传感器电路 —— 不用复杂的专用芯片,靠通用运放就能把环境声音转化为可被单片机 AD 采集的电压信号,成本压得很低,实际调试下来灵敏度和稳定性都够用。今天把这个电路拆解开,聊聊每部分的设计思路。

不脱发的程序猿 469

一些关键字和特殊名词的定义

HTML(Hyper Text Markup Language):超文本标记语言 XHTML(Extensible Hyper Text Markup Language):可扩展超文本标记语言 超文本:指页面内可以包含图片、链接、甚至音乐、程序等非文本语言 HTML5:指HTML的第五次重大修改 结构:HTML 表现:CSS 行为:DOM...

wait_yin的博客 623

连续相位调制通信调制方法的载波同步和定时同步研究及MATLAB仿真

本文将探讨CPM调制方法中的载波同步和定时同步问题,并提供MATLAB仿真源代码。本文讨论了连续相位调制通信中的载波同步和定时同步问题,并提供了相应的MATLAB仿真源代码。通过适当的载波同步和定时同步方法,可以实现对CPM信号的准确解调。希望本文对您理解连续相位调制通信调制方法的载波同步和定时同步问题有所帮助,同时也为您提供了一些MATLAB仿真实现的思路和示例代码。在CPM系统中,载波同步的主要任务是估计接收信号的载波频率偏移和相位偏移。在CPM系统中,常用的定时同步方法是基于自相关函数的峰值检测。

2301_79331230的博客 692

Java特殊关键字和保留字

关键字 assert 表示“断言”,两种使用方法: 1.若表达式为真,程序继续执行,否则抛出AssertionError异常 assert 表达式 assert false ; 2.与第一种相同,只是异常中有自己设置的错误信息; assert 表达式:错误信息; assert false : "哈哈哈!错误!不能继续执行了"; const Java的保留关键字,没有实际意义,但是不...

a_blue_ice的博客 438

遗传算法(GA)全面解析:从生物基础到工程实践

本文全面解析了遗传算法(GA),从其生物基础到工程实践应用。遗传算法模拟自然进化过程,通过选择、交叉和变异等操作在解空间中高效搜索最优解。文章详细介绍了算法的生物学基础(达尔文进化论、孟德尔遗传定律)、基本概念(种群、个体、基因等)和核心思想。重点阐述了遗传算法的数学模型,包括编码机制、适应度函数设计、遗传算子(选择、交叉、变异)以及关键控制参数。最后提供了一个完整的Python实现示例,展示了遗传算法求解函数最大值问题的具体应用。该算法具有群体搜索、概率导向、无需梯度等特点,适用于各类复杂优化问题。

qq_42212808的博客 1176

YOLOv11改进策略【卷积层】| 引入注意力卷积模块RFAConv,关注感受野空间特征 助力yolov11精度提升

RFAConv:创新空间注意力和标准卷积运算感受野空间特征是针对卷积核设计的,根据卷积核大小动态生成。以3×3卷积核为例,它由非重叠滑动窗口组成,每个窗口代表一个感受野滑块。

Limiiiing的博客 1822

Java基础篇——特殊关键字

Java语言中定义了很多关键字,比如this、supper、static、final、public、private等等。不同的关键字的用途不同,相同关键字用在不同的地方,作用也不同。本章挑选一些特殊关键字,分析它们的用法和用途。 1、this关键字 this表示对当前对象的引用,指向的是当前对象。当前对象指的是当前正在调用实例的成员对象,换言之:谁调用了方法,谁就是当前对象。 用法: 调用类中的属性:this.属性名称,指的是访问类中的成员变量,用来区分成员变量和局部变量(重名问题)。可以在构造方法

Flychuer的专栏 790

RK3588高速接口实战-PCIE

摘要: RK3588的PCIe接口支持PCIe 3.0x4和PCIe 2.1x1/x2,具备Root Complex和Endpoint模式,适用于NVMe SSD、5G模块等高速设备。硬件设计需注意85Ω/100Ω阻抗匹配、220nF AC耦合电容及100MHz参考时钟。设备树需配置控制器节点、PHY模式和IOMMU映射(RC模式用iommu-map,EP模式用iommus)。调试时可通过lspci检查链路状态,dmesg查看训练日志,perf分析性能。常见问题包括设备识别失败(检查复位时序、PHY配置)、

weiyvyy的博客 503

java 过滤sql关键字_JAVA中防止SQL注入(过滤特殊字符方案)

1.页面使用JavaScript过滤SQL注入的特殊字符function Check(theform){if (theform.UserName.value==""){alert("请输入用户名!")theform.UserName.focus();return (false);}if (theform.Password.value == ""){alert("请输入密码!");theform.P...

weixin_31545685的博客 2294

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Java特殊关键字

包是类的组织方式,提供名空间和访问控制类似于文件系统的组织声明包中的类package语法package包名称声明包要求是源代码文件的第一个语句,包定义之前可以添加注释信息。程序中最多只能有一条package语句,没有包定义的源代码文件成为默认包中的一部分程序中如果有package语句,该语句必须是第一条语句包的命名规则全小写使用域名反转的方式定义。如果细分还可以引入功能定义部分。...

Lxcjl的博客 254

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java入门之特殊关键字

文章目录特殊关键字的使用Nativenative简介实现机制volatilevolatile关键字synchronized关键字volatile的机制 特殊关键字的使用 Native native简介 java是一个跨平台的语言,java的下层就是操作系统,操作系统大多是使用C、C++等语言编写的,在java要实现一定高级语言功能时很大一部分调用了底层操作系统给java提供的API去实现一些高层机...

qq_36755772的博客 426

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Java final关键字的内存语义以及并发时long、double的特殊规则

java中的final关键字赋予了对象特殊的内存语义,可用于实现线程安全,另外,多线程下在32位的虚拟机中对long、double类型变量的操作可能会有意想不到的表现。

终生学习践行者 2752

Java关键字(48个关键字、2个保留字、3个特殊直接量)

Java的关键字有哪些? 1、48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、sho

weixin_46822367的博客 1万+

Java特殊关键字 break

Java 特殊关键字-break break语句用于终止分支结构或循环结构,其主要用在以下3种情况: 1、在switch语句中,用于终止case语句,跳出switch分支结构; 2、在循环结构中,用于终止循环语句,跳出循环结构。 3、与标签语句配合使用从内层循环或内层程序块中退出。 ...

weixin_43672292的博客 126

java 中特殊的_Java中一些特殊关键字

transient被transient修饰的成员变量,在序列化的时候其值会被忽略,在被反序列化后, transient 变量的值被设为初始值, 如 int 型的是 0,对象型的是 null。instanceof它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。constconst是Java预留关键字,用于后期扩展用,用法跟final相似,不常用static静态变量...

weixin_33420201的博客 169

JAVA继承以及特殊关键字

继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。包是类或接口的容器,是一个用于避免命名冲突的名空间,是一个逻辑命名的概念,与具体的物理位置无关。定义类的目的就是为了在计算机中存储特定的对象,所以需要创建对应的对象,创建方法和简单类型中。编写类的过程,相当于我们定义了一种新的数据类型。......

weixin_64771061的博客 684

Java中特殊关键字

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34144848的博客 131

Java中特殊关键字的用法及效果

transient: 修饰的成员变量不会被序列化(serialization)。

Austin.Zhou的专栏 807

java 特殊关键字作用

transient: 一个对象只要实现了Serializable接口,该对象就可以被序列化。然而在实际开发过程中,常常会遇到这样的问题,该类有些属性需要序列化,其他属性不需要被序列化。例如一个用户有一些敏感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作(主要涉及序列化)中被传输,这些信息对应的变量就可以加上transient关键字,这样变量的生命周期仅存在于调用者的内存中而不会被...

湫兮若风的博客 254

Java基础学习笔记:补充内容4 关键字(50个,包含2个保留字)和特殊值(3 个)介绍

关键字(50个,包含2个保留字)和特殊值(3个) 关键字一共50个,其中const和goto是保留字。 true,false,null看起来像关键字,但从技术角度,它们是特殊的布尔值和空值。 一、基本数据类型相关关键字(8个) 1、关键字介绍 (1)byte:单字节类型 1个字节(8位),数据范围:[-128,127] 注意:byte类型与byte类型做算术运算结果升级为int (2)short:短整型 2个字节(16位),数据范围:[-32768,32767] 注意:short类型与short类型做算

LastYHM的博客 450

java中final double_Java中的final关键字的内存语义以及 long、double变量的特殊规则

java中的final关键字赋予了对象特殊的内存语义,可用于实现线程安全,另外,多线程下在32位的虚拟机中对long、double类型变量的操作可能会有意想不到的表现。1 Final的内存语义1.1 final域重排序规则对于final域,编译器 和 处理器 要遵守两个 重排序规则。在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。初次...

weixin_36300275的博客 1102
上一篇: 写正确函数需要注意的地方:最长递减子序列
下一篇: 神奇的catalan数
chjjunking
博客等级 码龄17年 103粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值