15 CodingSir

尚未进行身份认证

光荣的程序员

等级
TA的排名 30

高并发之服务降级和服务熔断

服务降级:服务压力剧增的时候根据当前的业务情况及流量对一些服务和页面有策略的降级,以此环节服务器的压力,以保证核心任务的进行。同时保证部分甚至大部分任务客户能得到正确的相应。也就是当前的请求处理不了了或者出错了,给一个默认的返回。服务熔断:在股票市场,熔断这个词大家都不陌生,是指当股指波幅达到某个点后,交易所为控制风险采取的暂停交易措施。相应的,服务熔断一般是指软件系统中,由于某...

2020-01-14 10:47:53

Java最常用的工具类库

Apache CommonsApache Commons有很多子项目,常用的项目如下项目 作用BeanUtils 对Java Bean进行各种操作,复制对象,属性Codec 处理常用的编码,解码Collections 扩展Java集合框架的操作I/O 输入/输出工具的封装Lang java基本对象(java.lang) 方法的工具类包Bean...

2019-12-25 16:21:10

前后端通信进行AES加密(Vue - Java)

一. 前端工作1.安装crypto-js安装命令:npm install crypto-js2.js编写import CryptoJS from "crypto-js";const CRYPTOJSKEY= "abcdefgabcdefg12";// 加密const encrypt = (plaintText)=> { var plaintTex...

2019-12-25 09:42:10

2019年 Github 上最热门的 Java 开源项目

10 月份 GitHub 上最热门的Java开源项目排行已经出炉啦,在本月的名单中,实战项目类居多,当然也有像JavaGuide这样学习指南类项目,下面就是本月上榜的10个开源项目:1Javahttps://github.com/TheAlgorithms/JavaStar 18468该项目用Java实现的所有算法,对算法感兴趣的伙伴们不要错过了。...

2019-12-24 13:57:36

使用Nginx实现灰度发布

灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度发布常见一般有三种方式: Nginx+LUA方式 根据Cookie实现灰度发布...

2019-12-05 09:10:30

Nginx实现灰度发布的功能

