不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2019-01-31 11:20  分类:PHP基础  编辑

将 空字符串 转为 数组时,有 业务bug,如

$str = "";
$arr = explode(",", $str);
print_r($arr);

输出:

Array
(
    [0] => 
)
作者:php-note.com  发布于:2019-01-26 21:30  分类:Java  编辑

Java正则表达式:

  •   (?i)abc  表示abc都忽略大小写
  •   a(?i)bc  表示bc忽略大小写
  •   a((?i)b)c  表示只有b忽略大小写

也可以用 Pattern.compile(rexp, Pattern.CASE_INSENSITIVE) 表示整体都忽略大小写

作者:php-note.com  发布于:2019-01-21 23:32  分类:Java  编辑

独创 Db + Record 模式

Db类及其配套的Record类,提供了在Model类之外更为丰富的数据库操作功能。使用Db与Record类时,无需对数据库表进行映射,Record相当于一个通用的Model。

作者:php-note.com  发布于:2019-01-19 23:31  分类:Java  编辑

用注解 @Before(Tx.class) 实现 事务回滚

@Before(Tx.class)
public void pay() throws Exception {
    //throws exception;
}

方法体不能扑捉异常,所有的异常都抛出,当出现异常时事物将回滚(即 事务的回滚 是依赖 抛出异常 来实现的)

优点:简单暴力,不需要去处理每个异常,直接抛出即可;

缺点:不能详细的区分返回数据、视图,只能笼统的报出异常;

作者:php-note.com  发布于:2019-01-19 00:34  分类:Java  编辑

RuntimeException

  • NullPointerException:空指针异常
  • IllegalArgumentException:非法参数异常
作者:php-note.com  发布于:2019-01-18 09:53  分类:电脑/软件使用  编辑
  • Recompile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。
  • Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过。由于 Rebuild 的目标只有 Project,所以 Rebuild 每次花的时间会比较长。
  • Build:对选定的目标(Project),编译那些被修改的文件;
作者:php-note.com  发布于:2019-01-18 08:48  分类:Java  编辑
  • 实现了List接口的集合类全部有序:如 ArrayList、LinkedList
  • 实现了Set接口的集合类中:HashSet无序,TreeSet排序
  • 实现了Map接口的集合类中:HashMap无序,TreeMap排序
作者:php-note.com  发布于:2019-01-15 09:48  分类:Java  编辑
作者:php-note.com  发布于:2019-01-12 11:47  分类:Java  编辑

如果是在 try {} catch(xxx e) {} 的 catcth 分支中,很容易捕获和记录异常时的堆栈信息,直接把 Exception对象 当着参数传进去即可,但是,有时候需要在没有发生异常的情况下打印堆栈,,,其实也挺简单,现场新建一个 Throwable对象 即可,参考代码如下:

// 省略了 其他代码

if (StrKit.isBlank(fileName)) {
    logger.warn("文件名为空", new Throwable());
    return null;
}
作者:php-note.com  发布于:2019-01-12 09:55  分类:Java  编辑

1)精辟阐述:

可以将 ArrayList想象成一种“会自动扩增容量的Array”。

2)Array([]):最高效;但是其容量固定且无法动态改变;
   ArrayList:容量可动态增长;但牺牲效率;

3)建议:

基于效率和类型检验,应尽可能使用Array,无法确定数组大小时才使用ArrayList!

不过当你试着解决更一般化的问题时,Array的功能就可能过于受限。

作者:php-note.com  发布于:2019-01-08 00:22  分类:Java  编辑

Java 实现 AES 解密失败,报错:Input length must be multiple of 16 when decrypting with padded cipher

解决方案:二进制转成16进制

作者:php-note.com  发布于:2019-01-07 09:44  分类:行业资讯  编辑

在某一线互联网公司的任职生涯马上就要结束了,回想起来,从 16 年校招加入,到今年年初离职,在这快三年的时间里,公司在飞速地发展和变化,我也从一个刚入职场的初级后台开发成长为带着十来个人团队的小组长。这几年遇到了很多事,认识了很多人,也学会了很多道理,无论是技术水平还是管理能力都得到了很大的锻炼和提升。近来无事,正好总结一下这几年工作,特别是团队管理方面的几点感悟和体会,一来方便日后翻阅,二来要是能够给大家带来一些有意义的参考和借鉴,那也是极好的。

作者:php-note.com  发布于:2019-01-06 17:37  分类:电脑/软件使用  编辑

打算 回滚Git的远程仓库到指定版本,通常的做法是用本地的某个版本 强制推送覆盖,可以运行 git命令

git push -f

但平常我习惯用 PhpStorm 自带的 Git 插件来管理版本控制,,,,发现 PhpStorm 这个强制推送按钮竟然是 灰色不可用的

作者:php-note.com  发布于:2019-01-02 23:28  分类:Java  编辑

slf4j与log4j联合使用

slf4j是什么?slf4j只是定义了一组日志接口,但并未提供任何实现,既然这样,为什么要用slf4j呢?log4j不是已经满足要求了吗?

是的,log4j满足了要求,但是,日志框架并不只有log4j一个,你喜欢用log4j,有的人可能更喜欢logback,有的人甚至用jdk自带的日志框架,这种情况下,如果你要依赖别人的jar,整个系统就用了两个日志框架,如果你依赖10个jar,每个jar用的日志框架都不同,岂不是一个工程用了10个日志框架,那就乱了!

作者:php-note.com  发布于:2019-01-01 23:38  分类:Java  编辑

在我们实际开发中,不太建议直接写Exception的,它是顶级异常类,一般我们要自定义异常,使我们代码可读性更高

Java中有很多内置的异常

接下来学习一下自定义异常