yellow river

妈妈再也不用担心我同样的bug写第二遍

引用计数算法

在判断对象是否存活时,引用计数算法的做法是:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。 引用计数算法(Reference Counting)的实现简单,判定效率也很高,在大部分情况下时一个不..


通过PropertyPlaceholderConfigurer配置不同环境配置

项目中,本地调试、测试环境、预发布环境、线上,不同环境有时需要不同的配置文件。原来的项目中,可以通过公共的配置管理服务为不同的环境在线配置不同的配置文件,然后在构建或服务器启动时去获取。现在没有了这样的公共服务,将环境配置硬编码到代码中显然是不现实的。在Spring中,可以通过扩展Proper..


git pull或push时报错:"unable to unlink old 'xxx/xxx/xx':Invalid argument"

在本地使用git pull或push代码时,提交、或拉取代码失败,并出现报错:error: unable to unlink old ‘xxx/xxx/xx.xx’: Invalid argument说起来这个问题也出现过好几次了orz 大多数遇到这种情况,基本都是要更新或提交的文件被系统线..


Tomcat启动报错:java.io.IOException:invalid constant type:18

问题背景测试环境的项目部署到Tomcat启动时,由于报错启动失败,报错如下:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'endUserService' define..


struts升级至2.3.20后无法使用stack.findValue调用java静态方法

问题背景项目融合之前,struts2一直使用的是2.0.11版本,前端页面使用freemarker模板引擎,通过值栈调用后台的Java静态方法。具体场景如下,拦截器向值栈中存入多个键值对:public class WebPageInterceptor extends AbstractInterc..


git撤销已提交但未push的代码

查找想要回退到的版本号: 在IDEA中可以:”Version Control -> Log -> 右键提交记录 -> Copy Revision Number”获取到 命令行通过命令:$ git logcommit 0edf1b84e1aa60b0571704fcd0e1..


Hexo + Github Pages搭建个人blog

最近寻思着,毕业有一段时间了,是不是应该弄个博客记录一下自己的工作学习点滴,于是本着独立自主不花钱的原则,用hexo + github pages搭了一个简单的个人blog,下面就来说说搭建步骤以及几个踩过的坑。 Hexo 引用官网的话,A fast, simple & powe..


Markdown基本用法

Markdown是一种轻量级的标记语言,相对于复杂的HTML标记语言来说,常用的标记符号不超过十个。 可以很方便地导出为PDF、HTML格式文件,使得使用者可以专心于码字,而无需花大量精力在排版上。 常用标签段落一个段落是由一个以上的连接的行句组成,而一个以上的空行则会划分出不同的段落(空..