java小实践
文章平均质量分 55
为了生活
一片星空~
毕业l来北京快一年的菜鸟
展开
-
动态代理使用场景、以及和反射的关联
动态代理使用场景原创 2023-10-22 19:12:56 · 145 阅读 · 0 评论 -
动态代理两种实现方法
动态代理两种实现方法原创 2023-10-22 19:10:05 · 283 阅读 · 0 评论 -
在IDEA中用三个jar包链接MongoDB数据库——实现增删改查
首先下载三个JAR包,分别是:mongodb-driver-X.X.X.jar,bson-X.X.X.jar,mongodb-driver-core-X.X.X.jarX.X.X是版本号,尽量保证版本号一致,原创 2021-12-15 21:43:21 · 2266 阅读 · 0 评论 -
借助矩阵RealMatrix解三元一次方程
借助矩阵RealMatrix解三元一次方程原创 2023-05-23 22:03:37 · 379 阅读 · 1 评论 -
springboot dynamic多数据源demo以及常见切换、事务问题
springboot dynamic多数据源demo以及常见切换、事务问题原创 2023-02-28 20:16:08 · 5195 阅读 · 4 评论 -
jpa访问第三方数据库报表不存在问题(表其实存在)
jpa访问第三方数据库报表不存在问题(表其实存在)原创 2023-01-05 09:33:59 · 434 阅读 · 0 评论 -
list分组汇总、计算
list 分组计算原创 2022-12-20 18:35:19 · 1395 阅读 · 0 评论 -
JPA Specification常用查询+排序+and +or
JPA Specification常用查询+排序+and +or原创 2022-12-20 18:20:36 · 1989 阅读 · 0 评论 -
jvm监控服务性能、以及资源使用情况
jvm监控服务资源原创 2022-11-29 18:53:49 · 984 阅读 · 0 评论 -
解决远端www服务支持TRACE请求的几种方式
trace问题原创 2022-05-31 14:16:18 · 7775 阅读 · 3 评论 -
feign调用的重试机制,如何关闭
feign,重试原创 2022-04-18 21:14:21 · 5270 阅读 · 2 评论 -
Springboot 添加server.servlet.context-path相关使用
一、server.servlet.context-path配置的作用定义: server.servlet.context-path= # Context path of the application. 应用的上下文路径,也可以称为项目路径,是构成url地址的一部分。server.servlet.context-path不配置时,默认为 / ,如:localhost:8080/xxxxxx当server.servlet.context-path有配置时,比如 /demo,此时的访问方式为localho转载 2020-11-27 13:05:58 · 4901 阅读 · 1 评论 -
fegin请求:Connection prematurely closed BEFORE response解决
连接关闭原创 2022-04-16 15:46:31 · 1567 阅读 · 0 评论 -
idea 配置文件中Dspring.profiles.active 作用
场景:1.1:多数据源配置是,指定默认数据源1.2:app.yml配置文件,默认指定配置文件,例如,是指定开发呢、还时测试、还时生产(没使用配置中心时这样)代码:uat测试里面配置如下:spring:#配置数据库连接信息 datasource: type: com.alibaba.druid.pool.DruidDataSource #redis配置 redis: host: ip port: 6379 password: 你猜猜 #连接超时原创 2020-11-30 14:04:25 · 7986 阅读 · 0 评论 -
SpringCloud架构中如何保证定时任务只在一个服务在执行(二)
思路:让定时任务执行时,随机睡几秒钟,首先执行的服务器更新job开关,执行完毕后关闭开关注意:个人设计思路,仅供参考哈一、代码private static String serverIp = null;static { //获取服务器的IP地址,便于后续追踪 try { InetAddress address = InetAddress.getLocalHost(); serverIp = address.getHostAddress();转载 2020-07-19 15:42:34 · 596 阅读 · 1 评论 -
spring cloud 限流-gateway
对一些客流访问量比较大,存在高并发情况的系统,就需要在系统中进行限流,一方面是为了防止大量的请求致使服务器宕机,导致服务不可用,另一方面是为了防止网络攻击。一般的应用服务器,都是通过限制线程池的线程数来控制并发,也有通过单位时间内窗口的平均速度来控制流量。常见的限流纬度有比如通过Ip来限流、通过uri来限流、通过用户访问频次来限流。常见的限流算法:引用一位博主所介绍的,个人觉得说的很容易理解与透彻,原文地址:https://blog.csdn.net/forezp/article/details/85转载 2020-09-14 18:16:31 · 146 阅读 · 0 评论 -
HttpClient、OKhttp、RestTemplate接口调用对比,选择一个优秀的 HTTP Client 的重要性
httpclient,okhttp转载 2022-04-04 23:16:40 · 3546 阅读 · 0 评论 -
springcloud----负载均衡--Feign与OpenFeign
什么是 FeignFeign是声明性Web服务客户端。它使编写Web服务客户端更加容易。要使用Feign,请创建一个接口并对其进行注释。它具有可插入注释支持,包括Feign注释和JAX-RS注释。Feign还支持可插拔编码器和解码器。Spring Cloud添加了对Spring MVC注释的支持,并支持使用HttpMessageConvertersSpring Web中默认使用的注释。Spring Cloud集成了Ribbon和Eureka以及Spring Cloud LoadBalancer,以在使用F转载 2020-09-07 18:13:01 · 319 阅读 · 0 评论 -
fegin aop拦截
aop原创 2022-05-05 17:22:08 · 1359 阅读 · 1 评论 -
spring Hystrix断路器监控(单一项目)
这个和上篇的多项目监控,外在区别在于,单一项目在路由分发项目里面写,可以对每次请求进行监控,多项目的就是,单独拉个项目,用于监控所有项目一、Hystrix Dashboard简介在微服务架构中为例保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型。断路器的状况反应了一个程序的可用性和健壮性,它是一个重要指标。Hystrix Dashboard是作为断路器状态的一个组件,提供了数据监控和友好的图形化界面。二、准备工作本文的的工程栗子,来源于第一篇文章的栗子,在它的基础上进行改造。三、开始改原创 2020-10-14 14:36:17 · 101 阅读 · 0 评论 -
consul再探--作为配置中心
以往spring cloud项目中,consul作为注册中心,将接口注册到consul中,方便作为服务方被调用;最近在新项目组,发现也可以作为配置中心使用:consul配置2. 使用原创 2021-05-09 20:53:17 · 82 阅读 · 0 评论 -
gateway实现动态路由
情景:一般情况下,不需要动态路由,前端请求进入网关后,路由分发到fegin项目,在这里在进行分发到各个业务项目。此时另一种情况导致了动态路由的出现,加入有一个网关,两套系统controller,在网关里面就要分配一次,进入各自系统后,在进行分发各自的;实现一:不借助nacos配置中心eureka: client: service-url: #设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。默认是http://localhost:8761/eu原创 2020-11-30 14:36:25 · 2287 阅读 · 0 评论 -
SpringCloud架构中如何保证定时任务只在一个服务在执行(一)
有时候我们在开发过程中,很容易犯这样一个错误,就是在服务中写一个定时任务,然后也没做其它的处理就上线了。然后微服务架构为了保证高可用,一般都会部署多个服务,这个时候问题就来了,时间一到定时任务一启动,发现你部署多少个服务,就会跑多少个定时任务。如果服务器性能一般,定时任务占用内存又多,服务器跑死都有可能。问题:那基于SpringCloud的架构中,这种情况我们应该如何处理呢?这边我们先来简单概述一下,我们先来看一下任务执行的时序图。简单的来说,我们可以分为以下步骤:第一步先获取当前服务ip第二步获转载 2020-07-19 15:41:15 · 1611 阅读 · 0 评论 -
rest 发送application/json请求和form表单请求
1.json请求 RestTemplate restTemplate = new RestTemplate(); @Value("${url}") private String url; @Value("${email}") private String email; @Value("${message}") private String message; @Override @Async public String sendEm原创 2021-02-05 11:20:05 · 1194 阅读 · 0 评论 -
springboot-33-异步方法和dubbo异步调用
一.Spring @Async异步方法在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后,就已经内置了@Async来完美解决这个问题。何为异步调用?在解释异步调用之前,我们先来看同步调用的定义;同步就是整个处理过程顺序执行,当各个过程都执行完毕,并返回结果。 异步调用则是只是发送了调用的指令,调用者无需等待被调用的方法完全执行完毕;而是继续执行下面的流原创 2020-09-28 15:35:34 · 1394 阅读 · 0 评论 -
线程池、可重入锁、读写锁、信号量、循环栅栏,编码测试
线程池、可重入锁、读写锁、信号量、循环栅栏,编码测试原创 2022-10-09 19:24:44 · 99 阅读 · 0 评论 -
gateway实现限流和熔断
限流,我在项目中还没用到过,熔断用过,但是没在网关中用到过,刷博客,看到了这一篇,看着是能够实现的;限流:Gateway通过内置的RequestRateLimiter过滤器实现限流,使用令牌桶算法,借助Redis保存中间数据。用户可通过自定义KeyResolver设置限流维度,例如:对请求的目标URL进行限流对来源IP进行限流特定用户进行限流本例针对来源IP限流。添加Redis依赖: <dependency> <groupId>org.sprin转载 2020-11-30 14:50:47 · 1605 阅读 · 0 评论 -
spring 使用ribbon或fegin实现断路器
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。转载 2020-10-31 14:32:28 · 135 阅读 · 0 评论 -
项目启动初始化加载配置
初始化加载原创 2022-05-13 17:07:22 · 880 阅读 · 0 评论 -
SpringBoot:如何优雅地处理全局异常?
假如我们需要针对NullException(空指针异常,是Java程序员最痛恨的异常,没有之一)进行全局处理(如下所示)。@RestControllerAdvicepublic class GlobalExceptionHandler { /** * 处理空指针的异常 * @param req * @param e * @return */ @ExceptionHandler(value =NullPointerException原创 2021-04-02 14:48:06 · 233 阅读 · 0 评论 -
spring feign 调用
通用应用程序属性可以在应用程序中指定application.properties 中配置配置项 默认值 描述 feign.client.config feign.client.default-config default feign.client.default-to-properties true feign.compression.req.原创 2022-04-04 22:45:45 · 1580 阅读 · 0 评论 -
Spring使用RestTemplate替换httpclient
引用的一篇文章,可以帮忙了解一些。https://my.oschina.net/sdlvzg/blog/1800395原创 2020-06-20 11:32:12 · 529 阅读 · 0 评论 -
notoken配合过滤器进行是否拦截判断-AntPathMatcher
前言AntPathMatcher是什么?主要用来解决什么问题?背景:在做uri匹配规则发现这个类,根据spring源码对该类进行分析,它主要用来做类URLs字符串匹配;效果可以做URLs匹配,规则如下?匹配一个字符*匹配0个或多个字符**匹配0个或多个目录用例如下/trip/api/*x 匹配 /trip/api/x,/trip/api/ax,/trip/api/abx ;但不匹配 /trip/abc/x;/trip/a/a?x 匹配 /trip/a/abx;但不匹配 /t转载 2021-03-30 13:40:54 · 461 阅读 · 0 评论 -
spring Turbine断路聚合监控(监控多项目)
一、Hystrix Turbine简介看单个的Hystrix Dashboard的数据并没有什么多大的价值,要想看这个系统的Hystrix Dashboard数据就需要用到Hystrix Turbine。Hystrix Turbine将每个服务Hystrix Dashboard数据进行了整合。Hystrix Turbine的使用非常简单,只需要引入相应的依赖和加上注解和配置就可以了。二、准备工作本文使用的工程为上一篇文章的工程,在此基础上进行改造。因为我们需要多个服务的Dashboard,所以需要再建原创 2020-10-14 14:30:55 · 329 阅读 · 0 评论 -
nacos初探--作为配置中心
什么是nacosNacos 支持基于 DNS 和基于 RPC 的服务发现(可以作为springcloud的注册中心)、动态配置服务(可以做配置中心)、动态 DNS 服务。官方介绍是这样的:Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施官方网址:htt转载 2020-11-30 14:43:16 · 173 阅读 · 0 评论 -
Spring cloud 限流-zuul
一、限流概念高并发系统中有三把利器用来保护系统:缓存、降级和限流限流的目的是为了保护系统不被大量请求冲垮,通过限制请求的速度和次数来保护系统在电商的秒杀活动中,限流是必不可少的一个环节二、实现方式限流的方式也有多种,可以在Nginx层面限流,也可以在应用当中限流,比如在API网关中三、限流算法计数器:计算单元时间内访问接口的次数,如果达到次数,则限制访问令牌桶: 令牌桶算法是一个存放固定容量令牌的桶,按照固定速率往桶里添加令牌。可以控制流量也可以控制并发量。 假如我们想要控制API网转载 2020-09-14 18:09:46 · 340 阅读 · 0 评论 -
spring 通过fegin/restTemplate消费服务
spring 通过fegin消费服务定义一个feign接口,通过@ FeignClient(“服务名”),来指定调用哪个服务。比如在代码中调用了service-hi服务的“/hi”接口,代码如下:@FeignClient(value = "service-hi")public interface SchedualServiceHi { @RequestMapping(value = "/hi",method = RequestMethod.GET) String sayHiFromCl原创 2020-10-31 14:39:35 · 162 阅读 · 0 评论 -
abstractGateway网关过滤请求
网关过滤原创 2022-05-06 12:36:17 · 932 阅读 · 0 评论 -
Java event事件监听属性值变化 demo
1、定义一个 ValueChangedEvent package org.teamlet; import java.util.EventObject; public class ValueChangeEvent extends EventObject { /** * */ private static final long serialVersionUID = 767352958358520268L; private int value; public ValueCha转载 2022-01-04 10:05:07 · 1024 阅读 · 0 评论 -
动态代理拦截器示例
Java 里的拦截器是动态拦截 action 调用的对象,它提供了一种机制可以使开发者可以定义在一个 action 执行的前后执行的代码,也可以在一个 action 执行前阻止其执行,同时也提供了一种可以提取 action 中可重用部分的方式。在 AOP(Aspect-Oriented Programming)中拦截器用于在某个方法或字段被访问之前进行拦截,然后在之前或之后加入某些操作。此外,拦截器在流行的开源框架中也很常见,其依赖的技术就是 Java 的动态代理。理解拦截器的核心原理对理解这些开源框架的转载 2022-01-04 09:22:35 · 221 阅读 · 0 评论