- 博客(25)
- 收藏
- 关注
转载 Java垃圾回收机制
原文链接:http://www.cnblogs.com/dolphin0520/p/3783345.html本文的大纲:如何确定某个对象是“垃圾”典型的垃圾收集算法典型的垃圾收集器一、如何确定某个对象是“垃圾”在java中是通过引用来和对象进行关联的,也就是说如果要操作对象,必须通过引用来进行,那么很显然一个简单的方法就是通过引用计数来判断一个对象是否可以被回收。 如果一个对象没有...
2019-04-28 14:49:43
139
转载 Spring MVC运行流程
原文参考:https://blog.youkuaiyun.com/z_ssyy/article/details/82153487spring mvc简介与运行原理Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等,甚至还能支持文件上传。(1) Ht...
2019-04-23 15:13:54
192
原创 HashMap 和 HashTable 以及ConcurrentHashMap 结构及区别
HashMap (数组 + 链表 + 红黑树(链表长度超过8会变成红黑树))非线程安全原因:1.添加元素:哈希碰撞时 add 添加元素时是通过头结点来添加的, 这时候就会存在多线程安全问题 (A写入新的头结点后、B也写入新的头结点),B的写入操作就会覆盖A的2.删除键值元素:同上,, 多线程修改的时候 其中一个线程修改的时候 把自己内存的数据写回去的时候,可能其他的线程已经把这个位置修改...
2019-04-17 11:20:30
222
原创 MySQL学习笔记(2) —— 索引优化分析
导致SQL性能下降、执行时间长、等待时间长的原因:查询语句写的烂索引失效(单值、复合)关联查询太多join(设计缺陷或者不得已的需求)服务器调优及各个参数设置(缓冲、线程数等)SQL解析顺序1.sql书写顺序SELECT DISTINCT < select_list >FROM < left_table > < join_type ...
2019-04-12 17:30:46
237
原创 MySQL学习笔记(1) —— 存储引擎简介
一、存储引擎1.mysql 引擎存储引擎查看:show engines;对比项MyISAMInnoDB主外键不支持支持事务不支持支持行表锁表锁,即使操作一条记录也会锁住整个表,不适合高并发的操作行锁,操作时只锁某一行,不对其它行有影响,适合高并发操作缓存只缓存索引,不缓存真实数据不仅缓存索引还要缓存真实数据,对内存要求较高,而且内存大小对...
2019-04-12 17:29:56
112
原创 MyBatis框架及源码分析(3)—— MyBatis的一级缓存及二级缓存
实际上我们在MyBatis框架及源码分析(2)中的SQL查询源码分析中已经接触到了缓存问题,只是上篇文章中没有做分析。一级缓存介绍在应用运行过程中,我们有可能在一次数据库会话中,执行多次查询条件完全相同的SQL,MyBatis提供了一级缓存的方案优化这部分场景,如果是相同的SQL语句,会优先命中一级缓存,避免直接对数据库进行查询,提高性能。具体执行过程如下图所示。每个SqlSession会...
2019-03-26 14:50:05
189
原创 MyBatis框架及源码分析(2)—— MyBatis的SQL查询流程
上一篇分析了 MyBatis的初始化流程及源码。本篇我们继续分析MyBatis的SQL查询流程。PS:本文参考来源:https://www.cnblogs.com/luoxn28/p/6417892.htmlMyBatis的SQL查询流程SQL语句的执行才是MyBatis的重要职责,该过程就是通过封装JDBC进行操作,然后使用Java反射技术来完成JavaBean对象到数据库参数之间的相互转...
2019-03-26 10:51:46
191
原创 MyBatis框架及源码分析(1)—— MyBatis初始化源码
Mybatis作为一款非常火的ORM框架,虽然我们一直在用,但是一直都没有去仔细了解它的底层,这次决心好好研究一下Mybatis。Mybatis 是支持定制化SQL、存储过程以及高级映射的优秀的持久化层框架,主要完成2件事情:封装JDBC操作利用反射打通Java类与SQL语句之前的相互转换一、Mybatis 的配置Mybatis的配置文件格式大致如下:<?xml versio...
2019-03-22 09:34:13
187
转载 深入解析spring中用到的九种设计模式
深入解析spring中用到的九种设计模式原文地址:http://www.cnblogs.com/yuefan/p/3763898.html设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。今天,螃蟹在IT学习者网站就设计模式的内在价值做一番探讨,并以spring为例进行讲解,只有领略了其设计的思想理念,才能在工作学习中运用到“无形”。Sp...
2019-03-22 08:44:28
184
原创 Dubbo 学习笔记(2)—— 快速入门
一、windows安装Zookeeper1.下载 zookeeper地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.13/2.解压 zookeeper解压运行 zkServer.cmd, 初次运行会报错,没有zoo.cfg配置文件3.修改zoo.cfg配置文件将conf下的zoo_sample.cfg复制一份改名为...
2019-03-18 10:24:23
249
原创 Dubbo 学习笔记(1)—— 基础概念
我们刚刚学习完了 Spring Cloud,对微服务有了一定的认识,现在我们来学习了解下dubbo一、Dubbo简介Apache Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,它提供了三个核心能力:面向接口的远程方法调用智能容错和负载均衡服务自动注册和发现二、基本概念节点角色说明:服务提供者(Provider):暴露服务的服务提供方,服务提供者在启动时,向...
2019-02-21 16:02:14
187
原创 SpringCloud学习笔记(11)——消息驱动的微服务:Spring Cloud Sleuth
Spirng Cloud Sleuth 为微服务架构增加分布式服务跟踪能力。快速入门1.准备工作在引入 Sleuth 之前,我们先按照之前章节学习的内容来做一些准备工作,构建一些基础的设施和应用。服务注册中心:eureka-server微服务应用:trace-1,实现一个 REST 接口/trace-1,调用该接口将触发对trace-2应用的调用。具体实现如下所述。创建一个基...
2019-02-14 15:23:15
228
原创 SpringCloud学习笔记(10)——消息驱动的微服务:Spring Cloud Stream
Spring Cloud Stream 是一个用来为微服务应用构建消息驱动能力的架构,它为一些供应商的消息中间件产品提供了个性化的自动化配置实现,并且引入了发布-订阅、消费组以及分区这三个核心概念。简单的说,Spring Cloud Stream本质上是整合了Spring Boot和Spring Integration,实现了一套轻量级的消息驱动的微服务框架。一、快速入门创建一个基础的Spr...
2019-02-01 17:39:04
320
原创 SpringCloud学习笔记(9)——消息总线:Spring Cloud Bus
一、背景在微服务架构的系统中,我们通常会使用轻量级的消息代理来构建一个共用的消息主题让系统中所有微服务实例都连接上来,由于该主题中产生的消息会被所有实例监听和消费,所以我们称它为消息总线。Spring Cloud 作为微服务架构综合性的解决方案,对此自然也有自己的实现,这就是我们本章要具体介绍的Spring Cloud Bus.二、消息代理.消息代理是一种消息验证、传输、路由的架构模式。它...
2019-01-30 17:24:33
307
原创 SpringCloud学习笔记(8)——分布式配置中心:Spring Cloud Config
一、背景在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。Spring Cloud Config 分为服务端和客户端两个部分。其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并未客户端提供获取配置信息、加密/解密信息等访问接口. 它支持配置文件放在在配置服务的内存中,也支持放在远程Git仓库里引入spring cl...
2019-01-24 10:11:29
200
原创 Java核心技术——泛型高级进阶
之前对泛型这一块儿的内容学习有点疏漏,现在抽空补一下。原文参考:https://blog.youkuaiyun.com/harvic880925/article/details/49883589类型绑定1.定义有时候,你会希望泛型类型只能是某一部分类型,比如操作数据的时候,你会希望是Number或其子类类型。这个想法其实就是给泛型参数添加一个界限。其定义形式为:此定义表示 T 是 Bounding...
2019-01-16 19:56:41
224
原创 SpringCloud学习笔记(7)——API网关服务:Spring Cloud Zuul
一、背景介绍通过前面几张的的学习,我们可以设计出类似上图的基础系统架构.在该架构中,我们的服务集群包含内部服务ServiceA和ServiceB, 它们都会向Eureka Server集群进行注册与订阅服务,而OpenService是一个对外的RESTfulAPI服务,它通过FS、 Nginx等网络设备或工具软件实现对各个微服务的路由与负载均衡,并公开给外部的客户端调用。在本章中,我们将把...
2019-01-15 16:38:35
245
原创 SpringCloud学习笔记(6)—— 声明式服务调用:Spring Cloud Feign
Spring Cloud Feign 整合了Spring Cloud Ribbon 与 Spring Cloud Hystrix,除此之外它还提供了一种声明式的Web服务客户端定义方式。 Feign在RestTemplate的基础上对其封装,由它来帮助我们定义和实现依赖服务接口的定义。快速入门我们继续使用之前实现的hello-service 服务,这里我们会通过 Spring Cloud Fe...
2019-01-09 19:56:10
185
原创 SpringCloud学习笔记(5)—— 服务容错保护:Spring Cloud Hystrix
在微服务架构中,我们将系统拆分为很多个服务,各个服务之间通过注册与订阅的方式相互依赖,由于每个单元都是在各自的进程中运行,依赖通过远程调用的方式执行,就有可能由于网络原因或者服务自身的问题导致调用故障或延迟,进而出现一些列问题。为了解决这一系列的问题,断路器等一系列服务保护机制出现了。 在微服务架构中,存在很多单元,若其中一个单元出现故障,容易因为依赖关系而引发故障的蔓延,最终导致系统瘫痪,为了...
2019-01-04 09:01:22
258
1
原创 SpringCloud学习笔记(4)—— 客户端负载均衡:Spring Cloud Ribbon
Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,而已让我们将面向服务的REST模板请求自动转换成客户端负载均衡的服务调用。客户端负载均衡硬件负载均衡:主要通过服务器节点之间安装专门用于负载均衡的设备,比如F5软件负载均衡:通过在服务器上安装一些具有均衡负载功能或模块的软件来完成...
2018-12-27 17:57:50
350
1
原创 SpringCloud学习笔记(3)—— 服务治理:Spring Cloud Eureka
Spring Cloud Eureka 是Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能。我们将学习下面的这几个核心内容构建服务注册中心服务注册与服务发现Eureka 的基础架构Eureka 的服务治理机制Eureka 的配置一、服务治理服务治理可以说是微服务架构中最为核心和基...
2018-12-20 15:21:11
183
原创 SpringCloud学习笔记(2)—— 微服务构建:SpringBoot
在展开Spring Cloud的微服务架构部署之前,我们需要先了解一下用于构建微服务的基础框架——Spring Boot.这里介绍SpringBoot的目的除了它是Spring Cloud的基础之外,也由于其自身的各项优点,如自动化配置、快速开发、轻松部署等,非常适合用作微服务架构中各项具体微服务的开发框架。 我们将从下面这些内容来学习了解SpringBoot:如何构建Spring...
2018-12-17 18:12:35
293
原创 ActiveMQ学习笔记(1)
ActiveMQ是Apache的一个开源项目,它是一个能力强劲的开源消息总线,也是一个中间件产品。它是JMS的一个实现。在介绍ActiveMQ之前,先来复习一下J2EE中的JMS规范。JMS是Java Message Service的简称,用来发送异步消息,在不同系统和不同的模块之间我们可以利用它实现集成。JMS有两个好处,第一个就是让模块之间或者系统之间的耦合度降低,第二个是异步通信。J...
2018-12-07 16:09:14
112
原创 Spring Cloud 学习笔记(1) 基础知识
Spring Cloud 学习笔记(1) 基础知识Spring Cloud 是一个基于SpringBoot实现的微服务架构开发工具。它为微服务架构中涉及的配置管理、服务治理、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。一. 微服务与微服务架构微服务微服务英文名称Microservice,Microservice架构模...
2018-12-06 19:19:42
288
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人