4 Al_assad

尚未进行身份认证

脚踏实地,不吹水不装逼不讥讽

等级
博文 344
排名 4k+

Java 线程同步器:从 synchronized、Lock 到 StampedLock

Java线程同步器:从synchronized、Lock到StampedLock  synchronized和lock的对比synchronized关键字和juc中的Lock可以说是Java最为常用的线程同步器了,以下我们从多个角度来比较这两者的区别;首先我们先看一个实际例子中的两者代码的区别:一个线程共享对象TimerBeanpubli...

2018-09-07 00:19:42

[转载]Java 线程 5 种状态下的线程中断

[转载]Java并发之线程中断原文章地址:https://blog.csdn.net/qq_35326718/article/details/78137108      前面的几篇文章主要介绍了线程的一些最基本的概念,包括线程的间的冲突及其解决办法,以及线程间的协作机制。本篇主要来学习下Java中对线程中断机制的实现。在我们的程序中经常会有一些不达到目的不会退出的线程,例如:我们有一个...

2018-09-04 19:28:25

JDK8 Stream 详细使用

JDK8管道Stream详细使用介绍 Stream的获取①通过集合Collection获取List<Integer>list=newArrayList<Integer>(Arrays.asList(1,2,3,4,5));Stream<Integer>stream=list.stream();②通过数组获取...

2018-09-03 23:58:53

JDK8 Stream 数据流效率分析

JDK8Stream数据流效率分析 Stream 是JavaSE8类库中新增的关键抽象,它被定义于java.util.stream(这个包里有若干流类型:Stream<T>代表对象引用流,此外还有一系列特化流,如IntStream,LongStream,DoubleStream等),Java8引入的的Stream主要用于取代部分Collection的操作...

2018-09-03 23:26:57

Java字节码反编译工具 jclasslib

Java字节码反编译工具 在对Java代码执行过程效率分析过程中会很经常查看代码编译后的字节码,或者将字节码反编译后,查看Java底层对于原来代码的优化结果,当然JDK本身已经提供了javap反编译工具可以完成这一过程,也有很多第三方工具可以提供更加方便的可视化功能,如JD-GUI,jclasslib等,以下介绍IDEA(Intellij大法好)的jclassl...

2018-09-01 18:21:38

postman 详细使用 (6):自动化测试 API newman 的基本使用

postman自动化测试APInewman的基本使用 postman开放了应用程序中常用的API--newman供外部程序调用,newman基于node.js,除了可以直接在命令行中直接运行,还支持作为module在node代码中调用,newman项目地址:https://www.npmjs.com/package/newman newman可以...

2018-08-03 01:59:32

postman 详细使用(5):使用 xmysql 连接 MySQL 数据库

postman使用xmysql连接MySQL数据库 postman本身并没有提供数据库连接功能,如果需要postman连接数据库,有一种实现思路,就是为提供Restful风格的HTTP接口,再由postman去访问这一系列的RestAPI来实现对数据库的访问; 如果需要实现连接MySQL数据库的RESTAPI,实现的方式有很多,比如Ja...

2018-08-03 01:49:05

postman 详细使用 (4):导入 csv、json 外部数据

postman导入csv、json外部数据 postman支持导入外部数据(csv格式或json格式),使用外部数据循环执行某一组collection,这对于自动化测试是十分方便的,以下以一个例子来说明步骤: 假设要对getHolidayByTimes接口进行测试,该接口返回请求参数startTime,stopTime之间的假期时间,响应的json类似...

2018-08-03 01:42:51

postman 详细使用 (3):拦截重发 HTTP 请求

