12 2021 档案
线程之间数据共享实践
摘要:在JVM运行时内存管理之线程共享中已经分享了线程共享内存三部分:堆、metaspace、常量池。那怎么验证数据共享在这些区域呢?通过以下几种方式进行处理: 1、将数据抽象成一个类,并将数据的操作作为这个类的方法,只要在方法上加” synchronized“数据访问即可(参考Java线程间通讯——等待 阅读全文
posted @ 2021-12-31 10:13 池塘里洗澡的鸭子 阅读(494) 评论(0) 推荐(0) 编辑
线程池实现原理
摘要:在Java线程的实现/创建方式中介绍了集中线程创建的方式,最后一种是线程池的方式创建线程。那么线程池是基于什么样的原理实现的呢?线程复用——参考多线程设计模式之Worker Thread模式中自定义线程池的使用。 1、线程复用原理: 每一个 Thread 的类都有一个 start 方法。 当调用 s 阅读全文
posted @ 2021-12-30 11:08 池塘里洗澡的鸭子 阅读(955) 评论(0) 推荐(0) 编辑
FutureTask类的get方法如何实现线程同步等待
摘要:在JDK中实现线程同步等待闭环(FutureTask/Future),为什么使用了FutureTask中的get方法就可以实现线程的同步等待?这就将重点讲述下FutureTask这个类了,实际上Future接口和实现Future接口的FutureTask类,表示异步计算的结果。其UML类继承图,如下 阅读全文
posted @ 2021-12-29 15:41 池塘里洗澡的鸭子 阅读(1275) 评论(0) 推荐(0) 编辑
线程基本方法及其对线程状态的影响
摘要:Java线程的实现/创建方式实现/创建了线程,那么线程设置了哪些状态及线程对象方法对这些状态有什么样的改变呢? 首先看看线程设置了哪些状态: 通过上图可知,Thread使用内部枚举类State设置了其6中状态:new, runnable, blocked, waiting, timed_waitin 阅读全文
posted @ 2021-12-28 12:54 池塘里洗澡的鸭子 阅读(82) 评论(0) 推荐(0) 编辑
Java线程的实现/创建方式
摘要:1、继承Thread类: Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。 启动线程的唯一方法就是通过 Thread 类的 start()实例方法。 start()方法是一个 native 方法,它将启动一个新线程,并执行 run()方法。 2、实现Runnab 阅读全文
posted @ 2021-12-28 10:31 池塘里洗澡的鸭子 阅读(219) 评论(0) 推荐(0) 编辑
Spring生命周期管理之SmartLifecycle,LifecycleProcesso接口详述
摘要:Spring Boot run方法启动后相应的服务也随之启动,这个操作很妙。使用者都不用关心什么服务怎么启动,不管多少个服务怎么启动只要符合Spring Boot的启动规则都可以使用其run方法同一启动。 Spring Boot run()方法剖析 - 池塘里洗澡的鸭子 - 博客园 (cnblogs 阅读全文
posted @ 2021-12-15 13:06 池塘里洗澡的鸭子 阅读(465) 评论(0) 推荐(0) 编辑
Spring Cloud之Ribbon负载均衡及其应用
摘要:nginx - 随笔分类 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中涉及到负载均衡,为何此处由涉及Ribbon负载均衡呢?那是因为ngnix是服务端的负责均衡,而Ribbon是客户端的负载均衡。 对于负载均衡理论相关的内容nginx - 随笔分类 - 池塘里洗澡的鸭子 - 博客园 阅读全文
posted @ 2021-12-10 14:15 池塘里洗澡的鸭子 阅读(76) 评论(0) 推荐(0) 编辑
Spring Boot run()方法剖析
摘要:Spring Boot自动配置部分重点介绍了相关注解,关于main中调用的run方法并没有阐述过。run方法的作用是什么呢?只有注解没有main里的run方法Spring Boot工程就好比身体个方面机能都比较好除了大脑不工作的植物人;run方法指挥各项注解有序进行工作。 下面分析Spring Bo 阅读全文
posted @ 2021-12-10 09:24 池塘里洗澡的鸭子 阅读(572) 评论(0) 推荐(0) 编辑
Spring Cloud之Eureka Server启动过程
摘要:前面对Eureka的服务端及客户端的使用均已成功实践,对比Zookeeper注册中心的使用区别还是蛮大的: P:分区容错性(⼀定的要满⾜的)C:数据⼀致性 A:⾼可⽤;CAP不可能同时满⾜三个,要么是AP,要么是CP。 就使用而言最明显就是Zookeeper需要安装3个或3个以上服务端安装启用才能构 阅读全文
posted @ 2021-12-09 12:11 池塘里洗澡的鸭子 阅读(720) 评论(0) 推荐(0) 编辑
Spring事件驱动模型——publish如何将多个Event和多个Listener进行无误差匹配
摘要:Spring常用配置之Application Event(事件)中通自定义简单的Event和Listener阐述了Spring中publish的运行机制。实际上很多框架都利用到了Spring的这个特性,那么对于Spring而言其是如何做到Event与Listener匹配无误的呢?下面通过源码跟踪分析 阅读全文
posted @ 2021-12-09 11:45 池塘里洗澡的鸭子 阅读(442) 评论(0) 推荐(0) 编辑
Spring Cloud之微服务注册到Eureka Server集群后访问改造
摘要:上篇Spring Cloud之服务注册中心搭建Eureka Server服务注册中⼼ - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)已经已经成功将两个微服务注册到集群中,那么能正常能与注册前一样进行正常访问么?如果能,比之前没有注册到集群的访问优化了哪些内容呢? 首先看看注册集群之前的 阅读全文
posted @ 2021-12-08 11:07 池塘里洗澡的鸭子 阅读(168) 评论(0) 推荐(0) 编辑
Spring Cloud之微服务注册到Eureka Server集群
摘要:在Spring Cloud之服务注册中心搭建Eureka Server服务注册中⼼ - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中已经搭建好了Eureka Server集群,本文就利用该集群注册微服务。 两个微服务已提供,现对这两个微服务注册至Eureka Server进行改造: 1 阅读全文
posted @ 2021-12-08 04:22 池塘里洗澡的鸭子 阅读(102) 评论(0) 推荐(0) 编辑
Spring Cloud之服务注册中心搭建Eureka Server服务注册中⼼
摘要:Spring Cloud并不与Spring MVC类似是一个开源框架,而是一组解决问题的规范;其是微服务架构应用的集大成者。微服务架构的核心关键点总结可参考如下图示: 1、服务治理:作为消费者如何访问并调用服务提供者所提供的的服务,作为服务提供在如何能让服务消费者知道并消费呢?在传统应用开发时通常是 阅读全文
posted @ 2021-12-06 11:49 池塘里洗澡的鸭子 阅读(63) 评论(0) 推荐(0) 编辑
Spring Boot对Spring Data JPA的支持
摘要:Spring Data JPA应用之查询操作初体验已经使用了Spring Data JPA,但是用的是测试工具测试。本篇在其基础上演示在实际项目中如何使用(本文以web项目为例)如下: 1)导入需添加的依赖 2)Spring Data JPA应用之查询操作初体验中配置取消,springboot自动配 阅读全文
posted @ 2021-12-02 13:12 池塘里洗澡的鸭子 阅读(41) 评论(0) 推荐(0) 编辑
Spring Data JPA应用之查询分析
摘要:在Spring Data JPA应用之查询操作初体验中提供了三种查询的方式,测试时使用了一种方式而且不是接口中编码的。为什么呢?在其文尾附上了JpaRepository接口继承关系及方法,可以知道JpaRepository提供了基本的CRUD操作——即当使用JPA时,对于简单的增、删、查、改等功能几 阅读全文
posted @ 2021-12-01 14:19 池塘里洗澡的鸭子 阅读(39) 评论(0) 推荐(0) 编辑
Spring Data JPA应用之查询操作初体验
摘要:Spring Data JPA是什么?首先JPA 是⼀套规范——一个数据存储标准定义,内部是由接⼝和抽象类组成的,并且有许多实现方式,Hibernate就是其中一种实现范式。通过JPA可以将我们的业务与具体所要存储的数据库解耦而不需要为不同的数据库编写不同的处理方法,从而方便在多种数据库之间进行切换 阅读全文
posted @ 2021-12-01 12:14 池塘里洗澡的鸭子 阅读(78) 评论(0) 推荐(0) 编辑