自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JVM—JVM内存模型

本文主要讨论JVM内存模型,捎带会有点点JMM的讲解(因为硬件我懂得不多。。。)相信大家出去面试的人都有过这样的经历,面试官:说一下你对JVM的了解?JVM怎么调优?其实作为Java程序员确实有必要知道JVM的内存模型。抄一段官方介绍:Java内存模型(Java Memory Model ,JMM)就是一种符合内存模型规范的,屏蔽了各种硬件和操作系统的访问差异的,保证了Java程序在各种平...

2019-08-02 22:39:29 453

原创 HttpClient源码解析系列三:生成和管理Connection

本文接着上一篇博客继续分析,Connection是如何获取的,先说点基础的上篇分析到MainClientExec类#execute()是主要的执行方法,再看看改方法里面的连接时如何获取的。下面来看HttpClientConnection怎么生成的。核心的接口就是HttpConnectionFactory看看connManager.requestConnection(route, us...

2019-09-04 21:28:52 730

原创 HttpClient源码解析系列二:请求的主要流程和源码

首先看一下继承实现的关系图:下面我们就根据上篇的例子来分析源码的处理流程,先说一下本片博客的主要内容及流程继续跟踪httpclient.execute()方法,发现其内部会调用CloseableHttpClient.doExecute()方法,实际会调到InternalHttpClient类的抽象方法doExecute(),该抽象方法有三种实现,如下:三种实现分别为基础配置实现...

2019-09-01 20:37:44 974

原创 HttpClient源码解析系列一:概括及使用

一、简单介绍下Http, tcp/ip和socket区别: 首先看一下无处不在的OSI七层传输模型: 第一层:应用层。定义了用于在网络中进行通信和传输数据的接口;(Http协议位于该层) 第二层:表示层。定义不同的系统中数据的传输格式,编码和解码规范等; 第三层:会话层。管理用户的会话,控制用户间逻辑连接的建立和中断; 第四层:传输层。管理着网...

2019-09-01 12:09:59 959

原创 Java中this关键字底层原理

this关键字大家都很熟悉,天天见到,主要有以下三个用途:1.this调用本类中的属性,也就是类中的成员变量;2.this调用本类中的其他方法;3.this调用本类中的其他构造方法(只能引用一个构造方法且必须位于首行)。简单的如何使用,这里就跳过了,本文主要是分析原理,这里需要有点点jvm的知识,不过我也会介绍的。下面进入正题:当我们在方法内部使用this调用属性、方法的时候...

2019-08-02 00:34:12 3089

原创 SpringBoot多线程定时任务

项目最近要优化一下项目的定时采集功能,由之前的单线程采集升级为多线程异步执行,下面做个实现的介绍:先看一下单线程的效果:执行结果:解释一下:小明由三个女朋友需要处理,每个女朋友都需要处理6秒,每次过了三秒就需要再次处理一下三个女朋友(年轻真好!),但是这样小明也顶不住啊,所以如图所示:因为是一个线程所以小明只能一个个处理了,每个都处理了6秒钟。多线程改造:首先看看项目的连...

2019-07-17 14:41:28 1045

原创 shiro安全框架源码分析--登陆认证流程

上一篇写了shiro的启动加载过程的源码分析,现在来看看相对简单点的认证的流程源码,先来看看官方的流程图再对照我们日常的逻辑代码。比较一下简单的解释下上图的步鄹:1.生成subject并且调用login(token)方法;2.调用securityManager的login()方法;3和4.进入到doGetAuthenticationInfo()方法进行真正的认证逻辑;5.在realm中查询...

2019-07-10 00:48:02 518

原创 shiro安全框架源码分析--启动加载过程

Apache Shiro是一个简单易用且强大而灵活的开源Java安全框架,以下简称Shiro。它干净利落地处理身份认证、授权以及企业会话管理和加密。项目最近使用shiro安全框架,自己就读了相关的源码,菜鸟一枚,本博客主要用于自我学习记录使用,有什么不对的请多多指教。一。shiro架构最主要有三个概念:subject:主体,可以是用户也可以是程序,主体要访问系统,系统需要对主体进行...

2019-07-07 12:21:17 658

原创 java操作mongDB聚合查询(条件及子文档删选filter)

现在网上关于mongDB的技术帖子不是很多,由于mongDB的存储结构和自动更新的特性,我们在项目中用到了,本文主要写简单的条件查询和filter筛选满足条件的子文档文档结构:内部结构:需求:筛选出一个时间段的,type=TMP,并且筛选出子文档gridNo=3的子文档(其他的都不要)文档实体类(和mongDB保持一致):子文档实体类(和mongDB保持一致):...

2018-12-04 11:44:24 1884 3

原创 postman测试接口List<JSONObject>类型的参数

刚开始用测试接口工具POSTMAN,简单类型的参数很好处理,但是想接收前台(前后端分离)传输的复杂类型List&lt;JSONObject&gt;就不太明白怎么弄,研究网上的也不行,最终自己在后台做了特殊处理才可以;一、postman的设置:    1.填写接口---&gt;选择Headers,设置参数类型2.点击Body---&gt;选择raw---&gt;选择JSON(application/...

2018-05-08 14:42:42 44647 1

空空如也

空空如也

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

TA关注的人

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