干货

万字干货! 使用docker部署jenkins和gitlab

万字原创文章! 本文将实现通过docker部署Jenkins与GitLab, 并自动化发布应用: 本地机器将代码推送到GitLab, GitLab通过web hook触发Jenkins流水线, Jenkins获取GitLab的代码并生成jar包, 将jar包推送到应用服务器, 并运行jar包. ... »

wbourne Linux

Thrift RPC添加access log

前言: 当我们在部署web服务的时候,web容器通常都会记录来自客户端的访问日志。而当我们使用Thrift RPC服务的时候,Thrift服务则不会给我们自动记录客户端的访问日志。 通过这篇文章,你可以学习到如何使用在Thrift服务器端添加客户端的访问日志。 面临的问题: 要在Thrift服务器端 ... »

程序员面试干货:漫谈计算机网络:数据链路层 ----- 数据链路路在何方? --从点对点数据传输 到 "广泛撒网,重点捕获"的局域网

面试答不上?计网很枯燥? 听说你学习 计网 每次记了都会忘? 不妨抽时间和我一起多学学它? 深入浅出,用你的空闲时间来探索计算机网络的硬核知识! ?博主的上篇连载文章《初识图像处理技术》 图像处理技术:数字图像分割 图像分割、边界分割(边缘检测)、区域分割 - slowlydance2me - ... »

Java开发环境安装与配置(干货详细教程)

Java开发环境安装与配置(干货详细教程) 对于文章中出现的任何错误请大家批评指出,会及时做出修改! 安装JDK JDK是 Java 语言的软件开发工具包要学习 链接Java中国官网https://www.java.com/zh-CN/download/ 下载java8 开始安装Java8 更改路径 ... »

bumian Java

万字干货_JDK动态代理及其源码解析 拿捏了

作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功、JAVA底层、面试相关资料等更多精彩文章在公众号「小牛呼噜噜 」 大家好,我是呼噜噜,在之前的一篇文章-Java注解中,我们详细讲解了Java注解及其原理,其中反射调用注解的时候(class.getAnnotati ... »

G1 垃圾收集器深入剖析(图文超详解)

G1(Garbage First)垃圾收集器,是目前垃圾回收技术最前沿的成果之一。G1 同 CMS 垃圾回收器一样,关注最小时延的垃圾回收器,适合大尺寸堆内存的垃圾收集。但G1 最大的特点是引入分区的思路,弱化了分代的概念,合理利用垃圾收集各个周期的资源,解决了其他收集及 CMS 的很多缺陷。官方推... ... »

微服务 Zipkin 链路追踪原理(图文详解)

一个看起来很简单的应用,可能需要数十或数百个服务来支撑,一个请求就要多次服务调用。 当请求变慢、或者不能使用时,我们是不知道是哪个后台服务引起的。 这时,我们使用 Zipkin 就能解决这个问题。 由于业务访问量的增大,业务复杂度增加,以及微服务架构和容器技术的兴起,要对系统进行各种拆分。 微服务系 ... »

5大负载均衡算法 (原理图解)

负载均衡,是分布式架构的必备技术,也是进阶的必学技术,需要重点掌握。本文深入详解负载均衡的5大核心算法,我们先来看一张典型的集群和负载均衡架构图:当一台机器不能承受访问压力时,我们大多会通过横向增加两台、或者多台服务器,来共同承担访问压力,来极大的降低后端的访问压力,提升用户的访问性能。但是,从一台... ... »

雪花算法详解(原理优缺点及代码实现)

目录 雪花算法简介 雪花算法的优缺点 雪花算法原理 雪花算法代码实现 雪花算法简介 雪花算法,英文名为snowflake,翻译过来就是是雪花,所以叫雪花算法。 在大自然雪花形成过程中,会形成不同的结构分支,所以说不存在两片完全一样的雪花,表示生成的id如雪花般独一无二。 雪花算法,它最早是twitt ... »

关于2023届互联网秋招,我想简单说两句

我是一名2023届双非毕业生(软件工程专业,无实习经历),大概从7月开始吧,打磨简历、刷笔试题、看面经、找公司、投简历、做性格测试、做笔试、面试、总结面试,之后再次打磨简历。。。这样周而复始的几个月过去了,有一些经验之谈或者说是切身体会吧,在此做一下记录和分享。(我投递的后端开发岗居多数) 1、关于 ... »

什么是缓存雪崩?服务器雪崩的场景与解决方案

目录 什么是应用服务雪崩 缓存雪崩 雪崩效应产生的几种场景 缓存雪崩的解决方案 雪崩的整体解决方案 (1)熔断模式 (2)隔离模式 (3)限流模式 熔断设计 隔离设计 超时机制设计 如何提前发现雪崩 什么是应用服务雪崩 雪崩问题 分布式系统都存在这样一个问题,由于网络的不稳定性,决定了任何一个服务的 ... »

springboot自动配置原理以及手动实现配置类

springboot自动配置原理以及手动实现配置类 1、原理 spring有一个思想是“约定大于配置”。 配置类自动配置可以帮助开发人员更加专注于业务逻辑开发,springboot在启动的时候可以把一些配置类自动注入到spring的IOC容器里,项目运行之后就可以直接使用这些配置类的属性和方法等。 ... »

Java 读写锁 ReadWriteLock 原理与应用场景详解

Java并发编程提供了读写锁,主要用于读多写少的场景,今天我就重点来讲解读写锁的底层实现原理@mikechen 什么是读写锁? 读写锁并不是JAVA所特有的读写锁(Readers-Writer Lock)顾名思义是一把锁分为两部分:读锁和写锁,其中读锁允许多个线程同时获得,因为读操作本身是线程安全的 ... »

RabbitMQ原理和架构图解(附6大工作模式)

为什么要使用RabbitMQ? 1.解耦 系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦。 2.异步 将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度。 3.削峰 并发量大的时候,所有的请求直接怼到数据库,造成数据库连接异常。 Rab ... »

搞透 IOC,Spring IOC 看这篇就够了!

IOC与AOP属于Spring的核心内容,如果想掌握好Spring你肯定需要对IOC有足够的了解 @mikechen IOC的定义 IOC是Inversion of Control的缩写,多数书籍翻译成“控制反转”。 IOC不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设 ... »

消息队列MQ核心原理全面总结(11大必会原理)

消息队列已经逐渐成为分布式应用场景、内部通信、以及秒杀等高并发业务场景的核心手段,它具有低耦合、可靠投递、广播、流量控制、最终一致性 等一系列功能。 无论是 RabbitMQ、RocketMQ、ActiveMQ、Kafka还是其它等,都有的一些基本原理、术语、机制等,总结分享出来,希望大家在使用消息 ... »

Mybatis 一级缓存和二级缓存原理区别 (图文详解)

Java面试经常问到Mybatis一级缓存和二级缓存,今天就给大家重点详解Mybatis一级缓存和二级缓存原理与区别@mikechen Mybatis缓存 缓存就是内存中的数据,常常来自对数据库查询结果的保存,使用缓存可以避免频繁与数据库进行交互,从而提高查询响应速度。 MyBatis 提供了对缓存 ... »