自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (5)
  • 收藏
  • 关注

原创 浅入深出Redis

Redis是目前使用最广泛的NoSql基础设施之一,除了使用最广泛的缓存之外,还可以用做分布式锁、队列、简单统计、布隆过滤器、限流等非常广泛的用途,随着redis的进一步发展,可以想象越来越多的特性将会加入redis中。Redis最大的特点就是单线程工作模式下,仍然保持了高性能高吞吐量,关键就是操作是内存式级别的运算而且没有锁等线程安全机制。但是在处理网络连接部分采用了多路复用的NIO机制来提升处理多个客户端连接的能力。但是,redis的吞吐量对执行时间长的慢查询非常敏感,使用Redis一定要注意监控和

2020-08-09 10:39:24 182

原创 深入理解G1

G1是JVM历史上具有里程碑意义的收集器,开创了垃圾收集可控暂停时间的停顿时间模型。从G1开始,垃圾收集器不再追求一次将整个堆清理干净,而是追求可控的STW时间,以及在STW时间内尽可能高的内存回收速率。早期阐述Java的GC机制时,经常使用妈妈打扫房间的例子,这个例子说的是你在房间里吃瓜子,然后瓜子皮丢在地上,妈妈在打扫房间的过程中,必须在某个时刻限制你暂停吃瓜子(STW)一段时...

2020-04-09 23:26:45 1693

原创 了不起的ZGC

ZGC是随着Java11发布的新一代垃圾收集器,它基于Page(和G1的Region等价,官方资料称为Page)内存布局,以低延迟为设计目标,我们先看一下官方的测试成绩:ZGC的设计思路很接近Azul的C4,目前还不支持分代。ZGC还使用了染色指针、读屏障、内存多重映射的技术实现了并发的标记-整理算法。ZGC能做到极短的STW的时间,关键是做到了暂停时间只和...

2020-03-27 23:00:10 788

原创 深入浅出RocketMQ

基本架构RocketMQ由name server,broker,producer,consumer四个组件构成,每个组件都没有单点问题,整体架构图如下:每个组件的用途如下:name server:提供轻量级服务发现和路由,每个服务器记录完整的路由信息,用来提供完整的读写服务。name server记录了broker,topic等状态信息,其他角色的服务器向na...

2020-02-28 15:57:49 416

原创 深入理解RabbitMQ

目录一、RabbitMQ的基本概念二、RabbitMQ集群一、RabbitMQ的基本概念 RabbitMQ是一款功能丰富的传统消息队列,代表性的功能包括:消息持久化、消息确认、死信队列、消息消费端限流,丰富的功能特性是选择RabbitMQ的首要理由。RabbitMQ遵循AMQP协议,AMQP的模型如下:相关概念如下:1、Producer:消息生产者;2、...

2020-02-15 21:27:12 522

