周末整了下RocketMQ在Ubuntu下的安装和使用,在此记录下。
Hexo端口被占用问题解决
发表于
今天使用hexo写博客,遇到一个问题,
hexo s 命令启动本地服务器,但是localhost:4000无法访问
以为是什么插件冲突了,一顿排查最后发现原来是福昕阅读器占用了4000端口。。
解决方案
启动hexo s 的时候,换一个端口。
hexo s -p 5000
如果懒得每次启动输命令,可以在_config.yml文件中加入下列配置:
1234server:port: 5000compress: trueheader: true
利用Maven生成已有项目的脚手架
发表于
最近公司旧系统重构,要将旧系统功能拆分,新建多个新系统,由于新系统结构相似,为了快速进行系统搭建,希望将其中一个作为模板,创建Maven项目脚手架。
POI导出Excel导致内存溢出解决
发表于
记录一次由于大批量Excel导出导致的内存溢出事故。
Java中的线程池
发表于
|
分类于
Java,并发
最近项目中有用到线程池,顺便就学习了一下,在此做一个总结吧~
Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序
都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处:
- 降低资源消耗 通过重复利用已创建的线程降低线程创建和销毁造成的消耗。
- 提高响应速度 当任务到达时,任务可以不需要等到线程创建就能立即执行。
- 提高线程的可管理性 线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、 调优和监控。
但是,要做到合理利用线程池,必须了解其机制及实现原理。
AOP思想与SpringAOP实现机制
发表于
|
分类于
Spring,Java
面向切面编程(Aspect Oriented Program)
我们知道,面向对象的思想是一切皆对象,三大特性是继承、多态和封装。而封装就要求将功能分散到不同的对象中去,这在软件设计中往往称为职责分配。实际上也就是说,让不同的类设计不同的方法。这样代码就分散到一个个的类中去了。这样做的好处是解决了软件系统中角色划分的问题,使类可重用。
但是人们也发现,在分散代码的同时,也增加了代码的重复性。比如说,我们在两个类中,可能都需要在每个方法中做日志。按面向对象的设计方法,我们就必须在两个类的方法中都加入日志的内容。也许他们是完全相同的,但就是因为面向对象的设计让类与类之间无法联系,而不能将这些重复的代码统一起来。