自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 LeetCode7-整数反转

一、题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。二、示例示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21三、代码package com.leetcode.code;/** * LeetCode7-整数反转 * * 给出一个 32 位的有符号整数,你需要...

2019-10-30 23:46:50 105

原创 LeetCode6-Z字形变换

一、题目将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的...

2019-10-29 00:55:21 104 2

原创 LeetCode5-最长回文子串

一、题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。二、示例示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”三、分析1、算法的由来在求解最长回文子串的问题时,一般的思路是以当前字符为中心,向其左右两边扩展寻找回文,但是这种解法的时间复杂度...

2019-10-28 01:00:47 119

原创 LeetCode4-寻找两个有序数组的中位数

一、题目给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。二、示例示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]...

2019-10-26 17:03:26 130

原创 LeetCode3-无重复字符的最长子串

一、题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。二、示例示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子...

2019-10-26 01:08:26 102

原创 LeetCode2-两数相加

一、题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。二、示例输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&...

2019-10-25 00:24:32 92

原创 LeetCode1-两数之和

一、题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。二、示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]三、代码...

2019-10-24 00:19:44 50

原创 JVisualVM 的使用教程

一、简介Java VisualVM 是一个直观的图形用户界面,基于Java 的应用程序,在给定的 Java 虚拟机(JVM)上运行时提供有关它们的详细信息。Java VisualVM 之所以这样命名,是因为Java VisualVM 可视地提供了有关JVM软件的信息。Java VisualVM 将多个监视、故障排除和性能分析实用程序组合到一个工具中。 例如,独立工具 jmap,jinfo,js...

2019-10-21 23:54:10 1119

原创 idea提交代码到github,设置忽略某些不必要的文件

在提交代码到 github 的时候,有洁癖的你是不是很烦那些不必要的文件都上传上来了。如下图:这些都是没必要提交上来的文件好了,话不多说,接下来我们来设置下。这些是我要忽略的文件*.hprof;*.pyc;*.pyo;*.rbc;*.yarb;*~;.DS_Store;.git;.hg;.idea;.svn;CVS;__pycache__;_svn;vssver.scc;vssve...

2019-10-20 00:24:03 637

原创 Spring Cloud 学习系列:(十一)微服务网关——Zuul

一、Zuul 简介Zuul 是 Netflix 开源的微服务网关,它可以和 Eureka、Ribbon、Hystrix 等组件配合使用。Zuul 的核心是一系列的过滤器,这些过滤器都可以完成以下功能。身份认证与安全:识别每个资源的验证请求,并拒绝那些与要求不符的请求。审查与监控:在边缘位置追踪有意义的数据和统计结果,从而带来精确的生产视图。动态路由:动态地将请求路由到不同的后端集群。压...

2019-10-19 17:23:57 140

原创 Spring Cloud 学习系列:(十)使用 Turbine 聚合监控数据

一、前言上一篇我们使用到 /hystrix.stream 端点监控单个微服务实例。然而,使用微服架构的应用系统一般会包含若干个微服务,每个微服务通常都会部署多个实例。如果每次只能查看单个实例的监控数据,就必须在 Hystrix Dashboard 上切换想要监控的地址,这显然不方便,那如何解决呢?二、Turbine 简介Turbine 是一个聚合 Hystrix 监控数据的工具,它可将所有相...

2019-10-17 23:46:30 136

原创 Spring Cloud 学习系列:(九)使用 Hystrix Dashboard 可视化监控数据

一、前言除了上一篇我们讲的 Hystrix 实现容错处理外,Hystrix 还提供了近乎实时的监控——Hystrix Dashboard 。我们可以直观的看出 Hystrix Command 的请求响应时间, 请求成功率等数据,这些监控数据对分析应用系统的状态很有用。二、案例演示我们在上一篇的项目 microservice-eureka-feign-hystrix 的基础上修改,重新命名为:...

2019-10-14 23:48:30 414

原创 怎么保证接口数据的传输安全?

一、前言当我们的系统越做越大时,代码的的松耦合以及性能问题很重要,但我觉得,数据的传输感觉更重要。安全问题是系统的心脏!!!值得我们去重视以及防患于未然。现代软件开发中,前后端分离的项目逐渐成为主流。前后端分离的项目离不开后端对外提供接口,而请求这些接口的数据时,安全性应当保证。二、解决方法1、对请求做身份认证(数据签名)如果不对请求进行签名认证,那么可以简单的通过fiddler等工具轻...

2019-10-11 00:27:28 3077

原创 Java中a+=b和a=a+b有什么区别

这是一道常见的经典Java基础面试题,主要考察的是运算时精度问题。1、a+=b 形式package com.test;/** * @author riemann * @date 2019/10/09 17:47 */public class AccuracyTest { public static void main(String[] args) { sho...

2019-10-09 18:16:53 270

原创 MySQL与Oracle的分页查询

一、MySQL 的分页查询关键字limit,limit m,n 其中m表示起始位置的下标,下标从0开始。n表示要显示的条数,比如要查询一个表的第0到1条数据。(表示第一页的第一条数据)格式:select * from table limit (pageNo-1)*pageSize, pageSize;SQL:mysql> SELECT * FROM suppliers LIMIT...

2019-10-09 16:54:38 130

原创 MySQL中UNION与UNION ALL的区别

一、UNION 操作符UNION 操作符合并两个或多个 SELECT 语句的结果组合成单个结果集。注意:UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。二、语法SQL UNION 语法SELECT column_name(s) FROM table1UNIONSELECT column_n...

2019-10-09 15:38:22 414

原创 MySQL中WHERE与HAVING的区别

一、使用的位置不一样where可以用于select、update、delete和insert into values(select * from table where …)语句中。having只能用于select语句中。二、执行的顺序不一样where的搜索条件是在执行语句进行分组之前应用。having的搜索条件是在分组条件后执行的。即如果where和having一起用时,where会...

2019-10-09 13:18:56 127

原创 Spring Cloud 学习系列:(八)断路器——Hystrix

一、前言到目前为止,我们前面已用 Eureka 实现了微服务的注册与发现,Ribbon 实现了客户端侧的负载均衡,Feign 实现了声明式 RESTful 风格的服务调用。本章我们来讲述使用 Hystrix 实现微服务的断路器,即微服务的容错处理。首先,我们来考虑下这个问题:如果服务提供者响应非常缓慢,那么消费者对提供者的请求就会被强制等待,直到提供者响应或超时,在高负载的情况下,如果不做任...

2019-10-08 18:46:06 110

原创 Spring Cloud 学习系列:(七)实现声明式 RESTful 风格服务调用——Feign

一、前言上一篇文章我们讲到了RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign 去消费服务。前文的 RestTemplate 实现 REST API 调用,大致代码如下:public String hiService(String name) { return restTemplate.getForObject("http://microservice...

2019-10-07 16:37:50 199

原创 Spring Cloud 学习系列:(六)自定义 Ribbon 配置实现负载均衡

一、前言上一篇我们讲到 Ribbon 实现负载均衡,请求会均匀分布到两个微服务节点上;现在我们要实现其它的算法来实现负载均衡怎么办呢?接下来我们就来讲下自定义 Ribbon 配置实现负载均衡。二、两种不同方式实现1、Java 代码自定义 Ribbon 配置在 Spring Cloud 中,Ribbon 的默认配置如下(格式是BeanType beanName: ClassName):I...

2019-10-06 16:40:11 167

原创 Spring Cloud 学习系列:(五)实现客户端侧负载均衡——Ribbon

一、前言经过前几篇的讲解,我们实现了微服务的注册与发现。启动各个微服务时,Eureka Client 会把自己的网络信息注册到 Eureka Server上。然而,这样的架构依然会有些问题,比如负载均衡。一般来说,在生产环境中,各个微服务都会部署多个实例。那么服务消费者要如何将请求分摊到各个服务提供者实例上呢?下面我们就来介绍实现客户端侧负载均衡——Ribbon。二、Ribbon 简介Rib...

2019-10-06 00:13:35 121

原创 Spring Cloud 学习系列:(四)为 Eureka Server 添加用户认证

在前面的示例中,Eureka Server 是允许匿名访问的,这篇我们来构建一个需要登录才能访问的 Eureka Server。1、复制上一篇的项目 microservice-eureka,将 artifactId 修改为 microservice-eureka-authenticating。2、在 pom.xml 中添加 spring-boot-starter-security 的依赖,该依...

2019-10-04 03:10:24 110

原创 Spring Cloud 学习系列:(三)Eureka Server 的高可用

一、前言相信大家有分布式开发经验的小伙伴应该能够看出,上一篇讲的单节点 Eureka Server 并不适合线上的生产环境。Eureka Client 会定时连接 Eureka Server,获取服务注册中的信息并缓存在本地。微服务在消费远程API时总是使用本地缓存的数据。因此一般来说,即使 Eureka Server 发生宕机,也不会影响服务之间的调用。但如果 Eureka Server 宕机...

2019-10-04 01:32:13 115

原创 Spring Cloud 学习系列:(二)微服务的注册与发现——Eureka

一、Eureka 简介Eureka 是 Netflix 开源的服务发现组件,本身是一个基于 REST 的服务。它包含 Server 和 Client 两部分。Spring Cloud 将它集成在子项目 Spring Cloud Netflix 中,从而实现微服务的注册与发现。二、Eureka 原理在分析 Eureka 的原理之前,先来看下架构图,如下图所示:(由于图片上传失败,后续补)图...

2019-10-01 21:20:25 131

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除