自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 异步任务spring @Async注解源码解析

1.引子开启异步任务使用方法:1).方法上加@Async注解2).启动类或者配置类上@EnableAsync回到顶部2.源码解析虽然spring5已经出来了,但是我们还是使用的spring4,本文就根据spring-context-4.3.14.RELEASE.jar来分析源码。2.1.@Asyncorg.springframework.schedulin...

2019-12-26 19:40:33 164

转载 MsgPack和Hessian序列化的区别

两者的区别:  hessian序列化的时候,会写入字段名称,然后字段值,你可以想象为一个map。  msgpack序列化的时候,不写入字段名字,会按字段顺序写入值,你可以想象为一个数组。从这就可以看出:  hessian产生的数据包较大,msgpack产生的数据包较小。网络传输数据更小。  序列化中hessian的性能较差,(相当于每次map按名字取值)  msgpack性能更佳...

2019-12-04 15:28:54 170

原创 利用maven assembly插件打包maven项目

1.在pom文件中添加插件配置,使用 descriptors,指定打包文件 src/main/assembly/src.xml<plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> <configurat...

2019-12-02 13:58:01 309

原创 epoll讲解

首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。不管是文件,还是套接字,还是管道,我们都可以把他们看作流。之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,但是服务器还没有把数据传回来...

2019-12-02 13:56:31 144

原创 性能指标TP定义

TP指标: TP50:指在一个时间段内(如5分钟),统计该方法每次调用所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第50%的那个值作为TP50 值;配置此监控指标对应的报警阀值后,需要保证在这个时间段内该方法所有调用的消耗时间至少有50%的值要小于此阀值,否则系统将会报警。TP90,TP99,TP999与TP50值计算方式一致,它们分别代表着对方法的不同性能要求,TP50相对较低,T...

2019-12-02 11:52:12 1412

原创 阿里云ECS Linux漏洞一键修复命令

修复命令使用Root账号登录Shell,键入以下代码回车:Centos/Redhat:yum update -yUbuntu:apt-get update -y命令完成须重启系统:reboot验证修复登录阿里云云中心管理控制台,逐个验证修复即可...

2019-11-10 14:39:12 1332 1

转载 如何去写一手好SQL ?

目录 MySQL性能 最大数据量 最大并发数 查询耗时0.5秒 实施原则 数据表设计 数据类型 避免空值 text类型 索引优化 索引分类 优化原则 SQL优化 分批处理 不做列运算 ...

2019-11-07 17:21:21 63

转载 count(1)、count(*)、count(列)有什么区别?

执行效果:1. count(1) and count(*)当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了!从执行计划来看,count(1)和count(*)的效果是一样的。但是在表做过分析之后,count(1)会比count(*)的用时少些(1w以内数据量),不过差不了多少。如果count(1)是聚索引,id,那肯...

2019-11-07 17:13:00 187

原创 IntelliJ IDEA 使用技巧分享

前言 2019-08-09 UPDATE 高效率配置 1. 代码提示不区分大小写 2. 自动导包功能及相关优化功能 3. CTRL + 滑动滚轮 调整窗口显示大小 4. tab 多行显示 5. 代码编辑区显示行号 日常使用 必备快捷键(★★) 查找 跳转...

2019-11-07 17:03:41 169

原创 装饰器模式

装饰器模式装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演示装饰器模式的用法。其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类。介绍...

2018-05-04 06:45:30 105

原创 HashMap负载因子

下面是HashMap的一个构造函数,两个参数initialCapacity,loadFactor这关系HashMap的迭代性能。 1 /** 2 * Constructs an empty <tt>HashMap</tt> with the specified initial 3 * capacity and load fac...

2018-05-04 06:33:53 754

转载 java 常用集合list与Set、Map区别及适用场景总结

list与Set、Map区别及适用场景1、List,Set都是继承自Collection接口,Map则不是2、List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉,(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的,加...

2018-05-04 06:32:54 101

原创 JAVA 中BASE64编码的转换

关于base64编码Encode和Decode编码的几种方式Base64是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Binary资料和字串资料彼此之间是可以互相转换的,十分方便。在实际应用上,Base64除了能将Binary资料可视化之外,也常用来表示字串加密过后的内容。如果要使用Java 程式语言来实作Base64的编码与解码功能Java 8中的作法Java 8...

2018-03-29 08:15:50 1413

空空如也

空空如也

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

TA关注的人

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