随笔分类 -  Java

Java、Spring、Spring Boot、Spring Cloud、架构、设计
摘要:在微服务架构中,系统被拆分成很多个服务单元,各个服务单元的应用通过 HTTP 相互调用、依赖,在某个服务由于网络或其他原因自身出现故障、延迟时,调用方也会出现延迟。若调用方请求不断增加,可能会形成任务积压,最终导致调用方服务瘫痪,服务不可用现象逐渐放大。 阅读全文
posted @ 2019-10-11 11:37 云天 阅读(666) 评论(0) 推荐(1) 编辑
摘要:第1117题 解题思路 1.设定一个h信息号 2.每生成一个h,当h等于2的时候则进入等待o。否则生成氢气并且h自加1。 3.每生成一个o,当h小于2的时候则进入等侍h。否则生成o并且h清0,重新开始生成一个水份子 4.注意Runnable和Thread的区别,实现了Runnable接口,无法启动线 阅读全文
posted @ 2019-10-09 20:26 云天 阅读(333) 评论(0) 推荐(0) 编辑
摘要:开发传统Java WEB工程时,我们可以使用JSP页面模板语言,但是在SpringBoot中已经不推荐使用了。SpringBoot支持如下页面模板语言 Thymeleaf FreeMarker Velocity Groovy JSP 上面并没有列举所有SpringBoot支持的页面模板技术。其中Th 阅读全文
posted @ 2019-09-30 14:17 云天 阅读(4730) 评论(0) 推荐(0) 编辑
摘要:第108题 解题思路 从定义我们知道,BST的中序遍历为一个递增序列,给定的数组其实就是中序遍历结果 取有序数组的中间值做根,左边部分做左树,右边部分做右树如此循环迭代去二分就可还原这棵BST树 代码实现 1.二分+递归实现 每次取数组的中间值,作为二分搜索树的中间节点,依次递归下去即可 2.利用堆 阅读全文
posted @ 2019-09-26 19:52 云天 阅读(933) 评论(0) 推荐(0) 编辑
摘要:给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 阅读全文
posted @ 2019-09-21 22:50 云天 阅读(573) 评论(0) 推荐(0) 编辑
摘要:本示例主要介绍 Spring Cloud 系列中的 Eureka,使你能快速上手负载均衡、声明式服务、服务注册中心等 阅读全文
posted @ 2019-09-17 11:36 云天 阅读(1823) 评论(2) 推荐(2) 编辑
摘要:本文讨论的是JDK 1.8中的ThreadLocal ThreadLocal概念 ThreadLocal多线程间并发访问变量的解决方案,为每个线程提供变量的副本,用空间换时间。 ThreadLocal在每个线程中对该变量会创建一个副本,即每个线程内部都会有一个该变量,且在线程内部任何地方都可以使用, 阅读全文
posted @ 2019-09-10 17:48 云天 阅读(432) 评论(0) 推荐(0) 编辑
摘要:Redis不仅可作为缓存服务器,还可用作消息队列,本示例演示如何使用redis实现发布/订阅消息队列。 阅读全文
posted @ 2019-09-05 17:03 云天 阅读(5446) 评论(3) 推荐(2) 编辑
摘要:Leader在集群中是一个非常重要的角色,负责了整个事务的处理和调度,保证分布式数据一致性的关键所在。既然Leader在ZooKeeper集群中这么重要所以一定要保证集群在任何时候都有且仅有一个Leader存在。 阅读全文
posted @ 2019-09-04 15:44 云天 阅读(1302) 评论(0) 推荐(1) 编辑
摘要:本示例主要介绍了Spring Boot程序方式实现数据库集群访问,读库轮询方式实现负载均衡。阅读本示例前,建议你有AOP编程基础、mybatis基本功能会使用、数据库集群基本概念,这样你可以更快的理解和实现它 阅读全文
posted @ 2019-08-29 17:01 云天 阅读(7507) 评论(0) 推荐(1) 编辑
摘要:spring cloud config 配置中心实现 Spring Cloud Config 用于为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,分为server端和client端。 server端为分布式配置中心,是一个独立的微服务应用;client端为分布式系统中的基础设置或微服务 阅读全文
posted @ 2019-08-23 18:15 云天 阅读(3788) 评论(0) 推荐(1) 编辑
摘要:API 主流网关有NGINX、ZUUL、Spring Cloud Gateway、Linkerd等;Spring Cloud Gateway构建于 Spring 5+,基于 Spring Boot 2.x 响应式的、非阻塞式的 API。同时,它支持 websockets,和 Spring 框架紧密集成,用来代替服务网关Zuul,开发体验相对来说十分不错。 阅读全文
posted @ 2019-08-19 16:24 云天 阅读(1983) 评论(0) 推荐(1) 编辑
摘要:示例主要内容 - 1.多认证模式(密码模式、客户端模式) - 2.token存到redis支持 - 3.资源保护 - 4.密码模式用户及权限存到数据库 - 5.使用说明 阅读全文
posted @ 2019-08-15 15:53 云天 阅读(30866) 评论(0) 推荐(2) 编辑
摘要:本示例实现了Oauth2之授权码模式,授权码模式(authorization code)是功能最完整、流程最严密的授权模式。它的特点就是通过客户端的后台服务器,与"服务提供商"的认证服务器进行互动。 阅读全文
posted @ 2019-08-12 16:53 云天 阅读(18025) 评论(2) 推荐(4) 编辑
摘要:Spring Boot的核心思想就是约定大于配置,一切自动完成。采用Spring Boot可以大大的简化你的开发模式,所有你想集成的常用框架,它都有对应的组件支持。 阅读全文
posted @ 2019-08-10 15:23 云天 阅读(455) 评论(0) 推荐(0) 编辑
摘要:不用明文存储密码,程序员们早在 n 多年前就已经达成了共识。不能明文存储,一些 hash 算法便被广泛用做密码的编码器,对密码进行单向 hash 处理后存储数据库,当用户登录时,计算用户输入的密码的 hash 值,将两者进行比对。单向 hash 算法,顾名思义,它无法(或者用不能轻易更为合适)被反向解析还原出原密码。这杜绝了管理员直接获取密码的途径,可仅仅依赖于普通的 hash 算法(如 md5,sha256)是不合适的 阅读全文
posted @ 2019-08-08 14:34 云天 阅读(5194) 评论(2) 推荐(1) 编辑
摘要:Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。 阅读全文
posted @ 2019-08-01 16:50 云天 阅读(357) 评论(0) 推荐(0) 编辑
摘要:API接口由于需要供第三方服务调用,所以必须暴露到外网,并提供了具体请求地址和请求参数,为了防止被别有用心之人获取到真实请求参数后再次发起请求获取信息,需要采取很多安全机制。 阅读全文
posted @ 2019-07-26 16:41 云天 阅读(12646) 评论(0) 推荐(3) 编辑
摘要:Spring Boot Shiro 本示例要内容 基于RBAC,授权、认证 加密、解密 统一异常处理 redis session支持 介绍 Apache Shiro 是一个功能强大且易于使用的Java安全框架,可执行身份验证,授权,加密和会话管理。借助Shiro易于理解的API,您可以快速轻松地保护 阅读全文
posted @ 2019-07-19 15:42 云天 阅读(1022) 评论(1) 推荐(1) 编辑
摘要:Quartz的集群功能通过故障转移和负载平衡功能为您的调度程序带来高可用性和可扩展性。 阅读全文
posted @ 2019-06-21 14:52 云天 阅读(30004) 评论(2) 推荐(1) 编辑