块的作用有哪些?

贡若伊贡若伊最佳答案最佳答案

我总结的块的用途有以下这些,其实主要就体现在对变量和函数的封装上: 1.使代码更规范、更易维护 2.提高代码执行效率(在非多线程环境中) 3.提高代码执行效率(在多线程环境中) 4.方便调用者使用(通过接口实现) 5.防止非法引用(通过块实现) 下面分别进行介绍:

1.使代码更规范、更易维护 我们开发过程中经常会遇到需要传递大量的参数的情况,或者经常需要在某个方法中做一些基本操作然后返回不同的值给外部调用方。这种情况下如果我们把相关的代码放进一个块里,就可以很好的避免传递参数过多或需要定义多个类时造成的代码冗余,也便于维护。

2.提高代码执行效率(在非 多线程环境中) 如果我们想把几个不相关的语句组织到一个块里,并且不希望它们相互之间影响,那么可以把这几个语句放在块里然后统一执行。这样的好处是在JIT编译器优化之后,Java虚拟机的内存缓存区域可以更快的定位到所需的数据,提升运行效率。另外在非多线程环境下,代码块内部的所有操作都会被加锁保护,也就避免了并发情况下由于无序访问而产生的性能问题。

3.提高代码执行效率(在多 线程环境中) 在多线程的环境下,如果某些逻辑需要共享资源,那么我们最好把它们写在一块,这样可以避免出现竞争情况,提升效率。比如说我们在使用同步锁的时候,如果一个方法内有大量的代码需要加锁保护,最好把这些需要保护的代码放到同一个块内,这样在互斥量释放后会快速重新获得,不需要等待所有代码都执行完再获取。

4.方便调用者使用(通过接口实 现) 有时候我们需要对一些方法进行封装,只暴露给它需要的接口,然后把实际的实现代码放到块里面。这样做的好处是调用方不用关心方法的实现细节,只需要知道调用的结果就可以了,从而做到了程序的高内聚低耦合。

5.防止非法引用(通过块实 现) 当我们的代码可能需要被其他的类所使用但是又不希望被其他类直接引用时(比如一些私有的成员变量和方法),我们可以把它包装在一个块里然后提供给外部调用来完成相应的功能。这样即使出现了非法的引用我们也可以很快的定位问题并加以修改。

我来回答
请发表正能量的言论,文明评论!