随笔分类 -  Java

摘要:线程池ThreadPool 线程池概念 常用线程池和方法 1.测试线程类 2.newFixedThreadPool固定线程池 3.newSingleThreadExecutor单线程池 4.newCachedThreadPool缓存线程池 5.newScheduledThreadPool定长线程池 阅读全文
posted @ 2019-08-11 18:02 林宇风 阅读(1061) 评论(3) 推荐(0)
摘要:RabbitMQ死信队列 场景说明 代码实现 简单的Util 生产者 消费者 场景说明 场景: 当队列的消息未正常被消费时,如何解决? 消息被拒绝并且不再重新投递 消息超过有效期 队列超载 方案: 未被消费的消息,可通过"死信队列"重新被消费 死信队列含义,发生以上情况时,该队列上的消息,可通过配置 阅读全文
posted @ 2019-08-10 17:52 林宇风 阅读(512) 评论(0) 推荐(0)
摘要:RabbitMQ消息队列 一、Hello World 1.amqp-client客户端依赖 2.Rabbitmq类与方法 二、交换机类型 Exchange Type 1.消息轮询分发(Round Robin) 2.消息公平分发(Fair Dispatch) 3.发布与订阅模式(Publish/Sub 阅读全文
posted @ 2019-08-04 12:00 林宇风 阅读(572) 评论(1) 推荐(1)
摘要:OSI 7层模型: OSI参考模型各层解释常用协议 应用层 为应用程序提供服务 http https smtp 表示层 数据格式转化,数据加密 会话层 建立/维护/管理会话 传输层 建立/维护/管理端对端的连接 TCP UDP 网络层 IP选址及路由选择 数据链路层 提供介质和链路访问 物理层 物理 阅读全文
posted @ 2019-04-25 22:31 林宇风 阅读(166) 评论(0) 推荐(0)
摘要:类加载机制 双亲委派模型 垃圾回收算法 CMS G1 类加载机制 双亲委派模型 双亲委派模型: 需要加载一个类,先委托父类加载,父类找父类,依次递归加载;加载不到再由自己加载 垃圾回收算法 JVM的内存结构包括五大区域:程序计数器、虚拟机栈、本地方法栈、堆区、方法区. 程序计数器、虚拟机栈、本地方法 阅读全文
posted @ 2019-04-25 22:21 林宇风 阅读(215) 评论(0) 推荐(0)
摘要:Spring Cloud Bus 1.服务端配置 pom.xml application.yml 2.客户端配置 pom.xml application.yml Controller.java 3.自动刷新配置 服务架构 在分布式配置中,客户端获取远程最新配置时(比如:Git),要手动发送POST请 阅读全文
posted @ 2019-01-01 17:40 林宇风 阅读(957) 评论(0) 推荐(0)
摘要:Spring Cloud RabbitMQ pom.xml application.yml 提供者 消费者 队列配置 单元测试 通过消息队列MQ做为通信中心,这里采用RabbitMQ.安装方参考: https://www.cnblogs.com/linyufeng/p/9883905.html 也可 阅读全文
posted @ 2019-01-01 16:31 林宇风 阅读(1529) 评论(0) 推荐(0)
摘要:Spring Cloud Config 1.github配置 2.服务端配置 pom.xml application.xml Application.java 3.配置和命名 1. 配置加载顺序 2. 客户端命名规则 4.客户端配置 pom.xml application.yml Controlle 阅读全文
posted @ 2019-01-01 15:42 林宇风 阅读(865) 评论(0) 推荐(0)
摘要:Spring Cloud Zuul 1.pom.xml 2.application.yml Application.java 1.pom.xml <!-- zuul 网关服务 --> <dependency> <groupId>org.springframework.cloud</groupId> 阅读全文
posted @ 2019-01-01 14:22 林宇风 阅读(347) 评论(0) 推荐(0)
摘要:Spring Cloud Hystrix DashBoard 1.监控系统配置 pom.xml application.yml Application.java 2.被监控服务配置 pom.xml application.yml 3.集群监控配置 pom.xml application.xml Ap 阅读全文
posted @ 2019-01-01 12:58 林宇风 阅读(621) 评论(0) 推荐(0)
摘要:Spring Cloud Hystrix 1.RestTemplate 容错 pom.xml application.yml application.java HelloService.java Controller.java 2.FeignClient 容错 pom.xml application 阅读全文
posted @ 2018-12-29 21:45 林宇风 阅读(429) 评论(0) 推荐(0)
摘要:Spring Cloud Feign 1. pom.xml 2. application.yml 3. Application.java 4. Client.java 简化RestTemplate调用形式 1. pom.xml <!-- feign 声明式服务调用 --> <dependency> 阅读全文
posted @ 2018-12-27 22:34 林宇风 阅读(478) 评论(0) 推荐(0)
摘要:Spring Cloud Eureka 1.Hello-Service服务端配置 pom.xml application.yml 启动两个service 2.Ribbon客户端配置 pom.xml application.yml Application.java Controller.java 3. 阅读全文
posted @ 2018-12-27 22:22 林宇风 阅读(598) 评论(0) 推荐(0)
摘要:Spring Cloud Eureka 1.服务端配置 pom.xml application.yml Application.java 2.客户端配置 pom.xml application.yml 新建HelloController.java 3.优化pom引用 父项目:spring-cloud 阅读全文
posted @ 2018-12-27 21:37 林宇风 阅读(579) 评论(0) 推荐(0)
摘要:Spring Cloud Spring Boot 简介 模块介绍 文章列表 简介 微服务已经成为企业开发的标配,阿里的Dubbo已经被企业大规模使用,Spring Cloud作为后起之秀,同时也是 Spring全家桶Spring家族的成员,未来前景一片光明,是时候开始研究学习了. 网上大部分文章都是 阅读全文
posted @ 2018-12-26 23:24 林宇风 阅读(980) 评论(0) 推荐(0)
摘要:CountDownLatch CyclicBarrier Semaphore 1.CountDownLatch 2.CyclicBarrier 3.Semaphore 搞明白 线程 锁和多线程系列 1.CountDownLatch CountDownLatch拥有类似线程计数器的功能, 每个线程执行 阅读全文
posted @ 2018-11-21 10:23 林宇风 阅读(591) 评论(0) 推荐(0)
摘要:生产者 消费者 Condition BlockingDeque 1.wait notifyAll 2.ReentrantLock Condition 3.BlockingDeque 搞明白 线程 锁和多线程系列 1.wait notifyAll 首先使用最传统的wait notifyAll sync 阅读全文
posted @ 2018-11-21 09:32 林宇风 阅读(644) 评论(0) 推荐(0)
摘要:重入锁 中断锁 公平锁 读写锁 自旋锁 1.重入锁 2.中断锁 3.公平锁 4.读写锁 5.自旋锁 搞明白 线程 锁和多线程系列 1.重入锁 在类中有 synchronized 方法A 和 synchronized 方法B,并在A中调用B,就形成了重入锁.获得A的对象锁,可以直接调用B,并不需要重新 阅读全文
posted @ 2018-11-20 22:58 林宇风 阅读(4910) 评论(0) 推荐(1)
摘要:多线程 synchronized锁 重入锁 读写锁 1.synchronized锁 2.Lock接口 3.ReentrantLock重入锁 4.ReentrantReadWriteLock读写锁 搞明白 线程 锁和多线程系列 1.synchronized锁 锁分为 类锁 和 对象锁, 方法锁和私有锁 阅读全文
posted @ 2018-11-20 22:22 林宇风 阅读(402) 评论(0) 推荐(1)
摘要:线程 锁Synchronized 1.线程创建 1.1 继承Thread类 1.2 实现Runnable接口 1.3 实现Callable接口 使用方式 2.线程安全 搞明白 线程 锁和多线程系列 1.线程创建 线程创建常见的三种方式: 继承Thread类 实现Runnable接口 实现Callab 阅读全文
posted @ 2018-11-20 21:37 林宇风 阅读(1105) 评论(0) 推荐(0)