利用126邮箱在阿里云中发送SSL/TSL加密邮件

由于工作原因需要在阿里云中部署一个Web系统,该系统会调用邮箱服务器定时给相关人员发送通知邮件,在测试邮箱配置时,发现始终无法正确发送邮件,而之前在研发环境和测试环境都能正常工作。网上查找之后,发现是阿里云出于安全原因默认禁止了25端口的出方向访问,需要进行25端口解封申请,按照说明提交相应的申请后没想到不到一个小时就提醒申请未通过,同时提示使用465端口来发送加密邮件。基于此,本文简要说明如何使用126邮箱通过465端口在阿里云中发送邮件。

在不重新编译的情况下直接修改Java Class文件中的内容

Java程序实际上执行的是Java文件编译后的Class文件,这是任何一个Java开发人员都了解的基本知识。若Java程序执行的结果不符合要求,通常的解决方法是先修改Java文件,重新编译成Class文件后再次执行。但有时候我们不能直接修改Java文件(如只有包含class文件的jar包),此时我们就只能直接修改Class文件,本文将展示在基于不同的需求通过可视化工具和Javassist库来直接对Class文件进行修改的方法。

[译] Java Volatile 关键字详解

本文翻译自 Java Volatile Keyword

Java关键字volatile用于将一个Java变量标记为 在主内中存储 ,更准确的解释为:每次读取一个 volatile 变量时将从电脑的主内存中读取而不是从CPU缓存中读取,每次对一个 volatile 变量进行写操作时,将会写入到主内存中而不是写入到CPU缓存中。

事实上,从Java5之后,volatile 关键字不仅仅可以用来确保 volatile 变量是写入到主内存和从主内存读取数据,我会在下面的章节进行详细的介绍: