保存成功
订阅成功
保存失败,请重试
提交成功
Chat分类
全部·后端·架构·前端·免费专区免费专区·互联网·运维·人工智能·职场·测试·移动开发

最新文章

新鲜出炉的 Chat 文章,为作者鼓个掌吧
查看更多 >
如何在 21 届校招中获得包括 6 家银行信息科技岗的 12 个 offer
大家好,我是 21 届的应届毕业生,软件工程专业硕士。我去年差不多是 6 月份开始准备的秋招,但是走了一些弯路。我重点总结了一些具体的技巧干货,结合了我的21届秋招经历和笔试面试经验写了这篇文章。 内容主要包括: 1、大家的常见问题回答; 2、简历打磨(包括如何写每一项,案例); 3、笔试(题目范围、如何准备); 4、面试(问题、回答、各种题型技巧总结);5、各公司经历(时间线、流程); 6、待遇对比等。 其实所谓的秋招难其实都是相对的,只要自己掌握方法并且准备充分,其实很容易在面试中脱颖而出。 其实我是需求方向的,在银行的招聘中也比较局限,但是仍然收获了满意的 offer。如果你是软开、测试、运维等等其实更不在话下。写这个的初衷是因为自己在前期准备的时候也走了不少弯路,虽说最后大家一定都能拿到offer,但是不希望大家因为慢慢摸索而错过前期一些比较好的,所以总结了这篇文章。最后希望大家都能在秋招中获得心仪的 offer。本文将结合以下银行的具体经验和案例进行总结: - 中国银行软开(offer); - 邮储银行软开(一面通过); - 交通银行北分科技岗(offer); - 农业银行北分科技岗、农银金科(offer); - 工商银行业研、数据中心(一面); - 中信银行软开(offer); - 民生银行信用卡中心科技岗(offer); - 浦发银行北分科技岗(一面); - 中国邮政信息科技(offer)。 其他还有联通、京东以及中国电子下属之类的其他国企和互联网公司共 6 家,共计 12 个 offer。我也会在文中将互联网和国企进行多方面对比,给大家做个参考~
4天前狐狸狐狸狐狸
·
应届生
JVM 架构由浅入深
JVM 是物理机的软件实现。Java 是基于 WORA(Write once, run anywhere)的概念开发的,它运行在 VM 上。编译器将 Java 文件编译为 Java .class 文件,然后将该 .class 文件输入到 JVM 中,JVM 加载并执行类文件。 本场 Chat 从基础到深入并结合生产环境中常出现的 JVM 异常介绍 JVM 架构的三大组件。 1. ClassLoader 2. Runtime Data Areas 3. Execution Engine 对面试,知识整理总结,深入了解 JVM 都有很大的帮助 适合人群:Java 初、中、高级工程师和想学习 JVM 的人群。
4天前上善若水· 地道酬善
·
架构师
MySQL 故障诊断:一个 ALTER TALBE 执行了很久,你慌不慌?
提高 MySQL 能力,排查 MySQL 问题。 当我们对一张大表执行了一个 ALTER TABLE 操作,执行了很久,也不知道是否执行完成,进程在那挂着,此时的你,干瞪眼,进度看不到,进程不敢杀,就问你慌不慌?如果能看到执行进度是不是安心很多?本次我们聊聊 MySQL 的执行进度,看看是我是如何踏实的等待。 再稳定一点点,这次我们聊聊数据库执行进度: - 先了解下 MySQL 数据字典 - 使用一些重要的重要功能 - 直观的观察事件执行进度 - 收下这个常用的 SQL
4天前ranbo
·
高级数据库工程师
彻底搞懂 Zookeeper,吊打大厂面试官
大公司面试特别喜欢问 Zookeeper,我做面试官也喜欢问,因为 Zookeeper 确实是足够的优秀,比如他的 Paxos 算法,Zab 协议,Leader 选举策略,分布式锁等都是大厂面试的高频考点。我们不仅需要熟悉使用 Zookeeper,更要了解他的底层原理,这样不论是工作还是学习都是游刃有余。 本场 Chat 您将学习到以下内容: 1. Zookeeper 应用场景详解 2. Zookeeper 安装与启动 3. Zookeeper 集群搭建 4. Zookeeper 选举策略详解 5. Zookeeper 选举原理剖析 6. Zookeeper 面试题讲解
4天前九月长安
·
Alibaba开发工程师,资深java开发
Spring Boot 整合 Oauth 2.0 的密码模式实战(含完整代码)
Oauth 2.0 有四种授权方式,常用方式是授权码和密码模式两种,本场 Chat 中我使用“密码模式”写了一个 Demo,功能有登录(即获取 Token)、刷新 Token、退出(销毁 Token)、创建用户、获取用户列表、创建客户端。我会详细列出获取 Token、刷新 Token 等核心流程,并且会一步一步的讲解并贴出完整代码。 本场 Chat 你将会获得以下知识: 1. Oauth 2.0 获取 Token 的流程 2. Oauth 2.0 刷新 Token 的流程 3. Oauth 2.0 销毁 Token 的流程 4. Oauth 2.0 密码模式的完整代码 适合人群: Java 中级或以上开发。
4天前老牛
·
技术经理

