深入学习Spring Cloud-Ribbon

ribbon简介Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的 软件负载均衡算法 ,将 Netflix 的中间层服务连接在一起。Ribbon 客户端组件提供一系列完善的配置项如连...

2021-03-03

一文读懂Spring Cloud-Hystrix

Hystrix概述Hystrix:断路器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。hystrix可以实现降级和熔断: 降级调用远程服务失...

2021-03-03

Java 实现简单Socket 通信的示例

Java socket 封装了传输层的实现细节,开发人员可以基于 socket 实现应用层。本文介绍了 Java socket 简单用法。1. 传输层协议
传输层包含了两种协议,分别是 TCP (Transmissio...

2021-03-03

使用Spring Data R2DBC +Postgres实现增删改查功能

在本教程中,我想向您展示如何通过带有Spring WebFlux的Spring Data R2DBC 执行各种Postgres CRUD操作。R2DBC代表反应式关系数据库连接。像JPA(Java持久性API)一样,R2DBC是关系...

2021-03-03

java语言基础之标识符和命名规则详解

标识符 Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符 技巧:凡是自己可以起名字的地方都叫标识符 定义合法标识符规则: 由26个英文字母大小写,0-9 ,_或 $...

2021-03-03

Java Apollo是如何实现配置更新的

这篇文档主要关注下配置修改后对应的 Java 对象是如何更新,并不关注整体的配置改动流程所有代码都来自 apollo-client 项目更新流程
在 Apollo 控制台进行配置修改并发布后,对...

2021-03-02

Spring Boot 项目启动失败的解决方案

Spring Boot 项目是不是经常失败,显示一大堆的错误信息,如端口重复绑定时会打印以下异常:***************************APPLICATION FAILED TO START**************************...

2021-03-02

java应用占用内存过高排查的解决方案

故障:收到服务器报警,内存使用率超过80%1.查看使用dstat和top查看内存使用最高的应用使用dstat查到内存占用最高的是java应用,使用2253M内存,但是这台服务器跑了好几个java,具体...

2021-03-02

java中应用Stack进行算术运算的操作

java.util.stack,继承自VectorFILO, 适合带有小括号的算术运算import java.util.Stack; /** * 利用栈,进行四则运算的类 * 用两个栈来实现算符优先,一个栈用来保存需要计算...

2021-03-02

解决RedisTemplate存储至缓存数据出现乱码的情况

前言RedisTemplate是Spring对于Redis的封装。如上图所示,RedisTemplate中定义了对5种数据结构操作。redisTemplate.opsForList();//操作listredisTemplate.opsForValue();//...

2021-03-02

java中static的用法及注意点

在关键词的使用上,我们已经对static方法有所了解,为了防止在使用时出现一些不必要的错误,了解它的使用范围是每个人都要掌握的。本篇把static的使用注意点分为两个方面,一个是访...

2021-03-02

解决RedisTemplate的key默认序列化器的问题

redis的客户端换成了spring-boot-starter-data-redis,碰到了一个奇怪的问题,在同一个方法中1.先hset,再hget,正常获得数据。在不同的方法中 先hset,再hget获取不到数据,通过redis...

2021-03-02

java Array和Arrays的区别总结

我们在对数组操作时,经常会用到Arrays的方法,同时会结合一些函数函数对数组进行操作。同时我们还学习了数组类Array,这两种类的名称上只有很小的差别,但在用法上区别比较大。本...

2021-03-02

java使用HashMap实现斗地主(有序版)

本文实例为大家分享了java使用HashMap实现斗地主的具体代码,供大家参考,具体内容如下案例介绍按照斗地主的规则,完成洗牌发牌的动作。 具体规则:使用54张牌打乱顺序,三个玩家参...

2021-03-02

IDEA:Git stash 暂存分支修改的实现代码

场景:当我们正在master分支开发新功能的时候,突然接到一个任务发现线上出现了一个紧急的BUG需要修复,由于没有打新分支做这部分新需求,这时正做到半途中....已经把本地代码修改...

2021-03-02

快速定位Java 内存OOM的问题

Java服务出现了OOM(Out Of Memory)问题,总结了一些相对通用的方案,希望能帮助到Java技术栈的同学。某Java服务(假设PID=10765)出现了OOM,最常见的原因为:有可能是内存分配确实过小...

2021-03-02

Java 如何解决跨域问题

引言
我们在开发过程中经常会遇到前后端分离而导致的跨域问题,导致无法获取返回结果。跨域就像分离前端和后端的一道鸿沟,君在这边,她在那边,两两不能往来.什么是跨域(CORS)
跨域(C...

2021-03-01

Gradle的基本使用

一、Gradle相比Maven的优势
配置简洁Maven是用pom.xml管理,引入一个jar包至少5行代码,Gradle只需要一行。 构建速度快Gradle支持daemon方式运行,启动速度快,同时有基于daemon...

2021-03-01

spring依赖注入深入理解

IOC&&DIIOC(Inversion of Control)一般分为两种类型:依赖注入DI(Dependency Injection)和依赖查找(Dependency Lookup)org.springframework.beans.factory.BeanFactory是IOC...

2021-03-01

java jvm两种存储区的类型知识点讲解

我们知道在jvm中存放了不少数据,那么存放数据的地方叫做存储区。想必大家还不知道存储区是分为两种类型的,常量缓冲池和方法区。相信很多人还没有接触到这个概念,本篇对java中j...

2021-03-01

Integer和int的区别实例详解

Integer和int最本质的区别就是:Integer是封装类,int是基本数据类型(这是废话)。本文是希望能对Integer和int的区别进行更详细的对比说明并加以举例Integer和int的区别 Integer...

2021-03-01

Spring Boot使用JSR-380进行校验的示例

介绍JSR-380 是 J2EE 的一个规范,用于校验实体属性,它是 JSR-303 的升级版,在 Spring Boot 中可以基于它优雅实现参数校验。<!--more-->示例在没有使用 JSR-380 之前,我们一般都...

2021-03-01

Java中的static关键字深入理解

在学习Java以来很长一段时间,我都不能理解为什么修饰一个方法的关键字各不相同,为什么有的方法可以直接调用,而有的方法需要用对象才能调用。毫不夸张的说,最近一次让我决定去整...

2021-03-01

Java构建JDBC应用程序的实例操作

我们在学习接口的时候。能够在里面做一些方法的调用。不过今天所要讲的JDBC,虽然也是连接数据库的一种接口,不过与类接口有着很大的区别,大家要注意区分。下面我们就构建JDBC的...

2021-03-01

java实现斗地主小案例

本文实例为大家分享了java实现斗地主案例的具体代码,供大家参考,具体内容如下斗地主案例按照斗地主的规则,完成洗牌发牌的动作。
具体规则: 使用54张牌打乱顺序,三个玩家参与游...

2021-02-25

springMVC向Controller传值出现中文乱码的解决方案

这个问题都是老生常谈了,可还是有很多人掉进去。这是一个很简单的问题,只要理清思路就好了。明确一点:项目是放到容器内(tomcat是一个)内的。无论我们前端请求还是后端相应.我...

2021-02-25

开发工具-scala处理json格式利器-json4s

1.为什么是json4s从json4s的官方描述At this moment there are at least 6 json libraries for scala, not counting the java json libraries. All these libraries have a...

2021-02-25

Java中的对象、类、抽象类、接口、继承之间的联系

正文:举个例子:如果现在要想定义一个动物,那么动物肯定是一个公共的标准,而这个公共标准就可以通过接口来完成。在动物中又分为两类:哺乳动物、卵生动物,而这个标准属于对动物的标...

2021-02-25

详解java中String、StringBuilder、StringBuffer的区别

你知道String、StringBuilder、Stringbuffer的区别吗?当你创建字符串的时候,有考虑过该使用哪个吗?别急,这篇文章带你解决这些问题。可变性首先,String是字符串,我们一般这样声明:S...

2021-02-25

IDEA 格式化SQL代码技巧分享

写在前面IntelliJ IDEA集成了很多我们开发中常用的工具,Linux连接,Git,数据库操作…这里我们介绍,IDEA集成数据库操作,并对SQL可格式化…通过命令,但是在合适的执行文件中…Ctrl...

2021-02-25

解决SpringCloud Config结合github无法读取配置的问题

前言配置中心存放文件在github是读取过程,可能你会出现读取不到配置信息。本次笔者将这一过程进行详细介绍。准备父工程由于笔者是使用聚合工程,所以这次也是把相关的工程创建...

2021-02-25

如何用Spring发送电子邮件

简介
Spring基于javax.mail封装了一套用于发送电子邮件的API,位于org.springframework.mail包下,下面将介绍下发送普通文本邮件和基于thymeleaf模版的邮件。普通邮件
导入java...

2021-02-25

如何处理@PathVariable中的特殊字符问题

上代码: @GetMapping(value="/user/{useraccount}") public void getUserAccount(@PathVariable("useraccount") String userAccount) { logger.info("useraccount :" + user...

2021-02-25

Spring Cloud Consul的服务注册与发现

运行Consul
以Windows为例,下载解压后,以开发模式运行:consul agent --dev启动成功后,可以访问Consul提供的管理页面,默认端口为8500,页面上显示了已注册服务的列表,包括它们的运行...

2021-02-25

@PathVariable为空时指定默认值的操作

@PathVariable为空时指定默认值,可以指定多个匹配路径,然后设置参数非必要的,就可以了,例子如下@RequestMapping(value = {"/timeline/{uid}", "/timeline/{uid}/{size}"})publi...

2021-02-25

SpringBoot的WebSocket实现单聊群聊

本文实例为大家分享了SpringBoot的WebSocket实现单聊群聊,供大家参考,具体内容如下说在开头在HTTP协议中,所有的请求都是由客户端发送给服务端,然后服务端发送请求
要实现服务器...

2021-02-25

基于Feign使用okhttp的填坑之旅

1、由于项目需要远程调用http请求因此就想到了Feign,因为真的非常的方便,只需要定义一个接口就行。但是feign默认使用的JDK的URLHttpConnection,没有连接池效率不好,从Feign的自...

2021-02-25

使用okhttp替换Feign默认Client的操作

一 关键pom<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Spring C...

2021-02-25

Java中List集合去除重复数据的方法汇总

List集合概述
List集合是一个元素有序(每个元素都有对应的顺序索引,第一个元素索引为0)、且可重复的集合。List集合常用方法
List是Collection接口的子接口,拥有Collection所有...

2021-02-25

SpringBoot 配置 okhttp3的操作

1. Maven 添加依赖<dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.10.0</version></dependency>2. application.prope...

2021-02-25

java基础之 Arrays.toString()方法详解

在实际项目中,如果想要把数组中的内容打印出来,直接使用toString方法只会打印出数组的地址,因此需要使用Arrays的toString方法,可以从其内部实现中看出来,该方法支持入参可以是lo...

2021-02-24

Java Stream流之求和的实现

BigDecimal:BigDecimal bb =list.stream().map(Plan::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add);int、double、long:double max = list.stream().mapToDouble(Us...

2021-02-24

Java 利用枚举实现接口进行统一管理

枚举公共接口public interface IPairs<K, V, C extends Enum> { /** * 返回枚举对象 * */ C get(); /** * 返回枚举项的 key * */ K key(); /** * 返回枚举...

2021-02-24

java自定义异常以及throw和throws关键字用法

java中内置了很多可能在编程时出现的大部分异常。除此之外,用户可以使用一个类继承Exception类即可继承自定义类异常。在程序中自定义类,大体上分为以下几个步骤:1、创建自定义...

2021-02-24

Java catch与throw同时使用的操作

一、应用背景在实际应用中,处理异常往往需要更加复杂的处理——当一个异常出现时,单靠某个方法无法完全处理该异常,必须由几个方法协作才能完全处理该异常,也就是说,在异常出现的...

2021-02-24

java 异常被catch后 将会继续执行的操作

我就废话不多说了,大家还是直接看代码吧~import java.util.UUID; public class Test { public static void main(String[] args) { try { int i = 2/0; } catch (Exception...

2021-02-24

Spring的BeanFactoryPostProcessor接口示例代码详解

接口简介BeanFactoryPostProcessor 接口是 Spring 初始化 BeanFactory 时对外暴露的扩展点,Spring IoC 容器允许 BeanFactoryPostProcessor 在容器实例化任何 bean 之前读取...

2021-02-24

Java之 TreeSet的详细使用说明

第1部分 TreeSet介绍TreeSet简介TreeSet 是一个有序的集合,它的作用是提供有序的Set集合。它继承于AbstractSet抽象类,实现了NavigableSet<E>, Cloneable, java.io.Serializab...

2021-02-24

java 实现黄金分割数的示例详解

黄金分割数 0.618 与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的 0.618 处,墙上的画像一般也挂在房间高度的 0.618 处,甚至股票的波动据说也能找到 0.618 的...

2021-02-24

聊聊Arrays.deepToString()和Arrays.toString()的区别

Arrays.deepToString()主要用于数组中还有数组的情况,而Arrays.toString()则相反,对于Arrays.toString()而言,当数组中有数组时,不会打印出数组中的内容,只会以地址的形式打印出...

2021-02-24
返回顶部
顶部