♚java♚
文章平均质量分 82
binbin_civil1
Read The Fucking Source Code.
展开
-
spring循环引用
当spring的bean存在循环引用时,有的情况下会报错,而有的情况下不会。影响是否会报错的因素是:1.属性是通过构造方法传递值还是通过setter传递值。2.属性是否是单例的。下面解释了四种情况、是否会报错、报错或不报错的原因。前置知识不论是singleton还是prototype,在创建的过程中都会有一个xxxCurrentlyInCreation的Set对象,这个Set中存放的key表示正在创建的对象,但是还没有创建完成。在对象new之前先检查这个Set中没有要创建的key,然后把要创建的对象的k原创 2021-05-06 18:09:09 · 354 阅读 · 0 评论 -
Linux、Java、Netty的零拷贝
零拷贝的概念在不同场景下,零拷贝的概念是不同的。在操作系统层面,零拷贝是指在用户态和内核态的拷贝次数为0。在Netty中,指的只是在用户层面(java层面)的拷贝次数为0。零拷贝如何实现操作系统层面在操作系统的层面实现零拷贝依赖于操作系统的命令,主要有两种方案:1.sendfile命令。2.mmap命令。这里注意:在操作系统层面的零拷贝是有一定场景约束的,必须限制的把文件发送到soc...原创 2020-04-06 18:18:51 · 518 阅读 · 0 评论 -
spring源码解析-web系列(二):处理请求的过程
在j2ee规范里,处理请求的就是servlet,我们使用spring时,配置的就是DispatcherServlet来处理。当请求来到以后,被DispatcherServlet处理,在DispatcherServle中,找到我们配置的controller、解析参数、处理返回值等。原创 2019-07-29 14:38:02 · 2284 阅读 · 0 评论 -
ElasticSearch+Logstash+Kibana+Filebeats日志系统
转载请标明出处: https://blog.csdn.net/bingospunky/article/details/79803150 本文出自马彬彬的博客下载地址elastic系列软件下载地址安装ElasticSearch下载elasticsearch-5.5.1.zip,解压就可以使用。$ELASTICSEARCH_HOME/bin/ela...原创 2018-04-03 14:42:11 · 7138 阅读 · 0 评论 -
mybatis源码解析(七)-当mybatis一级缓存遇上spring
mybatis源码解析(一)-开篇 mybatis源码解析(二)-加载过程 mybatis源码解析(三)-SqlSession.selectOne类似方法调用过程 mybatis源码解析(四)-Mapper方法调用过程 mybatis源码解析(五)-mybatis如何实现的事务控制 mybatis源码解析(六)-配合spring-tx实现事务的原理 mybatis源码解析(七)-当my...原创 2018-03-27 14:57:09 · 2984 阅读 · 1 评论 -
spring-boot-auto-configure:spring.cache.type如何生效
转载请标明出处: https://blog.csdn.net/bingospunky/article/details/79700773 本文出自马彬彬的博客spring.cache.type: redis如何生效的?在使用spring cache时,spring已经默认支持了几种缓存实现方式,我们可以通过在spring-boot配置文件中添加spring.cach...原创 2018-03-26 17:09:51 · 8338 阅读 · 0 评论 -
spring-bean循环引用
转载请标明出处: http://blog.csdn.net/bingospunky/article/details/79555075 本文出自马彬彬的博客当循环引用时,spring如何应对情景:A、B两个对象,相互引用,型如: <bean id="a" class="net.qingtian.aopdemo.xml.A" scope="singl...原创 2018-03-14 15:13:42 · 2859 阅读 · 0 评论 -
mybatis源码解析(六)-配合spring-tx实现事务的原理
mybatis源码解析(一)-开篇 mybatis源码解析(二)-加载过程 mybatis源码解析(三)-SqlSession.selectOne类似方法调用过程 mybatis源码解析(四)-Mapper方法调用过程 mybatis源码解析(五)-mybatis如何实现的事务控制 mybatis源码解析(六)-配合spring-tx实现事务的原理 mybatis源码解析(七)-当my...原创 2018-03-13 15:51:23 · 4697 阅读 · 0 评论 -
mybatis源码解析(五)-mybatis如何实现的事务控制
mybatis源码解析(一)-开篇 mybatis源码解析(二)-加载过程 mybatis源码解析(三)-SqlSession.selectOne类似方法调用过程 mybatis源码解析(四)-Mapper方法调用过程 mybatis源码解析(五)-mybatis如何实现的事务控制 mybatis源码解析(六)-配合spring-tx实现事务的原理 mybatis源码解析(七)-当my...原创 2018-02-07 18:19:18 · 5896 阅读 · 0 评论 -
mybatis源码解析(三)-SqlSession.selectOne类似方法调用过程
mybatis源码解析(一)-开篇 mybatis源码解析(二)-加载过程 mybatis源码解析(三)-SqlSession.selectOne类似方法调用过程 mybatis源码解析(四)-Mapper方法调用过程 mybatis源码解析(五)-mybatis如何实现的事务控制 mybatis源码解析(六)-配合spring-tx实现事务的原理 mybatis源码解析(七)-当my...原创 2018-01-30 10:22:03 · 22216 阅读 · 0 评论 -
mybatis源码解析(二)-加载过程
mybatis源码解析(一)-开篇 mybatis源码解析(二)-加载过程 mybatis源码解析(三)-SqlSession.selectOne类似方法调用过程 mybatis源码解析(四)-Mapper方法调用过程 mybatis源码解析(五)-mybatis如何实现的事务控制 mybatis源码解析(六)-配合spring-tx实现事务的原理 mybatis源码解析(七)-当my...原创 2018-01-29 17:19:06 · 5427 阅读 · 0 评论 -
SpringMVC的Interceptor和Cors冲突
转载请标明出处: https://blog.csdn.net/bingospunky/article/details/80136164 本文出自马彬彬的博客现象项目中前后端分离部署,所以需要解决跨域的问题。 我们使用cookie存放用户登录的信息,在spring拦截器进行权限控制,当权限不符合时,直接返回给用户固定的json结果。 当用户登录以后,正常使用;当用户...原创 2018-04-28 15:58:54 · 8915 阅读 · 5 评论 -
线程池ThreadPoolExecutor源码解析
转载请标明出处: https://blog.csdn.net/bingospunky/article/details/80234457 本文出自马彬彬的博客创建ThreadPoolExecutorExecutorService fixedThreadPool = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISE...原创 2018-05-08 09:05:58 · 2333 阅读 · 0 评论 -
spring源码解析-web系列(八):使用@ResponseBody时中文乱码的解决
乱码的现象先上代码:代码1:@Controllerpublic class TestController { @RequestMapping(value = "/a") @ResponseBody public Object a() throws Exception { MyResponse myResponse = new MyResponse(...原创 2019-08-22 16:51:59 · 1002 阅读 · 0 评论 -
spring源码解析-web系列(七):九大组件之HandlerExceptionResolver
HandlerExceptionResolverHandlerExceptionResolver用来解析请求处理过程中产生的异常。HandlerExceptionResolver的继承关系如下:图1:1.AbstractHandlerExceptionResolver:是所有直接解析异常类的父类,定义了通用的解析流程。2.AbstractHandlerMethodExceptionRe...原创 2019-08-09 11:55:46 · 1391 阅读 · 0 评论 -
spring源码解析-web系列(六):九大组件之ViewResolver
前言ViewResolver的作用是通过ViewName获取到View,从而可以渲染结果。ViewResolver的接口定义如下:代码1 (org.springframework.web.servlet.ViewResolver):public interface ViewResolver { View resolveViewName(String var1, Locale var2...原创 2019-08-06 15:33:27 · 1524 阅读 · 0 评论 -
spring源码解析-web系列(四):九大组件之HandlerAdapter
HandlerAdapterHandlerMapping通过request找到Handler,HandlerAdapter通过Handler来干活。HandlerAdapter的继承关系如下:图1:HandlerAdapter的继承结构很简单,且右边4个类都很简单,只需关注AbstractHandlerMethodAdapter和RequestMappingHandlerAdapter即可...原创 2019-08-04 13:30:28 · 1776 阅读 · 0 评论 -
spring源码解析-web系列(三):九大组件之HandlerMapping
HandlerMappingHandlerMapping的作用就是通过HttpServletRequest查找Handler,Handler后面可以用来处理逻辑的单元,比如我们配置的一个@RequestMapping注解的方法,一个***org.springframework.web.servlet.mvc.Controller***类(该接口已经被废弃了,推荐使用注解)。HandlerMap...原创 2019-07-30 16:36:26 · 2420 阅读 · 0 评论 -
spring源码解析-web系列(一):启动
我们在使用spring-mvc时,一般会: 1、在web.xml中配置一个***contextConfigLocation***参数,值为spring的xml配置文件(不包含controller)路径,然后再配置一个 ***ContextLoaderListener*** 类型的listener。 2、配置一个DispatcherServlet类型的servlet,给该servlet配置contextConfigLocation类型的参数,值为spring的xml配置文件(只包含controller原创 2019-07-25 14:55:53 · 2323 阅读 · 0 评论 -
mybatis源码解析(一)-开篇
mybatis源码解析(一)-开篇 mybatis源码解析(二)-加载过程 mybatis源码解析(三)-SqlSession.selectOne类似方法调用过程 mybatis源码解析(四)-Mapper方法调用过程 mybatis源码解析(五)-mybatis如何实现的事务控制 mybatis源码解析(六)-配合spring-tx实现事务的原理 mybatis源码解析(七)-当my...原创 2018-01-29 16:06:13 · 5434 阅读 · 0 评论 -
mybatis源码解析(四)-Mapper方法调用过程
mybatis源码解析(一)-开篇 mybatis源码解析(二)-加载过程 mybatis源码解析(三)-SqlSession.selectOne类似方法调用过程 mybatis源码解析(四)-Mapper方法调用过程 mybatis源码解析(五)-mybatis如何实现的事务控制 mybatis源码解析(六)-配合spring-tx实现事务的原理 mybatis源码解析(七)-当my...原创 2018-01-31 18:50:38 · 6115 阅读 · 0 评论 -
spring yml properties 配置文件如何生效
spring yml properties 配置文件如何生效原创 2016-01-01 17:09:19 · 11823 阅读 · 0 评论 -
struts2中文乱码
中文乱码害死人啊。原创 2014-08-13 22:10:07 · 2495 阅读 · 0 评论 -
Mybatis传多个参数(三种解决方案)
Mybatis传多个参数(三种解决方案)原创 2016-07-26 03:08:05 · 5918 阅读 · 0 评论 -
MyBatis查询嵌套对象
The association element deals with a "has-one" type relationship. For example, in our example, a Blog has one Author. An association mapping works mostly like any other result.原创 2015-12-29 09:46:57 · 15236 阅读 · 1 评论 -
servlet获取form表单提交的文件
不知不觉,感觉我已经开始走向全栈的道路了,这两天学到了在后端接收前端传递过来的文件数据,由于水平太菜,我准备先使用servlet接收数据。 这篇博客由浅入深记录了我如何实现获取上传的文件、在html协议内容来看如何获取文件、我读Apache Commons FileUpload源码的一点理解。原创 2015-12-27 12:44:31 · 14248 阅读 · 1 评论 -
Java8
相信对于java8这个字眼大家都已经不陌生了,但是对于java8的了解和使用很多人还不是很清楚,甚至很多人还在犹豫着要不要用java8,那么我写这篇文章的目的就是告诉你,你一定要使用java8以及你为什么要使用java8.原创 2014-11-04 10:30:18 · 8837 阅读 · 0 评论 -
java日志组件介绍(common-logging,log4j,slf4j,logback )
java日志组件介绍(common-logging,log4j,slf4j,logback )转载 2016-09-06 10:54:18 · 2372 阅读 · 0 评论 -
java自带线程池和队列详细讲解
转载自:http://blog.csdn.net/sd0902/article/details/8395677一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为转载 2015-03-17 12:04:12 · 2429 阅读 · 1 评论 -
如何下载历史版本jdk
sun的jdk版本更新很快,每隔一段时间,新的jdk就会推出,而有的project如果在用以前的jdk版本,换工作环境需要下载jdk的时候就比较麻烦,下面介绍下如何下载历史版本的jdk: 到jdk的下载页面http://java.sun.com/javase/downloads/index.jsp ,里面有个previous Release链接,点击进去,跳转到历史版本jdk转载 2014-11-07 11:08:52 · 2769 阅读 · 0 评论 -
Java线程池
Java线程池原创 2016-01-07 17:04:44 · 3906 阅读 · 0 评论 -
Stream
Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream。Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggre原创 2016-12-30 14:39:30 · 8410 阅读 · 0 评论 -
《SSO系列三》CAS集群部署时session异常
这篇blog描述了,CAS是如何使用session,以及集群部署服务时可能会遇到的session问题。原创 2017-11-30 17:10:19 · 5781 阅读 · 0 评论 -
《SSO系列二》自己动手写一个SSO
这篇文章介绍一个我学习过程中写的一个Demo,可以让初学者对SSO有一个整体的认识。线上演示我已经把我这个Demo部署在我的服务器上,你可以按照如下步骤体验。原创 2017-11-30 17:02:47 · 7108 阅读 · 1 评论 -
《SSO系列一》初识SSO
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。原创 2017-11-30 16:58:25 · 2516 阅读 · 0 评论 -
socket实现简单web服务器,可查看http请求信息
之前看过一些介绍http协议的资料,比如哪个属性是控制什么的这种内容,但是一直都没有一个对http协议直观的感受。现在正好有时间可以深入理解http了。 这里有一个简单的socket实现的http服务器,该服务器可以查看完整的http的请求信息。原创 2014-09-21 10:54:06 · 2965 阅读 · 0 评论 -
分布式系统原理
一、分布式系统基础重要要点:对外提供无状态节点,内部实现具体有状态或者无状态节点逻辑,节点即可以是提供服务,也可以是存储数据。 拜占庭问题,在分布式系统中的使用,目的是保证服务可用,而不是找出错误的节点,如果。 异常常见情况,机器宕机、网络异常、消息丢失、消息乱序、数据错误、不可靠的TCP。可能是收到消息后宕机、也可能是处理完成以后机器宕机、处理完成任务后发送确认消息是网络异常。也有可能是转载 2017-04-26 16:07:50 · 9941 阅读 · 1 评论 -
netty学习笔记
netty学习笔记原创 2016-10-09 15:15:45 · 10753 阅读 · 0 评论 -
使用javadoc生成API网页文档
使用javadoc命令行生成API网页文档原创 2014-11-17 13:27:53 · 3561 阅读 · 0 评论