那些jdk中坑你没商量的方法】的更多相关文章

前言:jdk作为我们每天必备的调用类库,里面大量提供了基础类供我们使用.可以说离开jdk,我们的java代码寸步难行,jdk带给我们的便利可谓是不胜枚举,但同时这些方法在使用起来也存在一些坑,如果不注意就很容易掉入到陷阱里面,导致程序抛出错误.jdk中的很多方法都不会做非null判断,可能设计jdk的作者默认开发者已经处理好null值了.不过这个设计可能会造成很严重的后果,实在是暗藏杀机.比如今天早上我们查了一笔订单没有退款,查了一早上最终才发现是同事写的代码的BigDecimal的subtra…
最近开始弄支付这块,先是支付宝手机网站支付,也是坑了我许久,不过还好,问题不大. 让我们看看微信支付有多少坑 微信商户平台,你们知道么(我前天才知道,别笑我) 登录地址:https://mch.weixin.qq.com 我查了很久,才知道,原来,帐号密码,发到你开户的邮箱里了,然后,我翻啊翻,终于让我找到帐号密码了. 实在不明白,帐号为嘛是:aaaa@aaaa这样的,百思不得骑姐呀. 咱不说废话,进去看看 发现一个开发文档,地址:http://pay.weixin.qq.com/wiki/do…
转载加自己整理的部分内容,转载自:http://jiajun.iteye.com/blog/810150 记录下JConsole使用方法 一.JConsole是什么    从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行.您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码.二.如何启动JConsole1.    如…
参考资料 该文中的内容来源于 Oracle 的官方文档 Java SE Tools Reference .Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以直接找到这个总入口 Java SE 8 Documentation ,想阅读什么就点什么.本博客不定期从 Oracle 官网搬砖.这里介绍的工具是 keytool . 网络安全概论 在 Web 世界里,安全是一个重之又重的课题,甚至是美国政府都禁止某些加密解密算法的出口. Java 和 Linux 都是…
前言 开心一刻 小时候有一次爸爸带我去偷村头别人家的梨子,我上树摘,爸爸在下面放风,正摘着主人来了,爸爸指着我破口大骂:臭小子,赶紧给我滚下来,敢偷吃别人家梨子,看我不打死你.主人家赶紧说:没事没事,小孩子淘气嘛,多摘点回家吃.我……这坑儿子的爹... 纯正的海豹突击队 路漫漫其修远兮,吾将上下而求索! github:https://github.com/youzhibing 码云(gitee):https://gitee.com/youzhibing Runnable 如果是简单的实现一个线程…
都说JDK的实现诡异多,今儿也算是被我踩到一个坑了. 就来说说关于String.valueOf的这个坑. public class TestString { public static void main(String[] args){ Object obj = null; System.out.println(String.valueOf(obj)); System.out.println(String.valueOf(null)); } } 这段代码,第一个输出“null”,没错,不是空对象…
1.1.Future模式是什么 先简单举个例子介绍,当我们平时写一个函数,函数里的语句一行行同步执行,如果某一行执行很慢,程序就必须等待,直到执行结束才返回结果:但有时我们可能并不急着需要其中某行的执行结果,想让被调用者立即返回.比如小明在某网站上成功创建了一个账号,创建完账号后会有邮件通知,如果在邮件通知时因某种原因耗时很久(此时账号已成功创建),使用传统同步执行的方式那就要等完这个时间才会有创建成功的结果返回到前端,但此时账号创建成功后我们并不需要立即关心邮件发送成功了没,此时就可以使用Fu…
前提 这篇文章主要基于JDK11的源码和最近翻看的<深入理解Java虚拟机-2nd>一书的部分内容,对JDK11中的Reference(引用)做一些总结.值得注意的是,通过笔者对比一下JDK11和JDK8对于java.lang.ref包的相关实现,发现代码变化比较大,因此本文的源码分析可能并不适合于JDK11之外的JDK版本. Reference的简介和分类 在JDK1.2之前,Java中的引用的定义是十分传统的:如果reference类型的数据中存储的数值代表的是另一块内存的起始地址,就称这…
背景 大家知道,jdk安装的目录下,一般会有个src.zip包,这个包基本对应了rt.jar这个包.rt.jar这个包里面,就放了jdk中,jdk采用java实现的那部分类库代码,比如java.lang包下面的,什么ArrayList之类的. 如何才能调试这部分代码呢,这里的调试,是说,能够修改源代码.加注释.直接debug. 步骤 经过一番思考和探索后,可以这样: 解压src.zip包,因为解压后,里面有8000多个文件,比较大,我们也不需要调试所有的代码,我就挑了这个包下面的代码: 上面看到…
前提 UUID是Universally Unique IDentifier的缩写,翻译为通用唯一标识符或者全局唯一标识符.对于UUID的描述,下面摘录一下规范文件A Universally Unique IDentifier (UUID) URN Namespace中的一些描述: UUID(也称为GUID)定义了统一资源名称命名空间.UUID的长度为128比特,可以保证在空间和时间上的唯一性. 动机: 使用UUID的主要原因之一是不需要集中式管理,其中一种格式限定了IEEE 802节点标识符,其…