final,finally,finalize
发表于|更新于
|浏览量:
final
用于声明属性,方法和类, 分别表示属性不可变, 方法不可覆盖, 类不可继承.
finally
是异常处理语句结构的一部分,表示总是执行.
finalize
是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等. JVM不保证此方法总被调用.
文章作者: 烦恼多一点
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 非鱼小站!
相关推荐

2022-04-25
JDBC 流程
向 DriverManager 类注册驱动数据库驱动程序 调用 DriverManager.getConnection 方法, 通过 JDBC URL,用户名,密码取得数据库连接的 Connection 对象。 获取 Connection 后, 便可以通过 createStatement 创建 Statement 用以执行 SQL 语句。 有时候会得到查询结果,比如 select,得到查询结果,查询(SELECT)的结果存放于结果集(ResultSet)中。 关闭数据库语句,关闭数据库连接。

2022-04-21
说说自定义注解的场景及实现
登陆、权限拦截、日志处理,以及各种 Java 框架,如 Spring,Hibernate,JUnit 提到注解就不能不说反射,Java 自定义注解是通过运行时靠反射获取注解。实际开发中,例如我们要获取某个方法的调用日志,可以通过 AOP(动态代理机制)给方法添加切面,通过反射来获取方法包含的注解,如果包含日志注解,就进行日志记录。反射的实现在 Java 应用层面上讲,是通过对 Class 对象的操作实现的,Class 对象为我们提供了一系列方法对类进行操作。在 JVM 这个角度来说,Class 文件是一组以 8 位字节为基础单位的二进制流,各个数据项目按严格的顺序紧凑的排列在 Class 文件中,里面包含了类、方法、字段等等相关数据。通过对 Class 数据流的处理我们即可得到字段、方法等数据。

2022-07-13
JDK8 新特性
Java 基础 - JDK8 新特性概述以下列出两点重要特性: Lambda表达式(匿名函数) Stream多线程并行数据处理(重要) 新特性 接口的默认方法只需要使用default关键字即可,这个特性又叫扩展方法 Lambda表达式 Functional接口函数式接口是指仅仅只包含一个抽象方法的接口,每一个该类型的Lambda表达式都会被匹配到这个抽象方法。你只需要给你的接口添加@FunctionalInterface注解。 使用::双冒号关键字来传递方法(静态方法和非静态方法) Predicate接口和Lambda表达式 Function接口 Function有一个参数并且返回一个结果,并附带了一些可以和其他函数组合的默认方法。 compose方法表示在某个方法之前执行 andThen方法表示在某个方法之后执行 注意:compose和andThen方法调用之后都会把对象自己本身返回,这可以 方便链式编程 Supplier接口,返回一个任意泛型的值,和Function接口不同的是该接口 没有任何参数 Consumer接口,接收一个任意泛型的值,和Function接口不同...

2022-04-24
Session 分布式处理
Session 复制在支持 Session 复制的 Web 服务器上,通过修改 Web 服务器的配置,可以实现将 Session 同步到其它 Web 服务器上,达到每个 Web 服务器上都保存一致的 Session。 优点:代码上不需要做支持和修改。 缺点:需要依赖支持的 Web 服务器,一旦更换成不支持的 Web 服务器就不能使用了,在数据量很大的情况下不仅占用网络资源,而且会导致延迟。 适用场景:只适用于Web服务器比较少且 Session 数据量少的情况。 可用方案:开源方案 tomcat-redis-session-manager,暂不支持 Tomcat8。 Session 粘滞将用户的每次请求都通过某种方法强制分发到某一个 Web 服务器上,只要这个 Web 服务器上存储了对应 Session 数据,就可以实现会话跟踪。 优点:使用简单,没有额外开销。 缺点:一旦某个 Web 服务器重启或宕机,相对应的 Session 数据将会丢失,而且需要依赖负载均衡机制。 适用场景:对稳定性要求不是很高的业务情景。 Session 集中管理在单独的服务器或服务器集群上使用缓...

2022-07-13
面向对象的特征
概述面向对象的三个基本特征是:封装、继承、多态。 封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 多态多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。 实现多态,有二种方式,覆盖,重载。

2022-07-13
双亲委派模型
类加载器加载类的开放性类加载器(ClassLoader) 是Java语言的一项创新,也是Java语言流行的一个重要原因,在类加载的第一阶段“加载”过程中需要通过一个类的全限定名来回去定义此类的二进制字节流,完成这个动作的代码块就是 类加载器,这一动作是放在Java虚拟机外部去实现的,以便让应用程序自己去决定如何获取所需的类。 虚拟机规范并没有指明二进制字节流要从一个Class文件获取,或者说根本没有指明从哪里获取、怎样获取。这种开放使得Java在很多领域得到充分运用,例如: 从ZIP包中读取,这很常见,成为JAR,EAR,WAR格式的基础 从网络中获取,最典型的运用就是Applet 运用时计算生成,最典型的是动态代理技术,在java.lang.reflect.Proxy中,就是用了ProxyGrenerator.generateProxyClass 来为特定接口生成形式为“*$Proxy”的代理类的二进制字节流 有其它文件生成,最典型的JSP应用,由JSP文件生成对应的Class类 类加载器与类的唯一性类加载器虽然只用于实现类的加载动作,但是对于任意一个类,都需要由它的类加载...
评论
WalineDisqus
公告
This is my Blog







