全栈没你想的那么难!手握阿里大佬Angular和Spring Boot全栈技能修炼手册,眼界打开

Windows Server 搭建ftp服务 阅读详情

前言

今天的技术领域真的是让人眼花缭乱,除了前端的各种框架,后端的技术又出现了容器、微服务等概念。数据库除了传统的关系型数据库,还有各种NoSQL数据库纷纷登场,分布式数据库的需求也越来越强;这还没算上大数据、人工智能等。这么多的概念,我们甚至都不知道怎么去选择,如何去学习!

全栈在刚入行的程序员眼里可能觉得是遥不可及的一个层次,给人的感觉好像样样通、样样松。但其实但是任何一个领域学到一定程度时,就会发现在其他平台或编程语言上有类似的理念和思想,这些是相通的,眼界高了也就慢慢往全栈靠近了。

全栈,是技术领域的一条 Hard Way,选择它,你就要付出很多额外的努力——并非是996,而是通过更多、更努力的思考(工作955,思考7×24)。其回报则是在多年之后,每当别人提起你时都会不禁赞叹:“瞧那位 Hardcore 的程序员!”没有付出就没有回报。相对于少数几条 Hard Way 来说,世界上还有无数条 Easy Way。如果你对 Hard Way 有着恐惧或犹疑,那么,请放下这本书,随便拿起一本“21天精通×××”。

如果这都没有吓跑你,那么我要向你透露一个价值连城的秘密——“全栈并不难”。至少,对勤于思考的人来说,全栈是一个自然而然的结果,并不需要额外的代价。你之所以曾经觉得全栈难,是因为眼界受到限制。

今天分享的这份《Angular和Spring Boot全栈技能修炼手册》是由阿里的大佬分享给我的,内容非常详细。下面会直接给大家展示内容!

全栈,不是特定技术的组合,而是一种思维方式,一种眼界!

全栈,不是特定技术的组合,而是一种思维方式,一种眼界!

目录

内容总览

最后

希望大家可以通过这份文档为自己开启一扇门,真正掌握这些让人眼花缭乱的编程语言、框架、平台、IDE等技术背后的编程思想。

FAST_LIO_ROS2 可以用gazebo仿真吗? 摘要:FAST_LIO_ROS2可与Gazebo仿真环境兼容,通过订阅Gazebo模拟的激光雷达和IMU数据实现SLAM建图。已有开源项目(如pb_rm_simulation)验证了该方案,支持导航模式切换与真实机器人移植。关键步骤包括环境配置、传感器话题匹配及参数调试,需注意版本兼容性与数据噪声处理。相关教程提供了从环境搭建到三维建图的完整流程。 阅读详情

相关推荐

pandas,构造MultiIndex的四种方法:from_tuples、from_arrays、from_product、from_frame

1、from_tuples:通过 “元组对” 构造MultiIndex """ 一对元组,为一个索引 """ tuples = [(1, 'red'), (1, 'blue'), (2, 'red'), (2, 'blue')] pd.MultiIndex.from_tuples(tuples, names=('number', 'color')) 2、from_arrays:通过 “列表元素的组合” 构造MultiIndex """ 列中表的元素,按位置 对应组合,形成索引 """ arrays

jieru_liu的博客 5387

牛逼!吹爆这份进阶学习SpringBoot+Vue全栈开发实战文档,阿里大佬强推。

Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置烦琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能够快速上手Spring,利用Spring框架快速搭建JavaEE项目,Spring Boot应运而生。Spring Boot带来了全新的自动化配置解决方案,使用Spring Boot可以快速创建基于Spring生产级的独立应用程序。

m0_57042151的博客 302

实测对比:纳芯微NSD1624在光伏逆变器中的性能表现(含温度测试数据)

本文详细评测了纳芯微NSD1624非隔离驱动芯片在光伏逆变器中的性能表现,包括动态效率、高温稳定性及抗干扰能力。实测数据显示,该芯片在800V母线电压下效率峰值达99.03%,高温环境下结温稳定在102.7℃,且传播延迟一致性优异。与竞品相比,NSD1624在总损耗和热阻方面具有显著优势,是光伏逆变器驱动方案的理想选择。

weixin_29297127的博客 363

【收藏向】最全全栈工程师学习路径(基于Java)

前言:笔者也是奋斗于全栈学习的学生之一,根据教学各大教学机构、大佬整理、经典教材和自己的实际体验总结出一个全栈工程师学习路径。需要注意的是,这个学习路径是基于Java的,也就是推荐第一语言为Java的读者使用,因为Java使用者广泛、结构完整、是世界上最好用的语言(不接受反驳)。 完整的学习路线图我以百度网盘放在了文章末尾,需要的朋友请自行取阅 第一部分:计算机基础部分 如果想成为优秀的全栈工程师,认真学习计算机基础是必不可少的。上述的学科基本已经在大学学过一遍了,如果您的大学授课内容比较水.

RonaldDong的博客 6835

深度解析direct path write temp与ASM IO性能问题:Oracle 19.17视图查询优化指南

本文深度解析了Oracle 19.17版本中复杂视图查询出现`direct path write temp`与`ASM IO for non-blocking poll`性能瓶颈的根本原因。通过对比11.2.0.4版本的执行计划差异,文章提供了从CBO参数调整、存储层优化到SQL架构重构的完整实战调优指南,帮助DBA有效解决升级后的查询性能问题。

2y3u4i5o6p的博客 1100

保姆级避坑指南:在Ubuntu 18.04上搞定速腾Helios雷达驱动与fast-LIO2的完整配置流程

本文提供了一份详细的速腾Helios雷达与fast-LIO2在Ubuntu 18.04上的配置避坑指南,涵盖驱动安装、数据格式转换到建图全流程。特别针对常见编译错误和数据转换问题提供了解决方案,帮助开发者高效完成环境搭建与建图任务。

weixin_27252001的博客 113

阿里云 Angular 2 UI框架 NG-ZORRO介绍

说明: Angular2出来后,一直想找个基于Angular2的前端后台管理框架,但一直没有找到比较适合的。前段时间在Angular官网资源无意之间看到NG-ZORRO,NG-ZORRO由阿里计算平台事业部、阿里云等不同部门的一些小伙伴在原业务组件的基础上共同构建而成,而且已开源,现在是0.6.0的版本,组件功能已经很齐全了,更符合我们国人使用习惯,已兼容Angular 5.0版本。是目前为止我...

weixin_30814329的博客 601

【Blockly开发教程】01 初识Blockly

Blockly 是由 Google 开发的开源代码库,它可以为网页程序和移动端应用程序添加可视化代码编辑器。

Bright的博客 4512

spring boot整合Angular项目实战

1.使用IDEA进行debug,然后进行数据的跟踪。 根据debug的前端传过来的数据流如下; 根据deug断点调试可知此时应该进入的是serviceimpl层的逻辑层代码。打断点进入pipeCabinServeice的updatePipeCabin方法。 找到实现类所对应的逻辑代码。最后通过在officeAreaMapper的xml文件可以得知,编辑更改的时候是通过选取相关的ID来...

sandy 6189

Axure原型模板与元件库APP交互设计素材(附资料)

在Axure中,手机模型是展示APP或小程序界面效果的重要工具。通过导入手机模型元件,设计师可以更加直观地模拟真实设备的显示效果,从而更准确地评估设计的可行性和用户体验。Axure官方及第三方资源库中提供了多种品牌和型号的手机模型,如iPhone、Android等,设计师可以根据项目需求选择合适的模型进行使用。Axure作为一款强大的原型设计工具,为APP和小程序的设计与开发提供了丰富的界面组件元件库和交互设计素材。

招风的黑耳优快云 1981

2025B卷最新华为OD机试持续收录中 - 真题题库清单,按考点划分(Python / JS / C++ / JAVA / C语言)

2025B卷最新华为OD机试持续收录中 - 真题题库清单,按考点划分(Python / JS / C++ / JAVA / C语言)

算法大师! 3057

SpringBoot整合Angular第二弹-配置支持Angular

视频课程地址: Spring Boot 整合 Angular 应用 修改 pom 文件为以下内容 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m...

qianmoQ - 关注云计算,关注大数据 4289

ComfyUI 本地部署指南:概念、部署过程、生成图片、共享 WebUI 模型

ComfyUI 是一个基于节点的 Stable Diffusion 图形化用户界面。您可以通过将不同的节点连接在一起来构建生成图像的工作流程。一些常用的节点包括加载检查点模型(Load Checkpoint)、输入提示词(CLIP Text Encode)、指定采样器(KSampler)等。ComfyUI 将工作流程分解为可重新排列的元素,以便您可以轻松创建自己的元素。

水滴的博客 5032

阿里新作!阿里大佬纯手写Angular和Spring Boot全栈技能修炼手册

全栈,就像武侠小说里常常会说打通任督二脉之后功力大增,为什么打通任督二脉如此重要?因为它们统率着全身的经脉,它们是一切经脉的根本。相对于其他经脉来说,任督二脉很简单,但也最难打通。

m0_57042151的博客 263

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Github上都在疯找的阿里内部“全栈技能修炼”终于来了

本章要学习的不仅仅是Angular Material的一些知识,还要学习Angular的模块化、服务层的开发、响应式编程的概念,以及响应式编程框架RxJS,最后还会应用以上技巧打造一个较复杂的交互应用——忘记密码。后端作为内容资源的提供者,而前端作为这些资源的消费者,将资源以需要的形式展现给使用者,也就是我们的最终用户。同时,全栈的目的并不是一个人搭建起一个复杂的商业应用,在现代软件大工程化的今天,这个目标既没有必要,也没有价值。本章主要集中讨论书中所采用的各种技术的选型,包括前端、后端、数据库、缓存等。

2401_87252173的博客 454

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

阿里P8级架构师整理分享全栈技能修炼SpringBoot文档