原创 Arrays.asList返回的List与new ArrayList的区别

        前几天写代码的时候用到将Set转换为List然后继续进行操作,向里面添加元素的时候报错了,代码逻辑类似下面:import java.util.Arrays;import java.util.HashSet;import java.util.List;import java.util.Set;public class Test { public s...

2013-08-10 17:41:50 306

原创 求超越,计算小于等于N的素数个数

        最近两天和群里的朋友讨论计算小于等于N的素数的个数。最直接的算法就是对于每一个数i,计算i除以从2到i的平方根,任意一个能除尽都说明i不是素数。但这种算法效率很低,还有很大的改进空间,也有不同方式改进。        liuyh17211的思路是改进算法,根据算术基本定理,任何合数都可以表示为两个或多个素数的乘积,所以判断i是否是素数的只需要计算i除以从2到i的平方根之间的...

2013-03-09 14:31:52 513

原创 深入分析Java对象的建构顺序

文章转载自:这里,版权归博主youngto所有 对于下面的代码,许多有经验的程序员都没能给出正确的答案。如果你能只看代码给出的答案和文章末尾出给出大答案一致,那么你已经掌握了Java对象的建构顺序,中间的分析可以不用看了。/** * 父类Foo,实现控制台输出 * * @author youngto * @since 2013-01-25 */ c...

2013-01-31 17:56:57 86

原创 2012年总结

        2012年结束了,这一年几乎是我这么多年来最轻松的一年,很少的任务与事故,几乎没有加班。说心里话,我不喜欢这种轻松,这种轻松给人不安全感。公司所处的行业处于冰冻期,公司在此期间没有裁员,各部门间却忙于争吵,整个网站几乎没有什么值得一提的改进,也没有看出公司在做什么准备迎接行业解冻,或者更冷的冰冻期。        再说自己的情况,公司没给安排任务,我自己却不能轻松下来,因为我已...

2013-01-11 22:17:40 59

原创 频道struts2远程执行漏洞

    struts2远程执行漏洞,是个有相当久远历史的风险,其危害程度相当之大。网站的其他频道在去年4月份之后web层全部改为了spring mvc,只有我负责的这个频道,由于事情繁多,一直没改。在漏洞爆出之初,由于要构造的攻击条件比较复杂,所以问题并不严重。在今年7月份前后,互联网上爆出了攻击工具,针对这个漏洞的攻击一下子没有了门槛。    9月份的时候运维工程师跟我说频道服务器上新建了很...

2012-10-17 22:54:36 92

原创 JSR133:线程规范翻译

Java虚拟机支持多条线程同时执行。多线程在Java中通过Thread类表现。对用户来说创建线程的唯一方式就是构造一个Thread类的对象;每个Java线程都和此类有关。通过调用Thread对象的start()方法来启动线程。当线程没有正确同步的时候,多线程的行为将是不可预测的。本规范将介绍Java程序中多线程的语义,包括多个线程更新共享内存时哪些读共享内存的值的可见性规则。本规范与内存模型...

2012-04-22 22:36:10 121

2012计划

2012年已经开始一个月了,现在才做计划,希望不算晚吧!更重要的是能够落实,呵呵!! 根据老大的安排,2012年应该做的主要是两件事:1、是网站的深度完善;2、是基于C/S体系的客户端软件。基于此,今年的学习目标有三大块:一、java并发编程;二、算法与机器学习;三、计算机系统(深入理解计算机系统)。结合下面四本书《JAVA并发编程实践》、《机器学习》、《算法导论》《深入理解计算机系统》。...

2012-01-31 22:23:09 79

2011总结

2011年,我从5年左右企业开发全面转入互联网开发,这一年让我大开眼界,甚至可以说是我这么多年以来进步最大的一年。从知识面上来说,以前思考问题的切入点只有代码,代码之外的问题就不知道怎么下手了,这一年对操作系统、web服务器、HTTP协议、JVM、脚本语言等都有所了解,解决问题的时候思路也开阔了。 1、JVM:今年算是对Jvm的了解开了个头,虽然限于知识面和深度,学习的深度有限,但还算是一个...

2012-01-31 21:55:32 71

原创 基础正则表达式

正则表达式元字符含义,下列的这些仅用于复习或了解,正则表达式需要多练习才能精熟,:-). :就是点“.”,用于匹配任意一个单个的字符;\ :"\",用于对紧接于后它的字符进行转义;[和]:表示一个字符集合,两个字符间的字符都是集合组成部分;- :字符区间连字符,用于简化字符区间定义;| :表示前后两个元素的并集;^ :用在字符集内[^pattern],用...

2011-11-30 23:34:04 78

需要学习或者加强的技术方向

工作几年以来,尤其是转入互联网方向后,感觉需要学习的技术方向越来越多,自己薄弱的技术也越来越多,列一个学习列表,已完成的转入已完成列表。待学习的:1、一门脚本语言python,shell(都包含正则表达式);2、深入理解一种web服务器,选择nginx;3、深入学习java虚拟机;4、数据结构与算法(尤其是智能web相关的算法);5、重新学习大学的高等数学(概率,矩阵,...

2011-10-01 22:43:37 99

原创 vim功能

一、多窗口功能    同一屏幕打开多个窗口文件进行比较或者其他操作:        :sp  [filename]:打开一个新窗口,有filename打开新文件,否则两个窗口为同一个文件内容;        [Ctrl] + w + j:光标移到下方的窗口;        [Ctrl] + w + k:光标移到上方的窗口;        [Ctrl] + w + q;结束离开窗

2011-06-27 23:42:00 291

原创 vi常用命令

一、vi的三种模式    1、一般模式:进入vi默认进入一般模式,可用移动光标,可删除、复制、粘贴,但不能编辑;    2、编辑模式:从一般模式按下字母“i,I,o,O,a,A,r.R”等时进入编辑模式,只有安ESC时才能退出编辑模式;    3、命令行模式:从一般模式按下":,/,?"时进入命令行模式。    注意:编辑模式和命令行模式不能互相切换,只能通过一般模式切换。二、

2011-06-20 23:37:00 313

原创 文件与文件系统的压缩与打包

一、单一文件压缩    1、gzip,zcat        gzip [-cdtv#] file            -c:压缩数据输出(重定向)            -d:解压缩参数            -t:检验压缩文件的一致性,查看有无错误            -v:显示原文件/压缩文件压缩比等信息            -#:压缩等级       

2011-06-19 11:20:00 182

原创 Linux文件与目录管理

1、相对路径与绝对路径;2、目录的相关操作:cd,pwd,mkdir;3、复制,删除,移动命令:      cp [options] source destination      rm [-fir] 文件或目录      mv [-fiu] source destination3、文件内容查阅    cat:从第一行开始显示文件内容;    tac:从最后一行开始

2011-06-16 23:26:00 199

Python基础教程(第2版).

Python基础教程(第2版) 中文 清晰 最好的python入门书

2012-08-09

jquery基础教程

jquery基础教程,很基础的书,好懂,清晰

2012-08-09

Effective C++ 中文第三版

Effective C++ 中文第三版,侯捷译,正文非常清晰

2012-01-04

HTTP1.1协议中文版

超文本传输协议HTTP1.1中文版详解,应用于分布式,合作式,超媒体信息系统的应用层协议。

2011-05-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除