摘要: 1、垃圾回收算法 1.1、标记-清除算法(Mark-Sweep): 过程分为“标记”和“清除”两个过程。先将所有需要回收的目标统一标记,然后再统一清除。 不足: 1.“标记”和“清除”两个过程的效率并不高。 2.无法保证得到的内存是否是连续的。当存在大量的零碎的内存空间,但任一内存块均无法满足某个较 阅读全文
posted @ 2019-02-28 18:03 undifinedException 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 1、判断对象已经死去/不再被引用。 1.1、引用计数算法:给对象添加引用计数器,有个地方引用就+1,引用失效就-1。任何时刻,引用为0,即判断对象死亡。 1.1.1、优点:实现简单,效率高。 1.1.2、缺点:在主流的Java虚拟机中不被使用,因为很难解决对象之间相互循环引用的问题。 1.2、可达性 阅读全文
posted @ 2019-02-28 18:01 undifinedException 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1、Serial(串行)收集器(新生代都采用复制算法) 这是个单线程的收集器:即 当他工作的时候,会停掉虚拟机所有的线程!(Stop The World) 2、ParNew(并行)收集器(新生代都采用复制算法) 这是Serial的升级版,允许多条GC线程同时回收,但是,依然要停掉所有的用户线程(St 阅读全文
posted @ 2019-02-28 17:59 undifinedException 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 当开启事务后,程序挂了而事务没有提交,那么会被锁住,报错:连接超时,但不影响查询。 下面操作需要权限 一、查询现在被占用的锁信息 select * from information_schema.innodb_trx 二、 kill掉线程 kill [ trx_mysql_thread_id ] 二 阅读全文
posted @ 2019-02-28 17:50 undifinedException 阅读(2282) 评论(0) 推荐(0) 编辑
摘要: 网站的伸缩性架构中,分布式的设计是现在的基本应用。 在memcached的分布式架构中,key-value缓存的命中通常采用分布式的算法 一、余数Hash 简单的路由算法可以使用余数Hash: node编号=HashCode(key)%服务器数目 例如: key=‘BEIJING'的hash值为49 阅读全文
posted @ 2019-02-28 17:43 undifinedException 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 前言: 在Java中,正则的使用需要谨慎,好的正则可以方便我们的代码,但是不好的正则,可能成为黑客攻击的漏洞。类似本例子的正则,黑客可以组织不同的匹配字符,使得校验不过,耗尽服务器资源(资源耗尽攻击)。详见正则的状态机原理。 在Java中,正则的使用需要谨慎,好的正则可以方便我们的代码,但是不好的正 阅读全文
posted @ 2019-02-28 17:24 undifinedException 阅读(1506) 评论(0) 推荐(0) 编辑