严选 Chat

优质作者完成的Chat,文章已发布,即刻可读
查看更多 >
循序渐进学 Netty 之 Java IO 体系、线程模型大总结
本教程的题目是《循序渐进学Netty》,就是说要从最基础的知识开始讲起,一步一步、由浅入深引导大家进行 Netty 的学习。在正式学习 Netty 之前,我们有必要回顾一下 Linux IO 模型、线程模型以及 Java 中 I/O 相关的知识,温故而知新。 在本场 Chat 中,将会讲到如下内容: - 传统 Java I/O 及其编程案例 - Java NIO 及其编程案例 - Java 网络编程 - NIO的理论基础及Linux的五种I/O模型 - Reactor线程模型 - 小结 **适合人群** :想温习 Java I/O 知识、学习 Netty 提升技术内功、对网络编程感兴趣的开发人员。
程猿薇茑
·
攻城狮||程序猿
Netty
·
200 订阅
Java 三大框架之 MyBatis 详解
MyBatis 本是 Apache 的一个开源项目 iBatis,2010 年这个项目由 Apache Software Foundation 迁移到了 Google Code,并且改名为 MyBatis。2013 年 11 月迁移到 Github。 iBATIS 一词来源于“Internet”和“Abatis”的组合,是一个基于 Java 的持久层框架。iBATIS 提供的持久层框架包括 SQL Maps和Data Access Objects(DAOs)(来自百度百科) MyBatis 用途有: - MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。 - MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 - MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java 对象)映射成数据库中的记录 本 Chat 内容: 1. MyBatis 入门 2. 基础环境搭建 3. 配置文件讲解 4. 常规 CRUD 使用 5. # 与 $ 的区别和 @param 用法 6. 动态 SQL 的使用 7. 了解日志 8. 结果集嵌套与查询嵌套 9. MyBatis 的缓存 10. 懒加载 注:本文较适合对 MySQL 和 Java 有一定基础的读者
贾斯汀
·
Java工程师,嵌入式耕耘者
MyBatis
·
212 订阅
程序员如何实现睡后收入
睡后收入,网络流行词,字面意思为能躺着就把钱挣了的方法 ,就是被动收入,不需要花费多少时间和精力照看,就可以自动获得的收入,它更是获得财务自由和提前退休的必要前提。“睡后收入”不需要照看,但是可不代表不劳而获,其实在获得“被动收入”之前,往往需要时间的劳动和积累。 程序员在 996 文化盛行的今天 ,生存空间被进一步压缩。没有了晋升、没有了涨薪、似乎 35 岁大厂劝退也渐渐不是一句玩笑话。那么普通程序员如何更好的利用自己程序员特有的技能在休息时间也能获取收入 ,这是我们的追求 ,也是我们每一位程序员都需要掌握的 ,也是完全可行的。 通过本 Chat 你将获得以下收益: 1. 全盘分析程序员的睡后收入有哪些(哪些可以做 ,哪些不能做 ,哪些值得做)? 2. 我在睡后收入的实践道路做了哪些努力和尝试? 3. 如何实现睡后收入的从 0 到 1 再到 1000 的? 4. 如何平衡工作与睡后收入的投入时间? 5. 一份适合你自己的实践建议。
michael
·
阿里云acp认证工程师
赚钱
·
416 订阅
MySQL 地基基础:数据字典
拥有 MySQL 能力,打好 MySQL 地基。 想要用好 MySQL,我们需要不断的学习。MySQL 和其他数据库一样,都需要存储元数据,这些云数据存储在数据字典中,数据字典的存在非常重要,而其在 MySQL 发展历程中也是不断的演变与升级。 再多学一点点,这次我们聊聊数据库数据字典: - 数据字典是什么 - 数据字典的作用 - MySQL information_schema 详解(崭露头角) - MySQL performance_schema 详解(成长升级) - MySQL sys 详解(演变进化)
ranbo
·
高级数据库工程师
MySQL
·
145 订阅
回家 3 天,我做了一辆远程遥控小车
弟弟天天吵着要妈妈买玩具,于是我就想着干脆自己做一辆手机 APP 遥控小车给他玩(这难道不是所有大哥哥都应该为弟弟做的事吗!) 硬件包含: 1. 车子底盘(随意买) 2. Esp12f(8266) 3. L298N 电机驱动模块 4. 18650 电池 5. 电机(我这里只用了 2 个) 涉及的内容: 1. PWM(脉冲宽度调制) 2. 8266 连接阿里云 MQTT 服务器 3. MQTT 协议讲解 4. Java 多线程 5. App 的 MQTT 链接 App 用 Android Studio 写的,总体还是比较容易上手的,看完不会你顺着网线过来锤我(狗头),这不给弟弟妹妹来一份吗?
贾斯汀
·
Java工程师,嵌入式耕耘者
MQTT
·
160 订阅
MySQL 安装部署:我是如何“秒级”部署 MySQL 集群
拥有 MySQL 能力,快速 MySQL 部署。 MySQL 集群安装部署看似简单其实里面的道道有一些,常规安装你可能需要照顾的方面比较多,当然这样可以学到很多东西,但是你又想不想快速部署一套集群环境?一个得了的助手(工具)必不可少,这次我分享一个我是如何秒级部署 MySQL 集群。 再多学一点点,这次我们聊聊 MySQL 集群安装部署。 本场 Chat 内容涉及如下: - 揭秘得力助手 - 他能做为你做什么 - 拿下(安装)这个助手 - 快速部署 MySQL 单点 - 快速部署 MySQL 主从 - 快速部署 MySQL MGR - 如何管理你的助手
ranbo
·
高级数据库工程师
MySQL
·
218 订阅
如何用 Python 从零到一实现《今日头条》发文章机器人
今日头条可谓是开启了新闻阅读的新大门,强大的推荐系统已经让它吸引了成千上万的用户。同时也吸引了更多的创作者选择发布头条文章来成为一个自媒体创业者。而自媒体创业者要绞尽脑汁的写文章,想创意,做排版是一个非常耗时耗力的过程。作为程序员的我们,可以充分利用技术的优势,从众多的自媒体创业者中脱颖而出。 在本场 Chat 中,会讲到如下内容: - 如何抽丝剥茧分析头条文章发布系统的奥妙 - 如何用 Python 爬取内网系统文章并存储 - 如何用 Python 实现头条文章系统自动登录 - 如何用 Python 实现头条文章的批量发布 - 如何部署机器人每天定时发布头条文章吸粉 **适合人群**:想要从事自媒体创业的程序员,对爬虫、机器人感兴趣的人
way
·
算法工程师
Python
·
190 订阅
MySQL 地基基础:事务和锁的面纱
拥有 MySQL 能力,打好 MySQL 地基。 随着业务的快速发展,业务高并发,性能要提高,但是如何保证业务的稳定性及数据的可靠性呢?MySQL事务和锁帮你实现。本次我们聊聊MySQL事务和锁,结合并发控制,深入学习事务隔离级别。 再多学一点点,这次我们聊聊数据库事务和锁: - 什么是事务,为什么需要事务 - 用日常细说事务的特性 - MySQL 并发控制技术 - 面试再也不怕被问到的 MVCC - 简单易懂的实例帮你理解 MySQL 事务隔离级别 - MySQL 锁机制(机智) - 聊几个经典死锁案例 - 小技巧——事务保存点帮你读档重闯关 - 小技巧——一个死锁的具体分析方法 - 小技巧——换种思路提高事务能力
ranbo
·
高级数据库工程师
MySQL
·
201 订阅
责任链模式+脚本引擎实战
责任链,顾名思义,就是用来处理相关事务责任的一条执行链,执行链上有多个节点,每个节点都有机会(条件匹配)处理请求事务,如果某个节点处理完了就可以根据实际业务需求传递给下一个节点继续处理或者返回处理完毕。 责任链常见应用场景有: - 同一请求需要处理多个对象,但具体需要处理哪些请求在运行时动态决定 - 例如 OA 系统中的流程审批,不同流程对应不同的处理对象 对于责任链的实现形式,常见的有: - 节点控制模式:每个节点自由控制是否继续往下传递链的进度,类似于 Netty 中的责任链模式 - 外部调用方式:通过外部调用的方式对链的各个节点调用进行控制,从而实现链的各个节点之间的切换 因此通过责任链模式我们将对系统中各个处理对象**划分边界**,各个对象就是一个处理阶段,通过**自由组合**不同阶段能够快速响应业务需求变化。 上面提到自由组合处理对象,传统的方式就是在代码中实现规定好各个处理对象的顺序,这种方式不能做到对需求的即时响应。因此我们使用阿里开源的 QLExpress 脚本引擎,能够实现动态替换、快速组装各个处理对象。同时基于 QLExpress 的强大,对于处理对象的配置,业务人员也能够简便而不失灵活的进行配置。 在这篇 Chat 中,将会根据实际的业务场景进行提炼,实现一套通用责任链模式进行业务解耦,配合脚本引擎快速响应业务。
Limynl
·
Java高级工程师
设计模式
·
221 订阅
MySQL 地基基础:数据库字符集
拥有 MySQL 能力,打好 MySQL 地基。 你是不是遇到过 MySQL 数据库编码问题,是不是有诸多对 MySQL 字符集的困惑,有没有在使用过程中遇到过各种乱七八糟的乱码问题? 再多学一点点,这次我们聊聊数据库字符集 本场 Chat 内容涉及如下: - 字符集简介 - 字符集分类与特点 - MySQL 与字符集之间亲密关系 - 字符集编码原理 - 字符集与校对规则分析 - 如何更改 MySQL 字符集 - 字符集最佳实践
ranbo
·
高级数据库工程师
MySQL
·
135 订阅
万字长文详解大数据流式计算框架 Flink 实战(中篇)
大数据计算框架 Flink 实战教程共分为三篇。涵盖 Flink 安装配置、基本原理、核心概念、 流处理 API 和批处理 API、存储及状态一致性、容错机制、实战案例以及面试题讲解等。 本篇为第二篇,主要讲解 Flink 的 API、Window 和 Watermark 机制、状态管理和存储、容错机制、状态一致性等等。 在本场 Chat 中,将会讲到如下类容: 1. FlinkAPI - Environment - Source - Transformation - Sink - Window - Watermark - 分层 API 2. Flink 状态管理 3. Flink 状态后端存储 4. Flink 容错机制 5. Flink 检查点和保存点 6. Flink 状态一致性 **适合人群**:对大数据处理感兴趣、工作中需要使用 Flink 进行大数据处理的技术人员。
程猿薇茑
·
攻城狮||程序猿
Flink
·
171 订阅
手写线程池,全面了解 JDK 线程池实现原理
线程池,顾名思义就是存放线程的池子,池子中存放了很多可复用的线程。同时作为面试必备考点,大多数面试者对线程池还是停留在一些基础概念上,对其中的关键点及原理理解不到位或者不深刻,这将会为自己的面试大大减分。本篇 Chat 将以 JDK 线程池为背景,从零到一实现自己的线程池,麻雀虽小,五脏俱全。如果对本 Chat 都理解了,再返回去看 JDK 线程池,例如 ThreadPoolExecutor 等源码,将会得心应手。 在本场 Chat 中,将会涉及如下内容: - 基于 Runnable 实现不带返回值的任务 - 基于 Callable 实现带返回值的任务 - 实现任务的异常处理,将线程中的异常能够抛到线程外 - 利用 AtomicXXX 原子类的 CAS 特性并发控制变量的原子操作 - 基于自旋方式从队列中获取任务并执行,实现线程复用机制 - 基于 LockSupport.park/unpark 实现主线程获取任务返回值 - 控制线程数量,做到线程队列良好的伸缩性 - 灵活实现任务拒绝策略
Limynl
·
Java高级工程师
线程池
·
343 订阅
Kafka 实战教程与面试题讲解
Kafka 是一个分布式的、发布-订阅式消息中间件。最初是由 Linkedin 领英公司基于 Scala 和 Java 语言开发的分布式消息系统,现已捐献给 Apache 软件基金会。事实上 Kafka 不仅仅是一个消息队列(MQ),其已然成为一个开源的分布式流处理平台。Kafka 具有高吞吐、低延迟的特性,许多大数据处理系统比如 Storm、Spark、Flink 等都能很好地与之集成。 在本场 Chat 中,将会讲到如下内容: - Kafka 概述 - Kafka 体系结构 - 分区和主题 - Kafka 文件存储机制 - Kafka 安装与配置 - Kafka 监控管理 - Kafka 生产者消费者脚本 - Kafka 生产者客户端 API - Kafka 消费者客户端 API - Kafka 事务 - Spring Boot 集成 Kafka - Kafka 面试题集锦 **适合人群**:对消息队列感兴趣,在实际开发中需要使用 Kafka 的技术人员
程猿薇茑
·
攻城狮||程序猿
Kafka
·
304 订阅
动态代理种类及原理,你知道多少?
动态代理是代理模式的一种,指在不改动目标对象的基础上,通过一些辅助技术,能够对目标对象实现功能扩展。动态代理的应用场景也是非常广泛,比如常见 Hibernate、Spring、Dubbo 等框架均有运用,因此在了解了常见的动态代理种类及原理后,无疑对这些框架相关部分会理解得更加透彻。同时在面试中,如果能把本文涉及的知识点都讲到,那将会大大增加录用的几率。 在本场 Chat 中,将会涉及如下内容: - 对静态代理回顾,与动态代理本质区别 - JDK 动态代理实现,动态生成代理类源码剖析 - Cglib 代理方式实现,反编译代理类源码剖析 - Javassist 字节码 API 两种情景演示 - 使用 Javassist 动态生成代理类,模拟 JDK 动态代理 - Cglib 底层字节码 ASM 框架介绍
Limynl
·
Java高级工程师
代理
·
360 订阅
数据结构:树,你真的会吗(字节面试真题讲解)
树是一种常用的数据结构,当然也是面试中常考的数据结构,因为它既简单又复杂,可以考察你的深厚功底。本篇会带你整理一遍树的常见面试题以及字节跳动的面试真题,祝你拿下 offer。 本场 Chat,适合任何人,尤其是想要面试字节跳动的童鞋 - 什么是树? - 什么是二叉树? - 什么是二叉搜索树? - 前序、中序、后序遍历都是什么? - 怎么去实现以上三种遍历,递归怎么写?非递归怎么写? - 面试真题 1:最近公共祖先 - 面试真题 2:平衡二叉树 - 面试真题 3:二叉树的右视角 - 面试真题 4:序列化和反序列化二叉树
chris
·
技术带头人
数据结构
·
209 订阅
React 中实现权限管理(前端)
权限管理分为后端权限与前端权限,主要介绍 React 中实现前端权限管理具体方法。 在本场 Chat 中,会讲到如下内容: 1. 动态生成菜单(使用 antd) 2. 动态生成路由(使用 mobx 存储数据) 3. 整个的流程,登录成功,获取数据,进行存储,动态生成菜单与路由的整个过程 采用框架 create-react-app
doubleyong
·
项目经理
React.js
·
217 订阅
大数据开发技能储备&面试指南
大数据技术目前十分火热,但是面对种类繁多的开源框架,如何学习才能更高效?面试前如何准备,才能提高简历筛选通过率?面试中如何应对,才能提高面试成功率? 本文从面试实战中,提炼出大数据开发重要知识点,详细讲解,绝非提纲式阐述,会结合实际场景讲应用、讲原理,绝对干货 本 Chat 包含以下几方面内容: 1. 技能储备 - 大数据项目中,常用的 Java 基础知识,包含 Hashmap、序列化、并发等重点知识 - 大数据项目中,常见的算法数据结构,结合面试真题讲解算法应用、原理 - Hadoop/Hive 必备基础知识,以及考点、面试真题讲解 2. 面试 - JD 识别以及简历准备 - 面试技巧,以及如何与面试官有效沟通
一秋
·
数据架构师
大数据
·
286 订阅
前端框架及项目面试:聚焦 Vue 原理与实战
前端面试时,除了考察原生基础之外,还必考 Vue 框架内容,对于求职者是刚需。在这基础上,还会考察能力方面,即项目设计和项目经验,最终才能通过。 掌握一个框架原理的时候,不一定要一行一行去看源码,毕竟太耗时而且枯燥,正确路线应该先通过别人写的博客,或者视频先掌握框架的大体原理,知道大体原理后,看源码才会事半功倍。 文章会把 Vue.js 拆分成多个小模块,讲解模块间的依赖以及调用关系。然后将源码核心部分抽离压缩,各个模块以小 Demo 的形式展现出来,用最少的代码讲解内部实现。掌握了这些模块的核心原理之后,你足可以应对所有的前端 Vue 技术面试。 在本场 Chat 中,会讲到如下内容: * 响应式系统的基本原理 * 响应式系统的依赖收集追踪原理 * 异步更新策略及 nextTick 原理 * 虚拟(Virtual )DOM 和 Diff 算法 * 数据状态管理 Vuex 工作原理 **适合人群**: 工作 1-3 年的初中级前端工程师,需要修炼内力提升对框架的理解
VC橙
·
前端技术团队
Vue.js
·
254 订阅
学了这篇 Zookeeper,分分钟钟写出分布式应用程序
Zookeeper 是 Apache 软件基金会顶级的开源项目之一,在我们熟知的分布式领域中,Dubbo 就是用它来实现服务注册与发现的,当然在 Kafka 中也有它的影子,主要用它来实现服务器之间的协调、生产者负载均衡、Topic 与 Broker 的注册等等,可见它的作用很强大,但是如果抛开这些开源的项目,让你来设计一个高可用的分布式架构,你可以胜任吗?那还用说?当然可以了!不过前提条件我们得有这方面的技能,所以还是要踏踏实实的去学习它,相信有了 Zookeeper 的介入,你定能会设计出属于自己的分布式应用程序,所以本场 Chat 你值得拥有! 在本场 Chat 中,会讲到如下内容: - Zookeeper 的核心理念与角色分析。 - 集群的搭建步骤与实操。 - 节点类型与常用命令。 - Zookeeper 的读写流程。 - ZAB协议的分析。 - Leader 挂掉之后的分析。 - 第一个Zookeeper 应用程序的讲解。 - 实现自己的服务注册、发现和负载均衡,掌握注册中心的精髓。 - 实现一个几乎“永不宕机”的 HA 架构。 - 分布式锁的实现,并与 Redis 实现的分布式锁做比较。 - 其他应用场景的介绍。 - 关于 Zookeeper 的一些思考。 - 做最后的总结。 温馨提示:实例代码使用的是 Java 语言。 适合人群: 对分布式架构设计感兴趣的所有开发人员。
清然
·
高级软件工程师
ZooKeeper
·
545 订阅
Java 性能提升篇:JVM 之 JIT 的深度理解
随着互联网发展,Java 应用程序的兴起越来越大,同样对 Java 的深入,JVM 的理解也要求越来越高。提升 Java 应用程序性能变得越来越重要,想学习 JVM 调优怎么可以少了 JIT 呢?还有什么可以比 JIT 更影响性能的呢。通过本 Chat,和大家分享 JIT 相关的话题。 本 Chat 适用于相对 JVM 和 JIT 有深入理解的。想要在面试中被问到可以从容应答的。 通过本 Chat 你可以学到如下内容: - Java 是解释型还是编译型语言? - 什么是 JIT 编译? - 如何检测代码编译的详细信息? - 什么是 C1、C2 编译? - 编译有几层?每层的区别是什么? - 如何根据特性选择我想要的编译器? - 这种选择在 JDK7 和 JDK8+ 中一样吗? - 32bit 和 64bit 的 JVM 区别在哪里? - 如何关闭编译等级? - 如果是远程机,怎么进行调试呢? - 如何调试 CodeCache?
chris
·
技术带头人
Java
·
154 订阅
查看全部文章