java 代码块的作用_4种Java代码块的作用讲解
4种Java代码块的作用讲解
时间:2017-06-28 来源:华清远见JAVA学院
今天华清Java学院小编要和大家分享的是Java代码块的作用,代码块是一种常见的代码形式,他用大括号“{}”将多行代码封装在一起,形成一个独立的代码区,这就构成了代码块。代码块的格式如下:
java中的代码块按其位置划分为四种:
Java代码块一:局部代码块
位置:局部位置(方法内部)
作用:限定变量的生命周期,尽早释放,节约内存
调用:调用其所在的方法时执行
举例:
class exampleDemo{
public void example(){
{
int a = 10;
System.out.println(a);
}}}
Java代码块二: 构造代码块
位置:类成员的位置,就是类中方法之外的位置
作用:把多个构造方法共同的部分提取出来,共用构造代码块
调用:每次调用构造方法时,都会优先于构造方法执行,也就是每次new一个对象时自动调用,对 对象的初始化
举例:
class exampleDemo{
{
int a = 10;
System.out.println(a);
}
public void example(){
}}
Java代码块三: 静态代码块
位置:类成员位置,用static修饰的代码块
作用:对类进行一些初始化 只加载一次,当new多个对象时,只有第一次会调用静态代码块,因为,静态代码块 是属于类的,所有对象共享一份
调用: new 一个对象时自动调用
举例:
class exampleDemo{
static {
int a = 10;
System.out.println(a);
}
public void example(){
}
}
执行顺序 静态代码块 -----> 构造代码块 -------> 构造方法
Java代码块四: 同步代码块
位置:方法内部
作用:达到线程安全的目的
调用: 线程调用该方法时
格式:
synchronized(obj){
// 需要同步执行的代码
}
obj 作为参数传递 相当于同步代码块的锁,可以是任意对象
同步代码块:
使用synchronized(obj){ } 裹起来的代码块,
在多线程环境下,对共享数据进行读写操作是需要互斥进行的,否则会导致数据的不一致性。常见的是synchronized用来修饰方法,其语义是任何线程进入synchronized需要先取得对象锁如果被占用了,则阻塞,实现了互斥访问共享资源。而synchronized也是有代价的。一个常见的场景是,一个冗长的方法中,其实只有一小段代码需要访问共享资源,这时使用同步块,就只将这小段代码裹在synchronized block,既能够实现同步访问,也能够减少同步引入的开销。 同步代码块须写在方法中。
synchronized(obj){
//code
}
Java代码块的作用很多,以上介绍了Java中常见的4种代码块极其各自的作用,希望以上的总结,对大家理解和使用Java代码块有所帮助。
java 代码块的作用_4种Java代码块的作用讲解相关推荐
- java mvc引擎_Velocity是一种Java模版引擎技术,MVC架构的一种实现,但它更多的是关注在Model和View之间,作为它们的桥梁。服务端渲染,我们使用最多的就是用他...
Velocity是一种Java模版引擎技术,MVC架构的一种实现,但它更多的是关注在Model和View之间,作为它们的桥梁.服务端渲染,我们使用最多的就是用他来渲染HTML.下面我们看看他与spri ...
- java实现安全卡模块,一种Java卡防火墙漏洞的检测方法和装置的制造方法
一种Java卡防火墙漏洞的检测方法和装置的制造方法 [技术领域] [0001]本发明涉及智能卡领域,尤其涉及智能卡领域中的一种Java卡防火墙漏洞的检测方法和装置. [背景技术] [0002]Java ...
- java如何解决缓存问题_4种常见的缓存问题及解决方案详解
前言 使用缓存可以缓解大流量压力,显著提高程序的性能.我们在使用缓存系统时,尤其是大并发情况下,经常会遇到一些"疑难杂症".本文总结了一些使用缓存时常见的问题及解决方案,以后在遇到 ...
- Java多线程安全问题解决的两种方式代码案例
需求:用三个线程模拟三个售票窗口,共同卖100张火车票,每个线程打印出卖第几张票. 多线程安全问题 需求:用三个线程模拟三个售票窗口,共同卖100张火车票,每个线程打印出卖第几张票. 模拟安全问题 p ...
- Java实现字符串反转的四种方式代码示例
第一种 (最投机取巧的一种): private static void reverse1() {String s = "abcdefg";StringBuilder sb = ne ...
- java arraylist 删除回车符_2种Java删除ArrayList中的重复元素的方法
这篇文章将给出两种从ArrayList中删除重复元素的方法,分别是使用HashSet和LinkedHashSet. ArrayList是Java中最常用的集合类型之一.它允许灵活添加多个null元素, ...
- java class b_“ [B””是哪种Java类型?
我正在尝试通过Java代码(hibernate)从MySQL DB获得MD5加密的通行证.但是我既不能得到String也不能得到任何合理的Java类型. 我得到的唯一消息是此无用的消息: java.l ...
- Python表白代码合集:5种表白代码、比小心心、无限弹窗、520表白墙、抖音热门表白小软件、无套路表白
一.介绍一下 写了5个Python表白代码,代码很简单,通俗易懂,都有注释.有什么问题联系本人QQ:483062431.文章最后教你们怎么打包成exe,如果你懒得搞懂代码怎么回事 ...
- Python表白代码合集:5种表白代码,找不到对象你来找我,这也太秀了叭
文章目录 一.容我啰嗦两句 二.来吧,代码展示 1.给女神比个小心心 2.无限弹窗式表白 3.这货不是表白代码,悄悄送给你们 4.520表白墙 5.抖音热门表白小软件 6.无套路表白 三.写在最后 一 ...
最新文章
- Android SystemServer分析
- win10安装java不见了,win10安装java以及java配置遇到的坑
- 不错的html学习网址。
- 万字好文 | 数字化转型之道——数据治理体系能力提升
- cartographer坐标系_cartographer个人对框架解读
- usermod 修改用户信息
- 如何写出有效的引流文案?
- 生信可视化(part2)--箱线图
- C语言应用(2)——判断当前时间是否在一个时间段内(含跨天)
- hive动态分区 MapReduce 虚拟内存不足
- 考拉验数(自动化验数)设计方案和实现
- 不解决产能低下的问题,直供模式也拯救不了小米
- pythoneducoder苹果梨子煮水的功效_苹果梨子煮水的功效是什么呢
- arcgis10之给图层添加注记
- Spring Boot 打包分离依赖 JAR 和配置文件
- 《自然》杂志:面对“电车难题”,不同国家的人有不同的道德选择
- 企业网络和家庭网络区别
- 学人工智能数学要好吗?
- mysql 计算农历_MySQL 获取农历年函数
- 爬取豆瓣电影top250提取电影分类进行数据分析
热门文章
- MyBatisPlus_更新篇_入门试炼_03
- 用 Excel+VBA 与 SQL Server 数据库交互
- java swing图形界面开发设计器windowbuilder安装步骤详解
- java 设计模式 prototype_Java设计模式之Prototype原型模式
- 平板电脑可以开发php吗,PHP代码判断设备是手机还是平板电脑(两种方法)
- linux获取ip地址的接口,获取Linux上接口的IP地址
- win8能开发android的sdk么,Win8下Android SDK安装与环境变量配置教程
- Android app 标签,android 获取APP的唯一标识applicationId的实例
- c语言 自动化编译环境,《C编程.开始C》3.编译基础
- 编译 linux 3,linux内核的编译(3)