前言 本篇文章给大家分享的内容是全栈技能修炼:使用Angular和Spring Boot打造全栈应用的技术文档。 全栈经过多年的发展,技术体系变得非常庞杂。看看层出不穷的技术知识图就知道了,但是你是否曾注意到很多同样的思想被到处套用?不仅在同一个技术体系内如此,跨体系的套用其实更加明显。 比如RxJS的事件流、后端的MessageQueue 与现在大热的Serverless架构在深层思想上有着千丝万缕的联系。有了这种眼光,你不仅可以更轻松地跨领域学习,更重要的是,你会拥有极为难得的预见力。

m0_46995061的博客 190

眼界限制想象,阿里“程序员全栈修炼笔记”开源,全栈其实很简单

前言 今天的技术领域真的是让人眼花缭乱,除了前端的各种框架,后端的技术又出现了容器、微服务等概念。数据库除了传统的关系型数据库,还有各种NoSQL数据库纷纷登场,分布式数据库的需求也越来越强;这还没算上大数据、人工智能等。这么多的概念,我们甚至都不知道怎么去选择,如何去学习! 全栈在刚入行的程序员眼里可能觉得是遥不可及的一个层次,给人的感觉好像样样通、样样松。但其实但是任何一个领域学到一定程度时,就会发现在其他平台或编程语言上有类似的理念和思想,这些是相通的,眼界高了也就慢慢往全栈靠近了。 今天要

Java圈全能架构师的博客 357

【爆肝分享】阿里P8级架构师整理分享内部java面试进阶的全栈技能修炼SpringBoot文档,真是一绝!

前言 本篇文章给大家分享的内容是全栈技能修炼:使用Angular和Spring Boot打造全栈应用的技术文档。 全栈经过多年的发展,技术体系变得非常庞杂。看看层出不穷的技术知识图就知道了,但是你是否曾注意到很多同样的思想被到处套用?不仅在同一个技术体系内如此,跨体系的套用其实更加明显。 比如RxJS的事件流、后端的MessageQueue 与现在大热的Serverless架构在深层思想上有着千丝万缕的联系。有了这种眼光,你不仅可以更轻松地跨领域学习,更重要的是,你会拥有极为难得的预见力。而技术预见力

程序员高级码农 246

牛批!阿里的Springboot笔记,果然值得我每天熬夜啃

前言 Spring Boot现在已经成为Java开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。 很明显的一个现象,除了一些老项目,现在Java后端项目基本都是基于SpringBoot进行开发,毕竟它这么好用以及天然微服务友好。不夸张的说,Spring Boot 是 Java 后端领域最最最重要的技术之一,熟练掌握它对于 Java 程序员至关重要。 下面就详细介绍一下Springboot,无论在工作中遇到还是面试中被提及,都不至于很尴尬:(文末惊喜大放送) Springb..

代码界的扛把子 1680

技术、实战、原理都全了!-阿里P8耗时三年整理出800页 Spring boot 内部实施手册

本篇文章主要分享springboot知识点,一步步带你深入走进springboot的世界,让你对它有深入的理解。 springboot技术维度 针对性地介绍了Spring Boot入门、数据库的使用和访问性能提升、界面设计、安全设计等重要技术知识,以实用性为主,旨在帮助读者快速掌握Spring Boot开发方法和精髓,尽快融入生产实践中。 springboot实践维度 用生产环境中的实际案例讲解了如何使用Spring Boot开发分布式应用和云应用,以及如何用微服务构建高可用的服务平台,实...

weixin_47531845的博客 343

阿里P8级架构师老毕呕心沥血熬夜一个星期又又又又又出新分享SpringBoot文档

前言 本篇文章给大家分享的内容是全栈技能修炼:使用Angular和Spring Boot打造全栈应用的技术文档。 全栈经过多年的发展,技术体系变得非常庞杂。看看层出不穷的技术知识图就知道了,但是你是否曾注意到很多同样的思想被到处套用?不仅在同一个技术体系内如此,跨体系的套用其实更加明显。 比如RxJS的事件流、后端的MessageQueue 与现在大热的Serverless架构在深层思想上有着千丝万缕的联系。有了这种眼光,你不仅可以更轻松地跨领域学习,更重要的是,你会拥有极为难得的预见力。而技术预见力

javajavajava 1481

阿里P9大佬推出技术、实战、原理3大维度讲解的800页内部实施手册

本篇文章主要分享springboot知识点,一步步带你深入走进springboot的世界,让你对它有深入的理解。 springboot技术维度 针对性地介绍了Spring Boot入门、数据库的使用和访问性能提升、界面设计、安全设计等重要技术知识,以实用性为主,旨在帮助读者快速掌握Spring Boot开发方法和精髓,尽快融入生产实践中。 springboot实践维度 用生产环境中的实际案例讲解了如何使用Spring Boot开发分布式应用和云应用,以及如何用微服务构建高可用的服务平台,实...

文章中资料均可获取,有需要请添加yunduoa2019即可 104
上一篇: 存储拆分后,如何解决唯一主键问题?
下一篇: 谁能想到Java多线程设计模式竟然能被图解,大佬就是大佬,太牛了
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值