- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 spring源码解析之如何从spring中获取一个bean(总览)
前言:疫情期间,在家办公,虽说有种种不便,与此同时,也有了充足的时间,学习了一些想学习的知识,如有错误,敬请指出。1:解读spring的主要功能是IOC与AOP,此章节暂时不讲述AOP,但针对IOC来讲,getBean()方法是重中之重,例如下面这个例子,我们这样做就可以从容器中取出一个bean的实例AnnotationConfigApplicationContext configApplicationContext=new AnnotationConfigApplicationContext
2020-06-13 23:56:29
542
原创 POST请求传递文件时间过长
问题出现:之前上线过一个功能,使用Httpclient请求接口上传文件,线上使用情况反映功能响应很慢,具体核心代码如下:CloseableHttpClient httpClient = HttpClients.createDefault(); try { HttpPost httpPost = new HttpPost(webserver); // 以浏览器兼容模式运行,防止...
2020-01-15 21:28:52
4531
原创 深度解析ThreadLocal
ThreadLocal使用方式为在一个线程中创建一个ThreadLocal对象,使用threadLocal.set()赋值,在相同线程的另一个地方使用threadLocal.get()获取值,接下来,从源码角度分析一下ThreadLocal的实现方式以及存在的问题。1:创建是直接new 一个对象创建出来,既然ThreadLocal与线程已经绑定(一个ThreadLocal在不同的线程之中可以存...
2019-12-29 11:37:03
336
原创 mysql主从不一致,更新完数据之后直接读取数据和更新之后的数据不一致解决方案
上来先抛出两个工作中遇到的问题,1:在业务场景中,写过这么一段代码,先更新数据库,然后在代码下面在读取(注意,两块代码不在同一个service上,第一个更新操作service已有事务注解,第二个没有),结果发现读取到的值与写入的值不一致,读取到的是老值。2:一次手残,使用navicate连接数据库时候连接到从库上了,使用navicate更新数据,结果发现在代码service层(已经加了事务注解)读...
2019-07-25 16:27:12
884
转载 spring cloud 微服务调用链
问题描述:我们采用spring cloud搭建微服务的时候,假设有3个服务A,B,C。每个服务在生产上均部署了2台。某一个时刻,我们的系统发生了一个错误。我们应该如何定位错误,查询整个请求在每个服务的时间。最笨的方式是查看2个服务器上的3个日志文件。简单的就是搭建一个调用链追踪中心。强烈推荐下文:从大概原理到代码实现,对应着可以很容易的搭建出来。作者:CodeSheep · 程序羊 原...
2019-03-31 17:32:26
3150
原创 解决POST请求乱码问题
在本地写了个脚本,请求服务器,请求方式是POST请求,设置seParameter,传递参数是中文,然后在服务器端接受的参数已经变为乱码,解决方式:自定义POST请求的编码方式:public static class UTF8PostMethod extends PostMethod { public UTF8PostMethod(String url) { ...
2018-11-27 15:16:07
936
转载 mysql四种事物隔离级别
好文,原文:https://www.cnblogs.com/huanongying/p/7021555.htmlMySQL的四种事务隔离级别本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,...
2018-11-26 19:08:33
158
转载 JWT对SpringCloud进行系统认证和服务鉴权
原文:https://blog.csdn.net/qq_36236890/article/details/79954647 JWT对SpringCloud进行系统认证和服务鉴权一、为什么要使用jwt?在微服务架构下的服务基本都是无状态的,传统的使用session的方式不再适用,如果使用的话需要做同步session机制,所以产生了了一些技术来对微服务架构进行保护,例如常用的鉴权框架Sp...
2018-11-23 13:37:02
1265
转载 jvm垃圾回收算法以及回收器详解
原文链接:https://www.ziwenxie.site/2017/07/24/java-jvm-gc/本文主要讲述JVM中几种常见的垃圾回收算法和相关的垃圾回收器,以及常见的和GC相关的性能调优参数。GC Roots我们先来了解一下在Java中是如何判断一个对象的生死的,有些语言比如Python是采用引用计数来统计的,但是这种做法可能会遇见循环引用的问题,在Java以及C#等语言...
2018-09-25 19:12:22
194
转载 JVM的方法区和永久带的关系
原文这这里:https://www.imooc.com/article/47149 群里面有小伙伴问到这个问题,说在网上看了很多文章,但是还是没弄明白这俩是啥关系,下面我们就来详细的解释一下:什么是方法区?方法区(Method Area)是jvm规范里面的运行时数据区的一个组成部分,jvm规范中的运行时数据区还包含了:pc寄存器、虚拟机栈、堆、方法区、运行时常量池、本地方法栈。...
2018-09-25 18:58:38
356
原创 设计模式简介
设计模式菜鸟教程翻来覆去也看了好几遍了,每一次都是看完然后过一段时间又忘了,然后在工作中设计模式又用到的挺少的,所以想总结下,好记性总是不如烂笔头么。http://www.runoob.com/design-pattern/design-pattern-tutorial.html这是菜鸟教程设计模式的地址,讲的非常好。设计模式的话其实可以分为三大类。1:创建型;2:结构型;3:行为型。所学到的...
2018-09-24 15:33:36
303
转载 jvm内存区域的划分
JVM的内存区域划分 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢? 由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java...
2018-09-22 16:13:12
331
原创 fegin请求中使用GET方法在服务之间进行调用传递的参数是对象
遇到过一个问题,记录解决。有个类似于开放平台的服务,一些功能需要去调用别的微服务。查询列表调用其余服务的时候需要进行调用另外一个服务的GET请求,对方服务的GET请求需要使用一个DTO接受。dto就是一个实体。各种属性表示查询条件。 @RequestMapping(value = "/store/api/v1/salesmen/{salesmanId}/admin/loaning", met...
2018-09-19 18:45:39
4067
原创 前端教程学习之ES6
最近公司由于人事流动,前端人手比较少,被拉壮丁写前端,一脸懵逼,跌跌撞撞,一个星期,前端负责的部分完成了七七八八,但是关于原理之类的不懂,都是copy其他界面或者其他项目慢慢来的。大体的语法懂一些。趁着周末,又大体看了些前端es6的语法,不得不说,应该是越来越简单了吧,也有类,继承之类的概念。es6是JavaScript语言的标准,如你所想,有es6,当然也会有es5存在,es5是es6的上一...
2018-09-15 19:57:24
376
原创 HttpClient的PostMethod请求请求体传递参数
工作中遇到使用Postmethod请求,参数以body形式进行传递,记录下,以免以后忘记,话不多说,直接上代码 PostMethod postMethod = new PostMethod("url"); RequestEntity se = new StringRequestEntity(JSONObject.toJSON(esFinanceParamDTO)...
2018-09-05 14:37:47
22179
3
原创 NIO浅谈之Buffer基本原理
NIO从整体上分类来看可以看做由这几个部分组成:Buffer,Channel,Selector组成。本篇文章从浅谈一下Buffer。1:Buffer的类型。可以这么来说,不同的数据类型有不同的buffer,例如ByteBuffer,IntBuffer,LongBuffer,ShortBuffer。。分别对应的数据类型为byte,int,long,short。2:想获取一个Buffer对象的...
2018-08-07 22:30:45
4866
1
原创 动态代理实现
学习动态代理之前,先来看一种常见的设计模式--代理模式。代理模式是一中经常使用的设计模式。主要特点是代理类与委托类具有相同的接口。所谓委托类是接口的真正实现者,代理类只是调用委托类相关的方法实现特定的功能,代理类可以为委托类预处理信息。假设Personal为一个委托类。eat()方法是委托类的一个方法。在实现吃饭方法之前要盛饭。所以就出现一个代理类PersonalProxy,目的是预先处理一些...
2018-08-05 00:04:46
125
原创 设计模式之建造者模式【BuilderPattern】
建造者模式属于创建型模式的一种。建造者模式主要是用于创建一个复杂的对象。使相同的创建过程可以创建不同的对象。建造者模式提供了一种创建对象的最优模式。建造者模式主要用于创建复合对象,复合对象就是某个类具有不同的属性。在一个对象的每一部分经常变化,但是将每一个对象组合起来的算法方式不变化的情况下使用建造者模式再合适不过。话不多说,接下来看下建造者模式的实现类图:先看下接口Ite...
2018-07-22 22:44:00
129
原创 浅谈Java异常01
1:什么是异常 异常就是Java程序执行之后在执行期遇到的错误,遇到异常时候我们首先要做的是什么,首先我们要做的是看异常的类型以及出现异常的代码块,一般来说,如果是在程序运行时期出现的异常很容易修复,看下异常类型就大概知道在哪里出现的错误2:我们应该怎么处理异常 首先我们来说如果不处理异常会发发生什么事情,如果我们任由一个异常发生而不去处理他的时候,默认会直接把异常信息打印出来而不去做...
2018-04-02 23:14:47
152
转载 maven学习01
一、Maven 概念:Maven是一个java语言编写的开源项目管理管理工具,是Apache软件基金会的顶级项目。主要用于项目构建,依赖管理,项目信息管理。百度百科二、Maven下载 下载地址:http://maven.apache.org/download.cgi 下载完成后,得到一个压缩包,解压,可以看到maven的组成目录 Maven目录分析bin:含有mvn运行的脚本boot:...
2018-04-01 20:48:13
124
原创 spring Security学习杂谈1
最近在学习spring Security,看了许多博客大牛著作,感觉这篇写的非常不错点击打开链接,把学到的东西做下总结回顾,顺便把遇到不错的学习资料链接发下大家一起学习。关于什么是spring Security大家可以去看链接,写的非常棒。 理解学习spring Security的时候可以从两方面进行下手:鉴权(Authentication)和授权(Authorization)两方面进行下...
2018-03-17 16:06:35
242
转载 https加密原理
为什么需要httpsHTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理等。举个最常见的例子,用户登陆。用户输入账号,密码,采用HTTP的话,只要在代理服务器上做点手脚就可以拿到你的密码了。用户登陆 --> 代理服务器(做手脚)--> 实际授权服务器在发送端对密码进行加密?没用的,虽然别人不知道你原始密码是多少,但...
2018-03-17 16:04:46
569
原创 storm浅谈
storm本地模式,处理模拟集群环境,快速进行开发。1:storm体系结构(1):Nimbus主节点:① 主节点通常运行一个后台程序-Nimbus,用于响应分布在集群中的节点,分配任务和监控故障(2):Supervisor工作节点:① 工作节点同样会运行一个后台程序--Supervisor,用于收听工作指派基于要求运行工作进程,每一个工作节点是topology中一个子集的实现,...
2018-03-10 19:25:22
266
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人