
分布式和框架
关于Java的一些框架学习
G0o0o0o
这个作者很懒,什么都没留下…
展开
-
nginx.conf配置
nginx.conf配置location匹配设置worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80原创 2020-09-02 18:20:15 · 211 阅读 · 0 评论 -
了解微服务和RPC(一)
了解微服务和RPC1. 微服务架构微服务是一种开发软件的架构和组织方法,其中软件由通过明确定义的 API 进行通信的小型独立服务组成。这些服务由各个小型独立团队负责。微服务架构使应用程序更易于扩展和更快地开发,从而加速创新并缩短新功能的上市时间。1. 整体式架构与微服务架构通过整体式架构,所有进程紧密耦合,并可作为单项服务运行。这意味着,如果应用程序的一个进程遇到需求峰值,则必须扩展整个...原创 2020-05-07 16:53:36 · 866 阅读 · 0 评论 -
Zookeeper伪集群配置
Zookeeper伪集群配置环境windows 10zookeeper 3.4.14配置步骤1. zoo.cfgnode-1clientPort=2181server.1=127.0.0.1:2888:3888server.2=127.0.0.1:2889:3889server.3=127.0.0.1:2890:3890dataDir=F:/apache-zookeeper/node-1/datadataLogDir = F:/apache-zookeeper/node-1/l原创 2020-05-24 12:13:18 · 194 阅读 · 0 评论 -
负载均衡、服务熔断、服务降级、服务限流(主要是Dubbo)
1. 负载均衡 负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。1.1. dubboString loadbalance() default "";dubbo的四种负载分别是:随机(权重)、轮询(权重)、最少活跃调用数、一致性Hash。1.2. gateway通过服务注册中心的服务名/接口实现负载均衡。实际上gateway原创 2020-08-06 22:51:51 · 3817 阅读 · 0 评论 -
深入理解Apache Dubbo 笔记(一)
深入理解Apache Dubbo 笔记(一)1. 什么是DubboDubbo是阿里SOA服务化治理方案的核心框架,被广泛的应用到阿里的各成员站点。Dubbo是Java类项目中卓越的框架之一。他提供了注册中心机制,解耦了消费和服务方动态问题,并提供了可靠性。采用了微内核+富插件设计思想,包括框架本身都是基于扩展点实现的。2. Dubbo解决的问题单体架构和垂直架构无法满足需求,分布式服务框架及流动计算框架势在必行。Dubbo解决了几个基本的问题:高性能、透明的RPC调用。服务的自动注册和发原创 2020-09-02 15:24:51 · 462 阅读 · 0 评论 -
Spring中的Bean与线程安全
Spring中的Bean是否线程安全和Spring无关。因为Spring只承担了创建和管理Bean的职责,并没有对Bean进行任何修改。因为Ioc并不具备线程安全的特性,但是要看@Scope,原型模式一定是线程安全的,因为每次都需要创建新的对象;如果单例模式的Bean是无状态的,那就是线程安全的,如果不是,则需要通过ThreadLocal来解决线程安全问题,ThreadLocal为每个线程...原创 2019-12-09 18:52:26 · 277 阅读 · 1 评论 -
手写MVC初体验(四)之手写JDBC框架+连接池(初级阶段)
手写MVC初体验(四)之手写JDBC框架(MySQL版本)1. application.propertiesspring.orm.database.driver=com.mysql.jdbc.Driverspring.orm.database.url=jdbc:mysql://123.57.80.77:3344/forum_user?autoReconnect=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&a原创 2020-07-15 23:53:01 · 244 阅读 · 0 评论 -
手写MVC初体验之功能类(三)
手写MVC初体验之功能类(三)目录手写MVC初体验之功能类(三)1. 项目结构2. ApplicationContext3. Reader4. Loader5. Registry6. Wrapper7. Autowire1. 项目结构结构图流程图在(二)中解释了bean的config包下的类的作用。这篇文章记录一下自己在support下的类。reader包:对应上图的BeanDefinitionReader类,用来扫描指定包下的类,将其封装为类路径的String集合。loader包:对应原创 2020-07-12 23:39:30 · 304 阅读 · 0 评论 -
手写MVC初体验之容器基础(二)
手写MVC初体验之容器基础(二)第一版是DispatcherServlet中实现容器。第二版需要从DispatcherServlet中抽离出Ioc和Bean的封装作为ApplicationContext、BeanDefinition、BeanWrapper,然后实现Spring的三级缓存机制。将配置读取功能封装成BeanDefinitionReader。同时在DispatcherServlet中将method封装成Handler。容器文件结构:1. 抽离ApplicationContext原创 2020-07-12 23:33:30 · 270 阅读 · 0 评论 -
Spring源码阅读——Alias
Spring源码阅读——AliasAlias:管理别名的公共接口,定义了别名的增加删除等操作。1. AliasRegistry接口package org.springframework.core;/** * Common interface for managing aliases. Serves as super-interface for * BeanDefinitionRegistry. * 为管理别名设计的公共接口,作为超级接口为BeanDefinitionRegistry服原创 2020-06-22 23:16:10 · 168 阅读 · 0 评论 -
手写MVC初体验(一)
手写MVC初体验(一)这里写目录标题手写MVC初体验(一)一级目录二级目录三级目录1. 知识点2 项目框架3. 注解的编写4. web.xml 配置5. application.properties配置6. DispatcherServlet编写-init初始化1. 继承HttpServlet2. 配置读取3. 扫描包下的类和接口4. 完成Ioc的注入5. 进行依赖注入6.初始化HandlerMapping7. DispatcherServlet编写-doPost/doGet8. 启动**第一版结束,继续原创 2020-06-20 23:25:58 · 565 阅读 · 0 评论 -
Filter向Request添加参数
Filter向Request中添加参数1. 情景系统基于SSM+SpringBoot+JWT。Token中通常会带有用户的信息,需要在后端解析出来作为Controller层的参数,这时就要通过Filter来处理HttpServletRequest了。因为HttpServletRequest是不可改变的,所以要通过HttpServletRequestWrapper 进行包装。采用到了设计模式中的装饰者模式。2. 代码import com.dubbo.config.ParameterRequestW原创 2020-05-27 11:30:40 · 2114 阅读 · 0 评论 -
SpringBoot整合RabbitMQ
SpringBoot整合RabbitMQErlang语言配置、RabbitMQ安装、RabbitMQ plugin安装就不介绍了1. maven依赖 <dependencies> <!--springboot--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId原创 2020-05-10 14:54:28 · 145 阅读 · 0 评论 -
Ioc容器——AnnotationConfigApplicationContext
Ioc容器——AnnotationConfigApplicationContext1. Spring 官方文档You should use an ApplicationContext unless you have a good reason for not doing so, with GenericApplicationContext and its subclass Annotation...原创 2020-04-23 09:42:43 · 414 阅读 · 0 评论 -
Dubbo+Zookeeper+String创建分布式项目
Dubbo+Zookeeper+Spring对于这个东东,我一个新手搞了好长时间,用这篇博客记录一下整个项目搭建的流程。参考博客:https://www.jianshu.com/p/6361a670ebf7https://www.jianshu.com/p/0837b48d1691https://blog.youkuaiyun.com/weixin_40079336/article/details/...原创 2020-04-03 21:50:50 · 178 阅读 · 0 评论 -
Ioc容器——BeanFactory和ApplicationContext
Ioc容器——BeanFactory和ApplicationContext笔记(一)1. Spring Ioc容器说起Ioc容器,就不得不说控制反转和依赖注入了。这是Spring的核心原理,先说一下什么是Ioc容器,可以这么理解Ioc容器,就像一个高级的工厂类,帮助你创建、管理、销毁对象。如果你想要的对象中有引用类型,Ioc就会自动注入。下面说一下什么是控制反转。以前我们写程序都是由程序猿创...原创 2020-02-23 17:37:24 · 475 阅读 · 0 评论 -
@Transactional详解
《Spring Boot 实战-JavaEE开发的颠覆者》@Transactional 是在 spring boot 中的声明式事务@Transactional需要注解在方法,或者类上,表明此方法需要事务支持或者此类中所有的public方法都需要事务支持。同时还要在启动类中加入@EnableTransactionManagement注解@Transactional注解的方法被调用时,spr...原创 2019-08-14 15:11:11 · 537 阅读 · 0 评论 -
Spring + JPA + Mybatis(tk) +Oracle 多数据源配置
1 主数据源和从数据源配置import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.boot.autoconfigure.jdbc.DataSour...原创 2019-12-18 11:41:21 · 253 阅读 · 0 评论 -
Ioc、DI、MVC
IocIoc:Ioc容器是spring的核心,是用来创建,管理,销毁Bean的,Ioc根据配置文件,实例出所有基本的BeanIoc工作流程:大致流程为 加载类配置文件->解析配置文件,完成类的扫描->初始化类,并加入到Ioc容器中。加载配置文件:ApplicationContext先拿到类的路径,然后根据BeanDefinitionReader读取相应类的信息。解析配置文件...原创 2019-12-09 18:49:54 · 162 阅读 · 0 评论 -
@PostConstruct和@PreDestroy是兄弟
@PostConstruct注解的方法在构造方法执行完之后执行。@PreDestroy注解的方法在Bean销毁之前执行注意:这两个方法修饰的一定是非静态的void方法,并且Constructor >> @Autowired >> @PostConstruct话不多说,上代码package com.springboot.gyh.ch2.prepost;pub...原创 2019-12-01 19:07:31 · 176 阅读 · 0 评论 -
Spring注解之@Scope
@Scope@Scope是org.springframework.context.annotation包下的注解,指的是Ioc容器管理对象的作用域,基本作用域有(singleton,prototype),自定义作用域,Web 作用域(reqeust、session、globalsession)。singleton:单例模式,顾名思义,容器中只有一个bean实例对象。prototype:原型...原创 2019-12-01 18:48:08 · 418 阅读 · 0 评论 -
Filter和Interceptor的区别
Filter和Interceptor的区别转载 2019-11-11 10:55:55 · 110 阅读 · 0 评论 -
Ioc与DI
https://www.iteye.com/blog/jinnianshilongnian-1413846转载 2019-11-11 10:55:23 · 124 阅读 · 0 评论 -
JAVA注解笔记之@Inherited
@Inherited@Inherited注解是一种标记注解,作用是允许子类继承父类的注解。@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.ANNOTATION_TYPE)public @interface Inherited {}...原创 2019-10-30 18:09:23 · 230 阅读 · 0 评论 -
JAVA注解笔记之@Retention
@Retention@Retention是java的元注解,用来注解注解的,是注解的注解@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.ANNOTATION_TYPE)public @interface Retention { RetentionPolicy value();}@Retent...原创 2019-10-30 17:39:09 · 819 阅读 · 0 评论 -
JAVA注解笔记之@Document
@Document@Documented 表明这个注解应该被 javadoc工具记录,正常情况下javadoc中不包含注解的,@Documented属于标志注解。@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.ANNOTATION_TYPE)public @interface Documented {}...原创 2019-10-30 16:31:33 · 5852 阅读 · 0 评论 -
JAVA注解笔记之@Target
@Target@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.ANNOTATION_TYPE)public @interface Target { ElementType[] value();}@Target说明了Annotation所修饰的对象范围public enum ElementTy...原创 2019-10-30 15:31:42 · 297 阅读 · 0 评论