自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 资源 (16)
  • 收藏
  • 关注

原创 Java源码之Vector

Java源码之Vector存储实现特征源码分析Vector构造方法如下带初始容量的构造方法继承关系存储实现Vector底层存储实现是通过可变数组来存储元素的特征可以通过数组下标寻找元素,时间复杂度为O(1)对于add(int index, E element) 时间复杂度为O(n),空间复杂度为O(n)Vector是一种查找快速的数据结构源码分析Vector构造方法如下 /** * Constructs an empty vector so that its inte

2020-09-21 09:50:44 98

原创 java异常处理的一些思考

java异常处理的一些思考public class ExceptionTest { public static void main(String[] args) throws Exception { for (int i=0;i<5;i++){ System.out.println(i); if ((i==3)){ catchMethod(); } }

2021-06-01 18:14:10 169

原创 2020-10-19

Java源码之HashSet特征存储实现源码分析构造方法add方法特征HashSet是一个存储不重复元素的数据结构,存储实现HashSet底层存储实现是通过一个HashMap来存储元素的,存储的元素为hashmap的key,值为new Object()源码分析构造方法 /** * Constructs a new, empty set; the backing <tt>HashMap</tt> instance has * default

2020-10-19 16:00:42 175

原创 Java源码之HashMap

Java源码之HashMap特征存储实现源码分析构造方法put方法get方法特征HashMap是一个存储K-V的数据结构,key可以为null 时间复杂度为O(1),空间复杂度为O(n)存储实现HashMap底层存储实现是通过数组链表实现的![在这里插入图片描述](https://img-blog.csdnimg.cn/20201019110841748.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,te

2020-10-19 15:54:12 186

原创 java数据结构总览

java数据结构总览java数据结构总览Collection类介绍java数据结构总览下图为java数据结构的整体介绍Collection类介绍Collection类是java集合层次中的根接口,在Collection源码中介绍到Collection下的元素有 /** * * @author Josh Bloch * @author Neal Gafter * @see Set * @see List * @see Map * @see Sort

2020-07-10 10:33:48 156

原创 Java源码之ArrayList

Java源码之ArrayList存储实现源码分析ArrayList构造方法如下带初始容量的构造方法继承关系存储实现ArrayList底层存储实现是通过数组来存储元素的源码分析ArrayList构造方法如下 /** * Constructs an empty list with an initial capacity of ten. */ public ArrayList() { super(); this.elementData

2020-07-09 19:39:12 148

原创 Consumer Liveness检测机制

Consumer liveness检测机制;Consumer livelock介绍和规避策略  我们都知道能够触发Rebalance的原因有很多,其中就包括Group中新增或者移除Consumer Client。除去客户端主动断开连接会通知Coordinator执行Client的移除操作外,Kafka本身提供了多种机制来检测Consumer liveness(Consumer的消费能力/Consumer的活跃度)。  熟悉的有session.timeout.ms和heartbeat.interv

2020-05-23 10:11:39 423

原创 spring源码阅读之循环依赖的解决

循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA,则它们最终反映为一个环。此处不是循环调用,循环调用是方法之间的环调用。如下图所示:循环调用是无法解决的,除非有终结条件,否则就是死循环,最终导致内存溢出错误。循环依赖的产生和解决的前提循环依赖的产生可能有很多种情况...

2020-04-22 14:47:15 180

转载 spring源码阅读之AbstractBeanFactory与bean的加载过程

AbstractBeanFactory的层次结构一. AbstractBeanFactory的作用api里是这样说的,是抽象BeanFactory的基类,同时实现了ConfigurableBeanFactory的SPI,提供了所有的功能 也可以从我们定义的资源中resource中来获取bean的定义. 也提供了单例bean的缓存通过DefaultSingletonBeanRegis...

2020-04-21 22:28:24 435

原创 spring源码之二:Spring容器启动与单例bean的初始化

在上一篇文章中分析了spring容器的初始化过程,这篇文章分析spring容器的初始化与单例bean的初始化过程这里说一个IDE看源码的过程,有时候你找不到源码之间的调用关系,在方法上使用快捷键CTRL+G,查找方法被调用的过程上一篇文章说过spring通过initWebApplicationContext类的initWebApplicationContext()方法初始化web容器,代码...

2020-04-21 17:09:59 274

原创 spring扩展点之BeanFactoryPostProcessor和BeanPostProcessor

先来看下这两个接口的定义:/* * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance wit...

2020-04-21 16:22:55 304

原创 Spring之一 Spring容器XmlWebApplicationContext实例化与启动过程

XmlWebApplicationContext它既是 DispatcherServlet 的 (WebApplicationContext)默认策略,又是 ContextLoaderListener 创建 root WebApplicationContext(根容器,同时也是 DispatcherServlet 的 WebApplicationContext 的父容器)的默认策略。X...

2020-04-21 12:35:01 1059

原创 关于缓存击穿、缓存雪崩、缓存穿透

设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个在DB中根本不存在的key,由于缓存一般是不命中时被动写入的,如果从存储层查不到数据是不写入缓存,这将导致这个不存在的数据请求每次都要请求到存储层,失去了缓存的意义,流量大的时候,可能会导致DB宕机。解决方案1、采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的bitma...

2019-08-15 10:23:37 105

原创 关于Redis分布式锁

关于Redis分布式锁参考:https://redis.io/topics/distlock关于分布式锁的一些设计要点:安全性保证:互斥,在任何一个时刻,只有一个客户端能获取锁。 可靠性A:不会发生死锁,最终会获取到锁,即使持有锁的客户端宕机。 可靠性B:容错,只要集群中的大多数redis节点正...

2019-08-09 14:19:41 114

原创 Redis学习笔记

Redis学习笔记单线程架构redis使用了单线程架构和I/O多路复用模型来实现高性能的内存数据库服务为什么单线程还能这么快 纯内存访问,Redis将所有数据放在内存中,内存的响应时长大约为100ns 非阻塞I/O,Redis使用epoll作为I/O多路复用技术的实现,再加上Redis自...

2019-08-08 18:20:07 158

原创 KAFKA学习记录

KAFKA学习记录我学习kafka主要是通过《kafka权威指南》这本书,以及网上的一些博客,看书遇到不明白的地方就去网上找一些资料,包括以下几个博客美团的一个技术写的:https://blog.csdn.net/lizhitao/article/details/39499283看书的过程还是...

2019-08-07 15:57:21 132

原创 springboot实现自定义starter

springboot实现自定义starter上一篇文章说了springboot的原理,接下来就来实现自定义的starter创建一个maven工程,名称为hello-starter,pom如下<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www...

2019-07-11 15:28:40 150

原创 springboot原理

springboot原理springboot是一种简化了spring配置的技术,使用“约定优于配置”的架构理念让项目快速运行起来。spring boot核心功能独立运行的spring项目 内嵌servlet容器 提供starter简化maven配置 自动配置 springboot会根据在类路径中的jar包...

2019-07-11 09:40:10 350

原创 spring cloud之Zuul

经过前几篇文章,微服务架构已经初据雏形,思考下,这种架构还有一些问题-不同的微服务一般会有不同的网络地址,而客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有如下的问题客户端会多次请求不同的微服务,增加了客户端的复杂性 认证复杂,每个服务都需要独立认证 难以重构,随着项目的迭代,可能需要重新划分微服务,例如可能将多个服务合并成一个或者将一个服...

2019-07-10 10:38:04 113

原创 spring cloud之Hystrix

雪崩效应:微服务架构的应用系统通常包含多个服务层。微服务之间通过网络进行通信,从而支撑起整个应用系统,因此,微服务之间难免存在依赖关系。任何微服务都并非100%可用,网络往往也很脆弱,因此有些请求会失败。我们常把”基础服务故障“导致”级联故障“的现象称为雪崩效应,雪崩效应描述的是提供者不可用导致消费者不可用,并将不可用逐渐放大的过程。雪崩效应形成过程如上图所示,服务A作为服务提供者(基...

2019-07-09 17:41:09 187

原创 springCloud之Ribbon负载均衡

常见负载均衡算法轮询法:将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。 随机法:通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。由概率统计理论可以得知,随着客户端调用服务端的次数增多,其实际效果越来越接近于平均分配调用量到后端的每一台服务器,也就是轮询的结果。 源地址哈希:源地址哈希的...

2019-07-09 15:49:44 365

原创 springcloud之eureka

在微服务架构中,服务发现组件是一个非常关键的组件,使用服务发现组件后的架构图如下服务提供者、服务发现组件、服务消费者这三者的关系如下各个微服务在启动时,将自己的网络地址等信息注册到服务发现组件(注册中心),服务发现组件会储存这些信息服务消费者可从服务发现组件查询服务提供者的网络地址,并使用该地址调用服务提供者提供的接口各个微服务与服务发现组件之间使用一定机制通信,服务发现组件...

2019-07-07 22:57:31 109

原创 微服务架构

微服务架构:微服务架构就是一种将单一应用程序开发为一组小型服务的方法,每个微服务运行在自己的进程中,服务间采用轻量级通信机制(通常是http资源api),这些服务围绕业务能力构建并且可以通过独立部署,服务可用不同的语言开发,使用不同的数据存储技术。微服务架构特性:每个微服务运行在独立的进程里。 一系列独立运行的微服务共同构建起整个系统 每个服务为独立的业务开发,一个微服务只关注某个特定...

2019-07-07 17:14:05 268

原创 springcloud学习记录

最近几年微服务比较流行,所以趁着周末把最近学习的微服务以及微服务框架过程记录下来,一方面是加深学习印象,另一方面是为了日后复习用的。关于微服务的一些概念这里就不重复了,有需要的可以去网上找些资料来看看。我这边学习参考的主要有两本书,一本是《Spring Cloud微服务实战》,另一本是《Spring Cloud与Docker微服务架构实战》网上都有pdf版本,先看下pdf版本的,觉得还不错的可...

2019-07-07 16:47:41 85

原创 设计模式学习

最近在学习设计模式,在网上看到一系列很优秀的关于设计模式的文章,给出博客地址去看原文https://blog.csdn.net/LoveLion/article/details/17517213

2019-06-19 14:54:40 94

原创 Redis开发与运维读书笔记

Redis开发与运维读书笔记虽然一直使用redis,但是对redis缺少整体的一个学习,这两天趁着有时间就把这本书拿出来看了下,这本书应该来说是很有阅读空间的,读的过程做了些笔记,相当于备忘单线程架构redis使用了单线程架构和I/O多路复用模型来实现高性能的内存数据库服务为什么单线程还能这么快 纯内存访问,Redis将所有...

2019-04-23 19:05:31 271

原创 Mysql技术内幕:InnoDb存储引擎读书笔记

2019-04-06 21:52:01 351

原创 ThreadLocal原理解析

ThreadLocal原理解析 import java.util.concurrent.atomic.AtomicInteger; public class ThreadId { // Atomic integer containing the next thread ID to be assigned ...

2019-03-31 19:11:35 160

原创 elasticsearch的内部分片原理

elasticsearch的内部分片原理我们知道elasticsearch的搜索是基于倒排索引,倒排索引被写入磁盘后是不可改变的:它永远不会修改。不变性有重要的价值:不需要锁。如果你从来不更新索引,你就不需要担心多进程同时修改数据的问题。 一旦索引被读入内核的文件系统缓存,便会留在哪里,由于其不变性。只要文件系统缓...

2019-03-28 12:53:11 1317

原创 elasticsearch之分布式搜索过程

elasticsearch之分布式搜索过程elasticsearch搜索被执行成一个两阶段过程,我们称之为query then fetch查询阶段:在初始查询阶段时,查询会广播到索引中每一个分片拷贝(主分片或者副本分片)。 每个分片在本地执行搜索并构建一个匹配文档的 _优先队列_。一个优先队列仅仅是一个存有top-n匹配文档的...

2019-03-28 10:14:31 247

原创 elasticsearch之查询

elasticsearch之查询Elasticsearch 使用一种称为倒排索引的结构,它适用于快速的全文搜索。一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,有一个包含它的文档列表例如,假设我们有两个文档,每个文档的content域包含如下内容:The quick brown fox jum...

2019-03-27 19:30:24 141

原创 【springMvc学习记录之一】spring DispatcherServlet

【springMvc学习记录之一】DispatcherServletspringMvc model-view-controller (MVC)是spring为web开发提供的一个框架。这个框架就是围绕DispatcherServlet类来设计。springMvc框架类似于其他mvc框架,都是由请求驱动的(request-driven)。Disp...

2019-03-25 18:59:51 231

原创 spring container

spring containerorg.springframework.context.ApplicationContext接口代表一个spring container,它通过读取元数据来初始化、配置和组装beans。元数据的变现形式一般为xml配置文件、java注解、java代码。元数据允许开发者表达组成应用程序的对...

2019-03-25 15:00:42 894

原创 Spring之基于注解的容器配置

Spring之基于注解的容器配置@Required@required注解用于bean的property注解,egpublic class SimpleMovieLister { private MovieFinder movieFinder; @Required public void setMovieF...

2019-03-25 12:41:15 181

原创 spring容器扩展之FactoryBean

Spring容器扩展之FactoryBean FactoryBean接口是Spring IoC容器实例化逻辑的扩展点。一、区别FactoryBean和BeanFactory首先不要混淆FactoryBean和BeanFactory。BeanFactory直译是生产Bean的工厂,在Srping中就是容器,常用的Applica...

2019-03-25 10:54:39 409 1

原创 spring容器扩展之BeanFactoryPostProcessor

spring容器扩展之BeanFactoryPostProcessorpring允许BeanFactoryPostProcessor在容器创建bean之前读取bean配置元数据,并可进行修改。例如增加bean的属性和值,重新设置bean是否作为自动装配的侯选者,重设bean的依赖项等等。在srping配置文件中可以同时配置多个BeanFactoryPo...

2019-03-24 23:15:22 169

原创 spring 容器扩展之BeanPostProcessor

spring 容器扩展之BeanPostProcessorspring的BeanPostProcessor接口给开发者提供了一个容器扩展的入口,在Spring容器完成Bean实例化和属性设置后,并且在bean调用初始化方法之前或之后。因此BeanPostProcessor(Bean后置处理器)常用在:对bean内部的值进行修改;实现Bean的动态...

2019-03-24 22:56:01 263

原创 spring bean 生命周期

spring bean 生命周期spring bean的生命周期从容器启动开始到容器停止运行,如图代码如下package com.spring.model;import org.springframework.beans.factory.DisposableBean;import org.springfra...

2019-03-24 19:56:50 180

原创 spring aware

Aware,是感应和感知的意思。当bean实现了对应的Aware接口时,BeanFactory会在生产bean时根据它所实现的Aware接口,给bean注入对应的属性,从而让bean获取外界的信息。aware的层次结构如下简单分析下各个接口的使用org.springframework.context.ApplicationContextAware接口实现该接口的类将会获取App...

2019-03-24 16:23:00 153

原创 spring容器生命周期回调

spring容器生命周期回调上一篇文章中我们谈了spring bean生命周期回调,这些都是建立在容器已经启动的前提下,那么如果想参与spring 容器的生命周期回调,我们该怎办?spring提供了一些接口Lifecycle接口如下public interface Lifecycle { void star...

2019-03-24 15:09:29 758

Redis开发与运维PDF

Redis开发与运维PDF,这本书比较全面,值得花点时间去认真阅读

2019-04-23

jdk7 64位免安装版part2

jdk7 64位绿色免安装版本,因为csdn上传的文件不能大于60M,所以分为三部分,下载后解压到同一个文件夹,然后配置环境变量就可以了

2017-10-23

jdk7 64位免安装版part3

jdk7 64位绿色免安装版本,因为csdn上传的文件不能大于60M,所以分为三部分,下载后解压到同一个文件夹,然后配置环境变量就可以了

2017-10-23

axis2-eclipse服务端插件

WebService Axis2框架根据java class 生成wsdl文件的插件,解压后把文件放到eclipse安装目录的plugins文件夹下就行,具体使用可以看我的博客

2017-09-26

axis2-eclipse插件

WebService框架axis2自动生成代码插件,可以根据指定的wsdl文件自动生成客户端代码,解压后把文件放到eclipse安装目录下的plugins文件夹就可以了

2017-09-26

ssh整合demo(包括jar包以及数据库sqlserver)

自己做的ssh整合登录demo,包括sqlserver数据库文件以及引用的jar包,很详细的哦

2014-03-27

jquery权威指南(第二版)源码 陶国荣

陶国荣的《jquery权威指南》第二版附书上的源码实例

2013-12-17

struts2帮助文档(中文)

struts2的帮助文档,中文的,遇到不懂得就去看看,很不错

2013-06-13

如何学习J2EE

j2ee包含的内容很多,初学者可能会感到很乱,特别整理了一些关于J2EE的内容以及学习J2EE的资源网站,感兴趣的可以下下来看看

2013-06-13

课程设计 软件园

这学期刚做的课程设计,使用java编写的软件园,实现软件的上传与下载,数据库使用sql sewrver2008,服务器使用jboss5.0 ,包含完整的代码和文档,导入工程即可运行,

2013-06-13

操作系统卷子(集美大学)

操作系统这门课的内容还是挺多的,可以看一看

2013-06-13

软件工程卷子(集美大学)

好像是上一级的软件工程卷子,有样卷复习就比较有方向性

2013-06-13

(集美大学)软件工程复习大纲

软件工程的复习大纲,给复习一个指导,软件工程的内容还是比较多的

2013-06-13

学生成绩管理系统

1) 输入n个同学的学号,姓名,m门课程成绩。 2) 计算出平均成绩。以平均成绩降序输出成绩表。 3) 输出全组各科平均分,最高分和最低分。 4) 输入姓名或学号查询成绩

2012-09-01

网上农产品推销

这是针对网上农产品推销的申办系统。用户类型有系统管理员,商家、产家用户。

2012-09-01

空空如也

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

TA关注的人

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