1. 对URL进行单独的过滤发布upstream A { ip_hash; server 10.0.XX.XX:9000; server 10.0.XX.XX:9010; }upstream B { #server 10.0.5.76:9000; server 10.0.5.76:9010;}serve...

2019-12-05 09:04:55

教你画架构图,看一次就会了

当我们想用一张或几张图来描述我们的系统时,是不是经常遇到以下情况: 对着画布无从下手、删了又来? 用一张图描述我的系统,并且让产品、运营、开发都能看明白? 画了一半的图还不清楚受众是谁? 画出来的图到底是产品图功能图还是技术图又或是大杂烩? 图上的框框有点少是不是要找点儿框框加进来? 布局怎么画都不满意…… 如果有同样的困惑,...

2019-11-22 14:51:07

java中随机生成字符串的方法(三种)

1、生成的字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random;//length用户要求产生字符串的长度 public static String getRandomString(int length){ String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU...

2019-11-15 11:10:13

三个线程循环输出1,2,3,试用场景:并发的分工协作

package com.company.lyh;import com.sun.corba.se.spi.copyobject.CopyobjectDefaults;import java.util.concurrent.Semaphore;import java.util.concurrent.locks.Condition;import java.util.concurrent.l...

2019-11-11 17:23:57

如何确保三个线程顺序执行

场景:有三个线程t1、t2、t3。确保三个线程t1执行完后t2执行,t2执行完成后t3执行。1、thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B 1 2 3 4 5 6 7 8 9...

2019-11-11 16:12:49

多线程:保证三个线程依次按顺序执行?newSingleThreadExecutor!!!

newSingleThreadExecutor 这个线程池,保证线程里面的任务依次执行,这让我发现了新大陆,立马实践了一下,发现不负所望;public class TestJoin { public static void main(String[] args) throws InterruptedException { final Thread t1 = new ...

2019-11-11 15:22:13

两个线程如何交替执行,一个输出偶数一个输出奇数?

大部分都会使用 synchronized 来实现,楼主今天带来另外两种优化实现,让你面试的时候,傲视群雄!synchronized实现classThreadPrintDemo2{publicstaticvoidmain(String[] args){finalThreadPrintDemo2 demo2 =newThread...

2019-11-11 11:08:39

Prometheus VS InfluxDB

前言除了传统的监控系统如 Nagios,Zabbix,Sensu 以外,基于时间序列数据库的监控系统随着微服务的兴起越来越受欢迎,比如 Prometheus,比如 InfluxDB。gtt 也尝试了一下这两个系统,希望能找到两者的差别,为以后选型提供一些帮助。首先,说道时间序列数据库不得不说老牌的 rrdtools 和graphite,这些经典老系统工作的非常好,除了有人嫌弃它们在巨大规...

2019-10-15 08:47:27

时序性数据库Prometheus

Prometheus 简介Prometheus 是一套开源的系统监控报警框架。它启发于 Google 的 borgmon 监控系统,由工作在 SoundCloud 的 google 前员工在 2012 年创建,作为社区开源项目进行开发,并于 2015 年正式发布。2016 年,Prometheus 正式加入 Cloud Native Computing Foundation,成为受欢迎度仅...

2019-09-16 15:25:38

如何利用JClassLib修改.class文件

最近在学习逆向分析和反编译,无意之中了解到了JClassLib。JClassLib不但是一个字节码阅读器而且还包含一个类库允许开发者读取,修改,写入Java Class文件与字节码。其他的用途我就不说了,先看一下效果。第一步、准备下载工具,一个是jd-gui,阅读jar包和.class源码的工具,jclasslib就修改.class文件的包下载地址第二步、示范1、比如说这个就是原来的...

2019-09-11 15:56:51

Nacos篇五 - Nacos集群(Linux下standalone模式和cluster模式)

Nacos支持三种部署模式单机模式 - 用于测试和单机试用。集群模式 - 用于生产环境,确保高可用。多集群模式 - 用于多数据中心场景。注:本文已Linux CentOS7系统为讲述如何部署单机模式(standalone)和集群模式(cluster);(虚拟机使用VMware)老规矩环境准备请确保是在环境中安装使用:64 bit OS Linux/Unix/Mac,推荐使用Li...

2019-09-03 11:06:39

maven搭建私有仓库过程记录

一、下载mavenhttps://maven.apache.org/download.cgi二、下载nexus百度网盘地址:https://pan.baidu.com/s/1hr4yG0c三、安装maven1.1 将文件解压到D:\apache-maven-3.5.4目录下:1.2 新建环境变量MAVEN_H...

2019-08-14 15:51:46

Java GUI编程中AWT/swing/SWT的优缺点

AWT  AWT是Abstract Window Toolkit(抽象窗口工具包)的缩写,是SUN专门针对JavaGUI编程提供的最早的也是最初的开发工具包,用来建立和设置Java图形用户界面,这个工具包提供了一套与本地图形界面交互的接口。AWT 中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系(peers)。也就是说,当我们利用 AWT 来构件图形用户界面的时候,实际上是在利用...

2019-07-31 11:13:20

javaFX的几个新特性,让swing彻底过时

这是专栏第一篇非Vert.x相关的文章,既然是真全栈,那就要拿出全栈的样子来,从GUI到数据库,从App到NoSQL,我们都要会,而不仅仅是Vert.x,当然Vert.x很好,只是挨踢世界这么大,总有Vert.x覆盖不到的地方,比如今天要说的JavaFX。首先声明,Java的GUI曾经是最弱的一环,毋庸置疑,而且历史上因为跟M$的斗争,导致Java失去了Desktop发展的最佳时间点,即便...

2019-07-30 16:28:53

SonarQube使用介绍

SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。1.SonarQube扫描方法Jenkins中调用通过jenkins插件调用sonarScanner或使用Maven、Gradle等内置扫描器依据...

2019-07-26 15:39:10

查看更多

勋章 我的勋章
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。