研发基础
文章平均质量分 86
研发基础
大袤宏图
个人博客:https://damaohongtu.com,V号:大袤宏图
展开
-
Java语言: 多线程
AQS的全称为(AbstractQueuedSynchronizer)抽象的队列式的同步器,是⼀个⽤来构建锁和同步器的框架,使⽤AQS能简单且⾼效地构造出应⽤⼴泛的⼤量的同步器。AQS核⼼思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的⼯作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占⽤,那么就需要⼀套线程阻塞等待以及被唤醒时锁分配的机制,这个机制AQS是⽤CLH(虚拟的双向队列)队列锁实现的,即将暂时获取不到锁的线程加⼊到队列中。简介AQS利用了模板方法模式。原创 2024-03-19 00:06:01 · 908 阅读 · 0 评论 -
Go语言: 基础总结
1. 简介介绍 Go 语言的概述,包括其定义、特点和优势。 简要介绍 Go 语言的应用场景。2. 基础语法详细介绍 Go 语言的基础语法,例如: 变量和常量 数据类型 运算符 控制流语句 函数 结构体 接口 包 3. 并发编程介绍 Go 语言的并发编程特性,例如: Goroutine Channel WaitGroup Sync Context 4. 高级特性介绍 Go 语言的高级特性,例如: 反射 测试 错误处理 泛原创 2024-03-16 15:50:44 · 279 阅读 · 0 评论 -
JAVA语言: Spring
IoC & AOP 不是 Spring 提出来的,它们在 Spring 之前其实已经存在了,只不过当时更加偏向于理论。Spring 在技术层次将这两个思想进行了很好的实现。IoC (Inversion of control )控制反转/反转控制。它是一种思想不是一个技术实现。描述的是:Java 开发领域对象的创建以及管理的问题。例如:现有类 A 依赖于类 B从以上两种开发方式的对比来看:我们 “丧失了一个权力” (创建、管理对象的权力),从而也得到了一个好处(不用再考虑对象的创建、管理等一系列的事情)AOP原创 2024-03-16 13:44:09 · 920 阅读 · 0 评论 -
JAVA语言: 基础
Java是一种面向对象的编程语言,它将程序的代码和数据组织成对象。对象是具有属性和方法的实体。面向对象编程具有许多优点,例如代码复用性、可维护性和可扩展性。类是对象的模板,它定义了对象的属性和方法。对象是类的实例,它具有类的所有属性和方法。原创 2024-03-16 13:11:39 · 817 阅读 · 0 评论 -
Java语言: JVM
Java内存模型简称JMM(Java Memory Model),是Java虚拟机所定义的一种抽象规范,用来屏蔽不同硬件和操作系统的内存访问差异,让java程序在各种平台下都能达到一致的内存访问效果。原创 2024-03-16 12:36:28 · 1050 阅读 · 0 评论 -
计算机网络
就是一个对象(比如URL)的标志值,就一个对象而言,比如一个html文件,如果被修改了,其Etag也会别修改,所以,ETag的作用跟Last-Modified的作用差不多,主要供WEB服务器判断一个对象是否改变了。举例,客户端A向服务端B发送数据,受到网络状态的影响,可能A发送的数据B很久以后才收到(实际上A已经通过重传机制重新发送了),当这个阻塞的数据到来的时候,B就会误以为这是一个新的连接,则B将等待A,但是实际上A并没有发起新的请求,这就导致了资源的浪费。如果窗口大小为零,发送方会停止发送数据。原创 2024-03-16 11:38:39 · 767 阅读 · 0 评论 -
服务端研发工程师技能树
基础技能编程语言:Java、Go、Python、C++ 等数据结构与算法操作系统网络协议:TCP/IP、HTTP 等数据库:MySQL、Redis、MongoDB 、ElasticSearch、ClickHouse、postgresql等缓存:Redis、Memcached 等消息队列:Kafka、RabbitMQ 等安全:XSS、SQL 注入、CSRF 等应用技能Web 开发:框架Spring Boot、Gin、Flask 、Vue等开发工具使用微服务:Spring Clou原创 2024-02-18 15:11:45 · 274 阅读 · 0 评论