打工人很惨
码龄10年
关注
提问 私信
  • 博客:159,341
    问答:646
    159,987
    总访问量
  • 44
    原创
  • 1,512,252
    排名
  • 40
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江西省
  • 加入CSDN时间: 2015-04-11
博客简介:

pengjianglilive的专栏

查看详细资料
个人成就
  • 获得71次点赞
  • 内容获得17次评论
  • 获得468次收藏
  • 代码片获得192次分享
创作历程
  • 2篇
    2023年
  • 19篇
    2022年
  • 152篇
    2021年
  • 17篇
    2020年
  • 1篇
    2018年
  • 1篇
    2015年
成就勋章
TA的专栏
  • 面试
    2篇
  • redis
    13篇
  • 领域模型
    1篇
  • Java
    66篇
  • spring系列
    19篇
  • netty
    6篇
  • dubbo
    1篇
  • 高并发
    10篇
  • 算法
    1篇
  • jvm
    1篇
  • mysql
    20篇
  • linux
    1篇
  • 数据结构
    2篇
  • git
    1篇
  • 软件自动化测试
    31篇
  • 第一阶段
    1篇
  • mq
    1篇
  • nacos
  • http
    1篇
  • 设计模式
    1篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 运维
    容器jenkinskubernetes系统架构网络
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

180人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

BIO、NIO、AIO、Netty面试题(35道含答案)

Java中I/O是以流为基础进行数据的输入输出的,所有数据被串行化(所谓串行化就是数据要按顺序进行输入输出)写入输出流。简单来说就是java通过io流方式和外部设备进行交互。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据传输流,字符串流,对象流等等等。比如程序从服务器上下载图片,就是通过流的方式从网络上以流的方式到程序中,在到硬盘中BIO:同步并阻塞,服务器实现一个连接一个线程,即客户端有连接请求时服务器端就需要启动一。
转载
发布博客 2023.04.06 ·
953 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

TCP,UDP,Socket,Http网络编程面试题(47道含答案)

网络编程网络编程的本质是多台计算机之间的数据交换。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给其他设备,然后接受另外一个设备反馈的数据。现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外一个,然后接收另一个设备的反馈。在网络编程中,发起连接程序,也就是发送第一次请求的程序,被称作客户端(Client),等待其他程序连接的程序被称作服务器(Server)。客户端程序可以在需要的时候启动,而服务器为了能够时刻相应连接,则需要一直启动。
转载
发布博客 2023.04.06 ·
1745 阅读 ·
2 点赞 ·
0 评论 ·
24 收藏

Redis面试题(2022最新版)

redis面试题
转载
发布博客 2022.07.07 ·
2358 阅读 ·
2 点赞 ·
1 评论 ·
5 收藏

DDD领域模型设计

DDD领域驱动设计_靖节先生的博客-CSDN博客_ddd领域驱动设计
转载
发布博客 2022.05.07 ·
469 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Google浏览器 安装 Elasticsearch-head 插件

第一步 下载插件下载插件地址:https://github.com/liufengji/es-head第二步 修改名称并解压将elasticsearch-head.crx更名为elasticsearch-head.rar 再解压;进入elasticsearch-head文件夹将_metadata文件夹重命名为metadata第三步 安装插件打开Google的扩展程序,点击加载已解压的扩展程序,选择解压elasticsearch-head文件夹即可添加插件成功...
转载
发布博客 2022.04.24 ·
2084 阅读 ·
2 点赞 ·
2 评论 ·
2 收藏

spring boot 学习文档

Spring Boot框架入门教程(快速学习版)
转载
发布博客 2022.04.12 ·
167 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

channelOption中的属性了解

ChannelOption类中的各个属性的定义publicstaticfinal ChannelOption<ByteBufAllocator> ALLOCATOR = valueOf("ALLOCATOR");Netty适用对象池,重用缓冲区public static final ChannelOption<RecvByteBufAllocator> RCVBUF_ALLOCATOR = valueOf("RCVBUF_ALLOCATOR");Ne...
转载
发布博客 2022.04.03 ·
1348 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Netty中Channel的生命周期(SimpleChannelInboundHandler)

Netty中Channel的生命周期(SimpleChannelInboundHandler)_小龙哒的博客-CSDN博客_netty生命周期
转载
发布博客 2022.04.03 ·
323 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

dubbo官方文档

文档 | Apache Dubbo
转载
发布博客 2022.03.04 ·
1343 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

动静分离架构模式

1.动静分离概念动静分离(动态文件与静态文件的分离)是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。静态资源:当用户多次访问这个资源,资源的源代码永远不会改变的资源。 动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变。2.为什么要用动静分离提高用户访问静态代码的速度,降低对后台应用访问。 Nginx作为静态资源服务器比Tocmat响应吞吐高很多;传统的架
转载
发布博客 2022.01.22 ·
260 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

缓存策略汇总

1.浏览器缓存浏览器自带缓存304:图片的默认缓存时间为7天客户端(浏览器)发送请求到服务器端 第一次请求的时候会缓存所有的静态资源到浏览器;客户端发送第二次请求的时候 如果本地浏览器有缓存,就使用本地浏览器的;Key:访问的urlvalue:具体的值信息原理:a、第一次下载资源的时候,客户端会保存修改时间b、第二次下载资源的时候,客户端上传修改时间,服务端决定返回200还304.----这种时间不一定准,所以请求的时候一般会加上一个时间戳或版本号信息强制刷新。http://www.ba
转载
发布博客 2022.01.22 ·
747 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

后端服务的雪崩效应及解决思路

