暂时未有相关云产品技术能力~
暂无个人介绍
GPT 能够给我们带来很大的帮助,因此我们要好好利用它。我们希望 GPT 输出令我们满意的内容,影响 GPT 输出内容的因素有模型和输入(Prompt,提示词)。 - 模型:我们可以选择不同的 GPT 产品,它们的模型可能不同,譬如 ChatGPT、Claude、文心一言、通义千问等。如果有能力的话,可以对开源的模型进行微调,或者自己训练模型。 - 提示词:我们可以学习如何编写好的提示词,这样 GPT 输出的内容就会更符合我们的预期。
在多道程序环境下,内存中存在着多个进程,进程的数目往往多于处理机的数目。这就要求系统能按某种算法,动态地将处理机分配给一个处于就绪状态的进程,使之执行。分配处理机的任务是由处理机调度程序完成的。 对于大型系统运行时的性能,如系统吞吐量、资源利用率、作业周转时间或响应的及时性等,在很大程度上都取决于处理机调度性能的好坏。因而,处理机调度便成为OS中至关重要的部分。
编译程序是一种翻译程序,编译程序是将一种语言形式翻译成另一种语言形式。它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。 整个编译过程一般可以划分为 5 个阶段:词法分析、语法分析、语义分析及中间代码生成、中间代码优化和目标代码生成。
先行发生原则(Happens-Before)是Java内存模型定义的一个等效判断原则。依赖这个原则,我们可以通过几条简单规则判断数据是否存在竞争,线程是否安全,而不需要陷入Java内存模型苦涩难懂的定义之中。
volatile 关键字可以说是 Java 虚拟机提供的最轻量级的同步机制,但是它并不容易被正确、完整地理解,以至于许多程序员都习惯去避免使用它,遇到需要处理多线程数据竞争问题的时候一律使用 synchronized 来进行同步。了解 volatile 变量的语义对理解多线程操作的其他特性很有意义。
CAS 是乐观锁设计思想的实现。CAS 的思想是:在“读取 - 修改 - 写回”操作序列中,先读取并修改数据,写回数据前先判断读取数据后的这段时间内数据是否发生变化(共享变量的当前值是否是我们的期望值)。通过 CAS 我们可以以无锁的方式,保证对共享数据进行 “读取 - 修改 - 写回” 操作序列的正确性。
为了实现高效并发,虚拟机对 synchronized 做的一系列的锁优化措施。包括:适应性自旋、锁消除、锁粗化、轻量级锁、偏向锁。
本篇文章介绍了 1. Java的线程生命周期; 2. Java的线程状态切换; 3. Java线程API的使用。
抽象类:在子类继承父类时,父类的一些方法实现是不明确的(父类对子类的实现一无所知)。这时需要使父类是抽象类,在子类中提供方法的实现。 接口(interface)技术主要用来描述类具有什么功能,而并不给出每个功能的具体实现。
有时,需要将 int 这样的基本类型转换为对象。所有的基本类型都有一个与之对应的类。
可以将实例域定义为 final。对于 final 域来说,构建对象时必须初始化 final 实例域,构造对象之后就不允许改变 final 实例域的值了。 final 类和方法用来阻止继承。
Object 类提供的 clone() 方法是 “浅拷贝”,并没有克隆对象中引用的其他对象,原对象和克隆的对象仍然会共享一些信息。深拷贝指的是:在对象中存在其他对象的引用的情况下,会同时克隆对象中引用的其他对象,原对象和克隆的对象互不影响。
为了实现面向对象程序设计(OOP)的封装这个特性,需要程序设计语言提供一定的语法机制来支持。这个语法机制就是访问权限控制(访问修饰符:public、protected、private、default)。
面向对象程序设计是一种编程范式或编程风格。 面向对象的程序是由类和对象组成的(以类和对象作为组织代码的基本单元),并将封装、抽象、继承、多态这四个特性,作为程序设计和实现的基础。
当前主流编程语言的垃圾收集器基本上都是依靠可达性分析算法来判定对象是否存活的
《Java 虚拟机规范》中曾试图定义一种“Java 内存模型”(Java Memory Model,JMM)来屏蔽各种硬件和操作系统的内存访问差异, 以实现让 Java 程序在各种平台下都能达到一致的内存访问效果。 Java 内存模型的主要目的是定义程序中各种变量的访问规则,即关注在虚拟机中把变量值存储到内存和从内存中取出变量值这样的底层细节。
介绍分代收集理论和几种垃圾收集算法(标记-清除、标记-复制、标记-整理)的思想及其发展过程。
在堆里面存放着 Java 世界中几乎所有的对象实例,垃圾收集器在对 Java 堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”(“死去”即不可能再被任何途径使用的对象)。 有两种判断对象是否存活的算法:引用计数算法、可达性分析算法。
本文从概念上介绍 Java 虚拟机内存的各个区域,讲解这些区域的作用、服务对象以及其中可能产生的问题。
消费者读取消息。在其他基于发布与订阅的消息系统中,消费者可能被称为订阅者 或 读者。 消费者订阅一个或多个主题,并按照消息生成的顺序读取它们。消费者通过检查消息的偏移量来区分已经读取过的消息。
生产者创建消息。在其他基于发布与订阅的消息系统中,生产者可能被称为发布者 或 写入者。
通过阅读本篇文字,你可以了解到 Kafka 中的概念:消息、主题、分区、消费者群组、broker 等。
事务将应用程序的多个读、写操作捆绑在一起成为一个逻辑执行单元。即事务中的所有读写是一个执行的整体,整 个事务要么成功(提交)、要么失败(中止 或者 回滚)。如果失败,应用程序可以安全地重试。
数据库设计是指:根据用户的需求,在数据库管理系统上(比如:MySQL、Oracle),设计数据库的结构和建立数据库的过程。 数据库设计的设计内容包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护。
Java 集合主要包括 Collection 和 Map 两种: 1、Collection 是一种存储元素的集合,Collection 包括 List、Set、Queue 三种类型。 2、Map 是一种存储键值对的集合。
通过阅读本篇文章你可以了解到: 1、为什么要有HTTPS; 2、TLS1.2 握手的过程。
简单来说,当用户在浏览器的地址栏中输入 URL 并点击回车后,浏览器从服务端获取资源,然后将内容显示在页面上。这个过程经过了:浏览器缓存 -> DNS 域名解析 -> URL 编码 -> 使用 HTTP 或者使用 HTTPS 协议发送请求 -> - 对于访问静态资源的 HTTP 请求:CDN -> CDN 回源到对象存储 OSS 或者源服务器 - 对于访问动态资源的 HTTP 请求:负载均衡器 Nginx -> 应用服务器 -> 缓存系统 -> 存储系统
内容分发网络(英语:Content Delivery Network 或 Content Distribution Network,缩写:CDN)将源站资源缓存到全国各地的边缘服务器,供用户就近获取,降低源站压力。 通过阅读本篇文章,你可以了解到 CDN 的工作过程。 1、CDN 服务商的职责:CDN 专用的域名服务器将域名解析成缓存服务器的 IP 地址。 2、CDN 使用者的任务:使用 CDN 服务的网站,将网站域名的解析权交给 CDN 专用的域名服务器,再将需要分发的内容注入 CDN(或者由 CDN 拉取),就可以实现内容加速了。
域名是互联网上某一台计算机或计算机组的名称。域名可以说是一个 IP 地址的代称,目的是为了便于记忆。 通过阅读本篇文章,你可以了解到: 1、域名的结构; 2、域名的解析过程; 3、记录类型(A记录、CNAME记录 等) 4、域名的应用
通过阅读本篇文章,你可以了解到对称加密、非对称加密、组合加密。
通过阅读本篇文章,你可以了解到:UTF-8编码的规则。
本篇文章介绍 Unicode 编码。
通过这篇文章,你可以了解到: 1、为什么要有 URL 编码 2、URL 编码的规则
通过阅读本篇文章,你可以了解到: 1、Base64 编码的作用 2、Base64 编码的规则 3、Base64 索引表
通过阅读本篇文章,你可以了解到数字签名技术,了解支付宝接口的签名和验签的流程
通过阅读本篇文章,你可以了解到如下知识: 1. 数字签名是什么 2. 数字签名的作用 3. 签名 和 验签的流程 4. RSA、RSA2 签名算法
本篇文章介绍 Java 集合中的 ConcurrentHashMap。 1、CHM 的底层存储结构; 2、CHM 的新增操作的处理逻辑; 3、CHM 的数组扩容机制; 4、CHM 的查询操作的处理逻辑; 5、CHM 的计数;
本篇文章介绍 Java 集合中的 HashMap。 1、HashMap 的底层存储结构 2、HashMap 的新增操作的处理逻辑 3、HashMap 的数组扩容机制 4、HashMap 的查询操作的处理逻辑
本篇文章介绍了Redis的数据复制1. 完整重同步、2. 部分重同步、3. 命令传播、4. 心跳检测、5. 介绍 偏移量 & 积压缓冲区 & 运行ID
本篇文章介绍1.AOF 日志、2.AOF 持久化的实现原理、3.AOF 的写回策略、4.AOF 文件重写
本篇文章介绍了 Redis 的数据持久化方案:AOF日志、RDB快照,以及 AOF 和 RDB 混合持久化
本篇文章主要介绍了HTTP报文、HTTP请求方法、HTTP响应的状态码、Cookie技术
Redis 集群是 Redis 提供的分布式数据库方案, 集群通过分片(sharding) 来进行数据共享, 并提供复制和故障转移功能。
Sentinel 是 Redis 的高可用性解决方案:由一个或多个 Sentinel 实例组成的 Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。
本文主要介绍了 1. AQS 的实现原理:同步阻塞队列 2. Condition 的实现原理:条件等待队列
本篇文章主要介绍MySQL中的锁: 1.全局锁 2.表级锁(表锁、意向锁、元数据锁 MDL) 3.行级锁(行锁、Gap Lock、Next-Key Lock)
本篇文章主要介绍了 多版本并发控制(MVCC)在 MySQL 的实现
本篇文章主要介绍了 1. 各种隔离级别 2. 事务并发执行时,存在的并发问题 3. 如何防止并发问题
本篇文章主要介绍事务机制: 1. 对事务进行控制 2. 事务的ACID特性
本篇文章主要介绍 Redo Log 和 Undo Log: 1. 利用 Redo Log 和 Undo Log 实现本地事务的原子性、持久性 2. Redo Log 的写回策略 3. Redo Log Buffer 的刷盘时机