政采云技术

政采云技术团队(Zero),Base 杭州,一个富有激情和技术匠心精神的成长型团队。规模 500 人左右,共同构建完善的工程化体系,项目管理体系和人才培养体系。致力于通过技术创新,构建政企采购云服务生态,期待你的加入

JDK11 与 JDK8 特性差异浅谈
从 JDK8 到 JDK11 到 JDK17 再到目前的 JDK21 ,Java 的发展趋势显示出对性能优化、编程便利性和功能增强的持续关注。
浅析 5 种 React 组件设计模式
作为一名 React 开发者,你可能会面临下面几个问题:如何构建一个高复用度性的组件,使其适应不同的业务场景?如何构建一个具有简单 API的组件,使其易于使用?如何构建一个在 UI 和功能方面具有可扩展性的组件?为解决上述问题,下面介绍五种 React 组件设计模式,并对比它们的优缺点。
图数据库由浅入深
我们都知道数据库是用来存储数据的一个系统,那么图数据库到底是什么?要想知道图数据库是什么,就需要对图的概念有所了解。
MySQL Binlog 入门
binlog 是一个二进制格式的文件,用于记录用户对数据库更新的 SQL 语句信息,例如更改数据库表和更改内容的 SQL 语句都会记录到 binlog 里,但是对库表等内容的查询不会记录。默认情况下,binlog 日志是二进制格式的,不能使用查看文本工具的命令(比如,cat,vi 等)查看,而使用 mysqlbinlog 解析查看。
搜索引擎原理解析:从0开始实现一个搜索引擎
搜索无处不在,作为信息化时代大多数人获取信息的最重要的路径,说搜索引擎是使用最为广泛和频繁的中间件之一,应该没有人会反驳。在实际的应用场景中, 小到个人博客, 大到电商平台,你在谷歌上搜索的每一个关键字, 在电商网站上搜索的每一件商品, 追剧听音乐的时候在搜索栏输入的每一个名字的背后都是搜索引擎的处理和输出。就像是你提问,然后搜索引擎告诉你一个答案,搜索不仅无处不在,无所不知,默默的主宰着网络世界的入口。
探索Taro:跨平台开发的实践与原理
对于开发者来说,针对不同平台重新开发一套小程序应用将变成一场无尽的噩梦。开发者需要熟悉并掌握每个客户端的api差异,编写大量重复的代码,并进行平台特定的调试和适配工作。这不仅增加了开发的工作量和时间成本,还容易导致错误和兼容性问题。
dubbo的SPI 机制与运用实现
SPI(Service Provider Interface),是 JDK 内置的一种服务发现机制,可以用来启用框架扩展和替换组件,主要被开发人员使用。比如 java.sql.Driver 接口,不同厂商可以针对同一接口提供不同实现,MySQL 和 PostgreSQL 都有各自不同实现提供给用户。Java SPI 机制可以为某个接口寻找服务实现。Java 中 SPI 机制主要思想是将装配控制权移到程序之外,模块化设计中这个机制尤其重要,其核心思想就是 解耦。
Java线程和CPU调度
现代操作系统在运行一个程序时,会为其创建一个进程,例如,我们启动一个 Java 程序,系统就会创建一个 Java 进程,在一个进程里可以创建多个线程,这些线程拥有自己的计数器、堆栈和局部变量等属性,引入线程的概念可以将一个进程的资源分配和执行调度分开,并且能够访问共享的内存变量,如内存地址和文件 I/O 等,线程是计算机中比进程更轻量级的调度执行单元,也是系统调度的最小单元,也叫轻量级进程(Light Weight Process, LWP),CPU 在这些线程上高速切换,让使用者感觉到这些线程在同时执行。
Redis内存淘汰和过期删除策略原理分析
Redis是一个内存键值对数据库,所以对于内存的管理尤为重要。Redis内部对于内存的管理主要包含两个方向,过期删除策略和数据淘汰策略。
线程池 ThreadPoolExecutor 基础介绍
线程是进程的一个实体,是 CPU 调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。