1.RPC与本地调用的区别RPC远程调用,一般是跨平台、采用http协议,因为http协议底层使用socket技术,只要你的语言支持socket技术,就可以相互进行通讯。比如:java语言开发的接口,使用http协议,如此以来C#语言可以调用。本地调用:只支持java语言与java语言开发,使用虚拟机和虚拟机之间的通讯,RMI。2.雪崩效应产生的原因默认情况下只有一个线程池维护所有的服务接口,如果大量的请求访问同一个接口,达到tomcat线程池默认极限,可能会导致其他服务无法访问。3.雪
转载
发布博客 2022.01.22 ·
244 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

服务的隔离、降级和熔断

1.服务隔离、降级和熔断的产生背景tomcat底层都会共享一个线程池(自己创建的例外),当某个方法(服务)访问非常慢造成响应延迟,会造成大多数线程阻塞,导致整个线程池被占用甚至拖垮。线程名定义:线程池名称+线程ID2.服务隔离解决思路2.1 线程池隔离不同的http服务使用不同的线程池,当自己的资源用完,直接返回失败而不是占用别人的资源优点:可提高并发性缺点:增加CPU调度开销使用场景:第三方应用或接口;并发量大2.2 信号量隔离原子计数器方式记录当前运行的线程数,超过则拒绝,不超过则+
转载
发布博客 2022.01.22 ·
360 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

限流算法整理

漏桶算法和令牌桶算法的区别“漏桶算法”能够强行限制数据的传输速率 “令牌桶算法”在能够限制数据的平均传输速率外,还允许某种程度的突发传输。在“令牌桶算法”中,只要令牌桶中存在令牌,那么就允许突发地传输数据直到达到用户配置的门限,因此它适合于具有突发特性的流量。服务限流之漏桶算法一个固定的漏桶,以常量固定的速率流出水滴。 如果桶中没有水滴的话,则不会流出水滴如果流入的水滴超过桶中的流量,则流入的水滴可能会发生溢出,溢出的水滴请求是无法访问的,直接调用服务降级方法,桶中的容量是不会发生变化。
转载
发布博客 2022.01.22 ·
127 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

自定义封装限流算法

定义注解:@Target({ ElementType.METHOD })@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface ExtRateLimiter { // 以每秒为单位固定的速率值往令牌桶中添加令牌 double permitsPerSecond(); // 在规定的毫秒数中,如果没有获取到令牌的话,则直接走服务降级处理 long timeout();}定义AOP:@Asp.
转载
发布博客 2022.01.22 ·
123 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

高并发专题

1:接入层限流接入层通常指请求流量的入口,该层的主要目的有:负载均衡、非法请求过滤、请求聚合、缓存、降级、限流、A/B测试、服务质量监控等等,可以参考笔者写的《使用Nginx+Lua(OpenResty)开发高性能Web应用》。对于Nginx接入层限流可以使用Nginx自带了两个模块:连接数限流模块ngx_http_limit_conn_module和漏桶算法实现的请求限流模块ngx_http_limit_req_module。还可以使用OpenResty提供的Lua限流模块lua-resty-l
原创
发布博客 2022.01.22 ·
124 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

高性能IO框架Netty五 - Netty内置的编解码器

一、什么是编解码器就像我们用的Spring里面的HttpRequest对象,难道客户端传过来就是一个HttpRequest对象吗?很显然一般网络中传输都是通过字节流进行传输的。那么由字节流转为我们需要的对象的过程就叫做解码。从对象再转为字节流或者其他对象的过程,叫做编码。每个网络应用程序都必须定义如何解析在两个节点之间来回传输的原始字节,以及如何将其和目标应用程序的数据格式做相互转换。这种转换逻辑由编解码器处理,编解码器由编码器和解码器组成,它们每种都可以将字节流从一种格式转换为另一种格式。那么...
转载
发布博客 2022.01.13 ·
629 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Netty内存分配策略

Netty 作为一款高性能的 RPC 框架必然涉及到频繁的内存分配销毁操作。图片来自 Pexels如果是在堆上分配内存空间将会触发频繁的 GC,JDK 在 1.4 之后提供的 NIO 也已经提供了直接直接分配堆外内存空间的能力,但是也仅仅是提供了基本的能力,创建、回收相关的功能和效率都很简陋。基于此,在堆外内存使用方面,Netty 自己实现了一套创建、回收堆外内存池的相关功能。基于此我们一起来看一下 Netty 是如何实现内存分配的。Netty 中的数据容器分类谈到数据保存肯定要说
转载
发布博客 2022.01.13 ·
134 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

netty中channelOption属性

ChannelOption类中的各个属性的定义publicstaticfinal ChannelOption<ByteBufAllocator> ALLOCATOR = valueOf("ALLOCATOR");Netty适用对象池,重用缓冲区public static final ChannelOption<RecvByteBufAllocator> RCVBUF_ALLOCATOR = valueOf("RCVBUF_ALLOCATOR");Ne...
翻译
发布博客 2022.01.12 ·
762 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Netty 核心模块组件

Bootstrap、ServerBootstrap1.1 解释  一个 Netty 应用通常由一个 Bootstrap 开始,主要作用是配置整个 Netty 程序,串联各个组件,Netty 中 Bootstrap 类是客户端程序的启动引导类,ServerBootstrap 是服务端启动引导类;1.2常见的方法  1. publicServerBootstrapgroup(EventLoopGroup parentGroup, EventLoopGroup childGroup),该...
转载
发布博客 2022.01.12 ·
111 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多