postman拦截重发HTTP请求 类似于Fiddler,postman也可以实现对于HTTP请求的拦截,nativeapp和chromeapp实现的方式不太一样,nativeapp是通过内建代理服务器实现的,chromeapp是通过Postman Interceptor插件实现的,以下分别介绍。 需要注意的是,根据官方文档的描述( https...

2018-08-03 01:34:50

postman 详细使用 (2):预处理脚本、断言

postman预处理脚本、断言 postman为每一个HTTP请求提供了pre-requestscript用于存放在该请求进行之前执行的脚本,tests用于存放在该请求获取响应之后执行的脚本,一般用于根据响应信息进行断言测试;这里需要注意的是,postman分为nativeapp、chromeapp两个版本,nativeapp中的部分对象chrome...

2018-08-03 01:23:39

postman 详细使用 (1):发送 HTTP 请求 & Colletion 集合测试

postman基本介绍 postman是一款集http请求、http拦截、http接口覆盖测试的软件,类似于fiddler,postman支持使用基于node.js沙箱运行的javascript脚本支持,同时其newman进一步开放了主要的api,供应node环境的javascript程序调用,可以十分方便地完成接口的自动化测试; postma...

2018-08-03 01:15:19

Git 合并多次 commit 、 删除某次 commit

Git合并多次commit 有时候在一个分支的多次意义相近的commit,会把整个提交历史搞得很混乱,此时可以将一部分的commit合并为一个commit,以美化整个commit历史,可以使用rebase的方法来合并多次commit,主要步骤如下: 1.gitlog查看当前的提交历史比如需要将以下3个”请假应用客户端代码优化“的commit...

2018-07-21 16:12:17

Fiddler 反向代理调试:修改http请求、修改http响应

Fiddler抓包调试 Fiddler是一款功能强大的http抓包工具,对于http请求响应抓包调试十分实用,可以很方便查看http请求,http响应的内容,修改http请求后重新发送,拦截http响应修改后重新响应; Fiddler基本界面介绍以下是fiddler主界面的工具栏 其中“切换代理模式”,fiddler有以下2种代...

2018-07-18 13:50:31

Ubuntu 更换 apt 镜像源

Ubuntu更换apt镜像源apt是Ubuntu系的包管理工具,一般默认使用ubuntu的官方源 http://archive.ubuntu.com/ 在国内下载的速度慢到让人想砸电脑,可以更换为国内的镜像源以提高apt的下载速度;国内镜像源推荐阿里OPSX源:https://opsx.alibaba.com/mirror网易163源:http://mirrors.16...

2018-05-08 00:25:04

Netty 支持 HTTP 协议

 Netty 支持HTTP协议对于HTTP/HTTPS协议的支持,Netty提供以下的codec编解码器支持:HttpRequestEncoder对HTTP请求进行解码,用于服务端入站HttpResponseEncoder对HTTP响应进行解码,用于客户端入站HttpRequestDecoder对HTTP请求进行编码,用于客户端出站HttpResponseDecoder对...

2018-03-07 15:52:16

Netty 实现心跳发送机制

Netty实现心跳发送机制处理空闲连接是一项常见的任务,为了能够及时的将资源释放出来,需要在服务端检测空闲连接和超时,常见的方法是通过发送信息来测试一个不活跃的链接,通常被称为“心跳”,然后在远端确认它是否还活着,Netty提供了IdleStateHandler处理这个过程;以下是一个示例的实现控制器,在服务端每间隔5s(设置为5s仅仅只是为了测试方便,实际开发中可以设置一个更长的事...

2018-03-07 15:50:43

Netty 使用 EmbeddedChannel 进行单元测试

Netty使用EmbeddedChannel进行单元测试对于Netty的ChannelHandler进行单元测试,Netty提供了EmbeddedChannel嵌入式通道来完成这一过程,主要使用该通道来测试数据的入站出站过程是否合法;该通道提供以下常用的API:writeInbound 写一个入站消息到EmbeddedChannel。如果数据能从EmbeddedChan...

2018-03-07 15:48:23

Netty(5):核心部件:Codec 编解码器

NettyCodec 编解码器Netty对于解决数据从一种特定协议格式到另一种格式的转换(如二进制字节和POJO之间地转换),提供了codecs(编解码器)组件来处理的。使用Netty的codecs,可以很方便地为各种不同地协议编写编解码器;解码器:负责处理入站数据,将消息从字节或其他序列形式转成指定的消息对象;编码器:负责处理出站数据,将消息对象转化为字节或其他序列形式;消息被...

2018-03-05 22:20:13

Netty(4):核心部件: ChannelPipeline & ChannelHandler 处理链

ChannelHandlerChannel生命周期Netty的Channel含有以下4个生命周期:channelUnregistered -channel已创建但未注册到一个EventLoop.channelRegistered   -channel注册到一个EventLoop.channelActive      -channel变为活跃状态(连...

2018-03-05 22:18:17

Netty(3):核心部件:Transport 传输

Netty核心部件:Transport传输功能JDK中对于NIO(java.nio)、OIO(java.net)的网络编程API的差异很大,在进行程序移植时的难度比较大,而Netty对于NIO、OIO等提供了统一的API接口;如对于01.Netty主要部件介绍&HelloWorld实例 中的HelloWorld实例,使用NIOChannel...

2018-03-05 22:14:17
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!