Java 初始化与清理

编程入门 行业动态 更新时间:2024-10-07 01:21:04

Java 初始<a href=https://www.elefans.com/category/jswz/34/1769842.html style=化与清理"/>

Java 初始化与清理

说实话,关于《JAVA编程思想》中“初始化与清理”章节,我细致看完后,感觉若无所获,让我大失所望,姑且记录在本博客中,是因为希望未来一天再读关于“初始化”、“清理”的时候能够大彻大悟。

一、以返回值区分重载方法

我曾经就干过这样的傻事,项目中我们经常会编写自己的DateUtils包,来转换各种日期格式。

int getFromDate(Date date){
}
long getFromDate(Date date){
}

例如上面这串代码,本意是想通过一个方法名getFromDate来获得日期的long时间戳(13位)或者int时间戳(10位),我原来总觉得这样的写法,编译器应该认为是合乎情理的,但编译器是不通过的。
需要改成这样的写法:

int getIntFromDate(Date date){
}
long getLongFromDate(Date date){
}

有时你并不关心方法的返回值,你想要的是方法调用的其他效果。

所以这种情况下,针对getFromDate方法,编译器就不知道你要调用哪一个?

所以,返回值区分重载方法是不可行的。

二、this和static

本来这个小节,我是很感兴趣的,对于这两个关键字,王二一直没有“深入浅出”,以后还需再总结。

三、垃圾回收

Bruce花费了大量的文字来介绍java的垃圾回收机制,无论是“标记-清扫”,还是“停止-复制”,我都没有看明白,没有大彻大悟,实在抱歉,只恨自己脑瓜郁闷。

四、初始化

记得看尚学堂马士兵的视频,或者魔乐科技的李兴华老师视频时,都会花一定的时间介绍java类在初始化时的顺序,今天再次重温了一遍,但依然没啥感觉,不做深究。

①、可变参数列表

可变参数列表其实是很有用的,尤其是在做sql语句的变量赋值时。

public void fillStatement(PreparedStatement pst, Object... paras) throws SQLException {for (int i=0; i<paras.length; i++) {pst.setObject(i + 1, paras[i]);}
}

拼预处理sql语句时,我们基本上都会使用“?”来代替参数,然后将参数放在可变参数paras中,这是非常好用的做法。

②、枚举类型

王二觉得,枚举并没有发挥其原本想要的作用,至少现在看来,枚举在使用过程中还是略显疲态,不过有一个很重要的地方用枚举就特别给力,那就是单例。

public enum Single {
INSTANCE;
}
  1. 非常简洁
  2. 无偿提供序列号机制
  3. 绝对防止多次实例化

这三点在《effective java》中已强烈推荐,实现singleston的最佳方式!关于singleston,还有很多其他的版本,你可以参阅深入浅出单实例Singleton设计模式,非常详细。

本篇我并没有学到太多的至少,水平有限,只能一点一点来,如果你是大神级别的,请自动过滤!


相关文章

  • 深入浅出单实例Singleton设计模式

王二语录

it will all get better in time, And even though i really love you,i am gonna smile cause i deserve to(一切都会好起来,即便我真的真的爱你,我也要微笑面对,因为我原本如此)──Leona Lewis《Better In Time》
本文出自:【qing_gee的博客】

更多推荐

Java 初始化与清理

本文发布于:2024-02-27 21:13:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1766703.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:化与   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!