确保redis版本在2.2以上 [root@localhost /]# redis-server -v Redis server v=4.0.10 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=dd95360bd81d32b4 本文在redis4.0中,通过config set命令,达到不重启redis服务,从RDB持久化切换为AOF 实验环境准备 redis.conf服务端配置文件 daemonize yes port 6379 logf…
一.前言 这篇算是类加载器的实战第五篇,前面几篇在这里,后续会持续写这方面的一些东西. 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 了不得,我可能发现了Jar 包冲突的秘密 重写类加载器,实现简单的热替换    进入正文,不知道你有没有这样的时候,在线上或者测试环境,报了个bug.这个 bug 可能是: 从数据库.redis取了些数据,做了一些运算后,没抛异常,但是就是结果不对 抛了个空指针异常,但是看代码,感觉没问题,是取出来…
前言 这篇其实是对一年前的一篇文章的补坑. @Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码 当时,就是在spring mvc应用里定义一个api,然后api里,进行如下定义: /** * 远程debug,读取参数中的class文件的路径,然后加载,并执行其中的方法 */ @RequestMapping("/remoteDebugByUploadFile.do") @ResponseBody public String rem…
一.概述 用过虚拟机的都知道,如果在系统运行的时候去给虚拟机添加一块新设备,比如说硬盘,系统是读取不到这个新硬盘的,因为系统在启动的时候会去检测硬件设备.但是我们也可能会遇到这样的情况,比如正在运行比较重要的程序,这时候不想重启linux系统,又需要添加一块新硬盘,该怎么办呢?今儿个就遇到这个情况,vmware上添加新硬盘,系统不识别,于是百度了一番,有很多文章,不过大多都是要设置lvm的,鄙人比较懒,不想做那么复杂,终于找到了一篇文件讲述如何不重启的情况下添加新硬盘并识别出来,于是乎操作了一般…
mysql在生产环境下有大量锁表,又不允许重启的情况下的处理办法 满头大汗的宅鸟该怎么办呢? mysql -u root -e "show processlist"|grep -i "Locked" >> locklist.txt; for line in awk '{print $1}' locklist.txt do echo "kill $line;">>lock_kill.sql done 不足之处,欢迎拍砖!…
在使用 Linux 时,有时候会因为初始时磁盘空间分配估计不足,使用中需要将挂载点扩容的情况,这就需要我们挂载新的磁盘.但是如果我们在 Linux 运行过程中挂载磁盘, Linux 又不能在不重启的情况下自动识别,这时就需要我们使用下面的操作使 Linux 在不重启的情况下识别新挂载的磁盘. 首先,查看主机总线号,磁盘肯定是有总线连接着的: [root@localhost ~]# ls /sys/class/scsi_host/ host0 host1 host2 其次,重新扫描SCSI 总线来…
一.前言 类加载器实战系列的第六篇(悄悄跟你说,这篇比较水),前面5篇在这里: 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 了不得,我可能发现了Jar 包冲突的秘密 重写类加载器,实现简单的热替换 @Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码   最近事不算多,所以有点时间写博客,昨天写着写着,测试的同学反馈说有一个bug.我看了下服务端日志,空指针了: 下面会给出…
众所周知,SATA和SCSI是支持热插拔的,但是新装了这类支持热插拔的驱动器,系统不会马上识别的,往往我们需要重启系统来识别,但是有另外一种方法可以很方面的让系统识别新的设备.作为系统管理员,需要了解的最有用内容是,在有热交换驱动器情况下,如何不重启系统就可以添加更多磁盘空间.假使不使用 /proc,您可以插入驱动器,但为了使系统识别新磁盘,必须随即重新引导系统.这里,可以用以下命令来使系统识别新的驱动器:# echo "scsi add-single-device w x y z"…
最近遇到一个问题,事情是这样子的,刚刚接到客户说他的项目有问题,于是就打开本地的源码查看经过排查确定了问题,于是就开始进行修正工作 将问题修复好准备提交到git的时候发现当前的分支是不对的,但问题是我已经在当前分支了作了大量修改,如果要切换分支则必须先要将修改过的文件先提交 那么现在问题来了:如何在不提交commit的情况下来切换分支呢? 最后通过查看Pro Git文档了解到Git中有一个stash功能可以实现 6.3 储藏(Stashing) 来源: <http://git.oschina.n…
导读 每到年初似乎总有这么一个疯狂的冲动来寻找提高生产率的方法.新年决心,正确地开始一年的冲动,以及“向前看”的态度都是这种冲动的表现.软件推荐通常都会选择闭源和专利软件.但这不是必须的. 这是我 2019 年改进生产率的 19 个新工具中的第 16 个. Org (非 Emacs) Org 模式 (或者就称为 Org) 并不是新鲜货,但依然有许多人没有用过.他们很乐意试用一下以体验 Org 是如何改善生产率的.但最大的障碍来自于 Org 是与 Emacs 相关联的,而且很多人都认为两者缺一不可…