学习笔记097——Ubuntu系统中如何通过service服务的方式启动 jar 包?

从零开始学习使用 AI 欢迎踏入ClaudeCode未来世界,开启与AI协作的全新旅程。无论你是零基础新手、开发者,还是非程序员,都能通过实战项目快速掌握智能体协作技能——不再只是提问,而是指挥AI完成复杂任务。你将化身主角,在16个级别、200+实践中成长为高效创造者。真正的优势不再是会用工具,而是懂得如何让智能体为你工作。取代你的不是AI,而是会用AI的人。现在,故事从你开始👇 阅读详情

1./etc/systemd/system 下新建 wms.service

sudo vim /etc/systemd/system/wms.service

内容如下:

[Unit]
Description=xx数字库房 WMS Service
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/ys
ExecStart=/opt/jdk1.8.0_321/bin/java -jar /opt/ys/wms-server.jar
Restart=always
RestartSec=10

# 应用日志打到指定文件
StandardOutput=append:/opt/ys/catalina.out
StandardError=append:/opt/ys/catalina.out

# 可选:设置环境变量(如 Spring Profile)
# Environment="SPRING_PROFILES_ACTIVE=prod"

[Install]
WantedBy=multi-user.target

PS注意:要确认 systemd 版本是否支持 append: 语法!

# 检查 systemd 版本
sudo systemctl --version
# systemd v240+ 才支持 append:语法
# 若版本 < 240,请改用下面方式

[Unit]
Description=xx数字库房 WMS Service
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/ys
ExecStart=/bin/sh -c 'exec /opt/jdk1.8.0_321/bin/java -jar /opt/ys/wms-server.jar >> /opt/ys/catalina.out 2>&1'
Restart=always
RestartSec=10

# 可选:设置环境变量(如 Spring Profile)
# Environment="SPRING_PROFILES_ACTIVE=prod"

[Install]
WantedBy=multi-user.target

2.设置文本权限

sudo chmod 777 /etc/systemd/system/wms.service

3.重新加载

# 重新加载
sudo systemctl daemon-reload

4.设置开机自启

# 设置开机自启
sudo systemctl enable wms.service

5.其他

# 查看是否开机自启
sudo systemctl list-unit-files | grep wms
# 开启
sudo systemctl start wms.service
# 重启
sudo systemctl restart wms.service
# 停止
sudo systemctl stop wms.service
# 查看服务状态
sudo systemctl status wms.service
第28篇 sw放样特征矩形-圆-矩形学习笔记 本例演示三轮廓放样:先画中心对齐的100×100矩形草图,再在偏移100的基准面上绘制圆,最后在另一基准面画矩形。通过依次选择三个轮廓并正确设置连接点,实现矩形→圆→矩形的平滑过渡,注意连接点位置避免扭曲。 阅读详情

相关推荐

Ubuntu22开机自启脚本 jar 包的自动化部署脚本

Ubuntu22开机自启脚本 jar 包的自动化部署脚本 文件里面有使用方法说明,脚本亲测可用 init.sh cp kuosheng.service /etc/systemd/system/kuosheng.service cp kuosheng.sh /usr/local/bin/kuosheng.sh chmod 777 /usr/local/bin/kuosheng.sh chmod 777 /etc/systemd/system/kuosheng.service systemctl start kuosheng.service kuosheng.service [Unit] Description=kuosheng After=network.target [Service] ExecStart=/usr/local/bin/kuosheng.sh SuccessExitStatus=143 [Install] WantedBy=multi-user.target

Centos7/ubantu服务器启动jar包项目,配置service

如果不配置service服务的话,就要通过java -jar来开启jar包,这样有个弊端,过段时间会自动断开,所以还是乖乖配置service服务吧。 1.首先是ubantu下面配置 参考:http://www.jcgonzalez.com/ubuntu-16-java-service-wrapper-example 下面是我个人的总结: 给服务器加服务(项目名.service),即就...

Stone.鱼儿的博客 488

滑模控制理论(SMC)概述

滑模控制理论(SMC)概述一、背景二、数学理论三、高维拓展四、分析 一、背景 滑模控制理论(Sliding Mode Control, SMC)是一种建立在现代控制理论基础上的控制理论,主要数学核心为李雅普诺夫函数。 滑模控制的核心思想是建立一个滑模面,将被控系统拉取到滑模面上来,使系统沿着滑模面运动。滑模控制的一个优势是无视外部扰动和不确定参数,采用一种比较“暴力”的方式达到控制的目的。 其思想和反步法有些类似,但数学实现起来更加方便而不抽象。相比反步法,滑模控制没有复杂的数学计算,也不会出现“微分爆炸”

高能阿博特的博客 6万+

Ubuntu设置程序开机自启动:基于.service文件实现

在之前的一篇文章中,介绍了在ubuntu中基于.desktop文件实现程序开机自启动的方法但是上面这种方法只适合不需要root权限的程序自启动在有的情况下,我们的程序需要以root身份来运行才能保证有足够的权限进行操作。这时候可以通过.service文件实现。

qing22222222的博客 1408

RBF(径向基神经网络)基础解析与代码实例:拟合任意函数

目前RBF这一强大工具已经被基本证实可以拟合任意函数! 在机器学习领域,神经网络是一种强大的工具,用于解决各种复杂问题。其中,径向基函数(RBF,Radial Basis Function)神经网络以其独特的结构和优异的性能,在非线性函数逼近、模式识别等领域表现尤为突出。RBF神经网络是一种前馈神经网络,其隐含层节点的激活函数采用径向基函数,具有更强的局部逼近能力和更快的收敛速度。

橙色小博的博客,励志在人工智能领域发光发热! 1602

RK3588 InsightFace人脸识别移植及精度测试全解析

本文详细介绍了如何在RK3588平台上移植InsightFace人脸识别模型并进行精度验证。通过PyTorch转ONNX、ONNX转RKNN量化模型的关键步骤,实现了INT8量化模型的部署。测试数据显示,该模型在LFW数据集上达到99.43%的准确率(接近官方99.52%),推理时间仅14.23ms。ROC曲线和相似度分布图表明模型区分能力优秀,AUC超过0.99,满足实际应用需求。文中还详解了量化原理、环境搭建和测试方法,为边缘设备部署人脸识别提供了完整解决方案。

Hi20240217的博客 3661

2026.11.7 AI学习总结

110 你 14b 模型权重本身就要约 8.8GB,默认上下文(Ollama 在 16GB 卡上可能给到 4K)加上 KV Cache 就爆了。比如设成 2048,你输入了 500 个 token 的问题,那模型最多还能生成 1500 个 token 的回答。超出部分会被截断,模型就"看不见"了。4 如果 14b 跑起来后发现它"忘事",再逐步往上加,比如先试 4096。,根据注意力头的重要性动态分配缓存资源,重要的留显存,不重要的下沉。,单位是 token,表示模型这一次推理最多能同时"看到"多少内容。

qq_41181702的博客 360

RTKlib操作手册--使用样例数据演示

本文将使用样例数据演示如何使用RTKLIB进行rtk差分定位。

samur2的博客 7773

MySQL建库建表操作学习笔记

SQL(Structured Query Language,结构化查询语言)是用于在关系型数据库上执行数据操作、数据检索以及数据维护的标准语言。:用于定义对数据库对象(库、表、列、索引)的操作,如 CREATE、DROP、ALTER、RENAME、TRUNCATE 等。保存可变长度的字符串(可包含字母、数字以及特殊字 符)。:用于定义对数据库记录的操作,如 INSERT、DELETE、UPDATE、SELECT 等。:用于定义对数据库、表、字段、用户的访问权限和安全级别,如 GRANT、REVOKE 等。

Eternitycai的博客 217

备战2025数学建模国赛(算法65):Fisher判别分析

在数学建模竞赛中,我们常常会遇到需要对研究对象进行分类或判断的问题。例如,根据西瓜的各类指标判断其好坏,根据经济数据判断一个国家的发展程度,或根据病人的医学影像特征判断其是否患病。这类“分类判别”问题,是建模竞赛中最常见的题型之一。Fisher判别分析(或称线性判别分析,LDA)作为一种经典的、有监督的降维与分类方法,因其模型简洁、可解释性强、计算高效而备受青睐。

YOLO 421

【精细解读】xapp585(多通道LVDS接口ADC)

xapp585的参考设计有Verilog和VHDL两种源码。

FPGA艺术家的博客 532

【FreeRTOS源码学习笔记】任务创建

【FreeRTOS源码学习笔记】任务创建

2502_90565057的博客 456

Python基础语法与最佳实践【python基础篇】

本文全面介绍了Python基础语法与最佳实践,涵盖变量与数据类型、控制流、函数、模块与包等核心概念。通过实际代码示例展示了条件语句、循环结构、函数定义及模块导入的基本用法。在最佳实践部分,重点讲解了PEP 8代码风格规范、异常处理技巧、列表推导式、上下文管理器、文档字符串编写以及enumerate和zip的高效使用。这些内容既适合Python初学者掌握基础语法,也能帮助有经验的开发者编写更规范、高效、可维护的代码。文章强调遵循Python官方推荐实践,通过合理运用语言特性提升代码质量。

博客 1975

Flink 学习日志 03:自定义一个SourceFunction,完成对Redis中数据的读取

本文介绍了在Flink中自定义SourceFunction读取Redis数据的完整流程:通过Jedis客户端连接WSL2中的Redis服务,编写RedisSource实现循环读取所有Key-value并逐条输出,结合Thread.sleep()实现每秒一条的流式效果。关键步骤包括环境准备、添加Jedis依赖、配置IDEA运行时加载provided依赖,并注意生产环境中应避免使用阻塞的keys *,改用scan命令。最终实现动态读取、实时打印,验证了Flink与Redis的数据集成能力。

木木的学习笔记 401

ADAS方案设计-CAN网络管理与休眠唤醒机制

文章摘要:本文介绍了车载控制系统的五种工作模式及其转换条件,包括睡眠模式、准备睡眠模式、就绪睡眠模式、正常工作模式和重复消息状态。系统唤醒条件包括接收到网络管理报文或电源ON档信号,休眠条件则需满足电源OFF档、功能完成等多重要求。针对下挂节点的网络管理报文发送规则,详细说明了不同状态下的报文发送策略,特别是在哨兵模式、OTA模式等特殊场景下的处理方式。系统在满足休眠条件后会立即停止发送下挂节点网络管理报文,确保电源管理的有效性。

xiandang8023的博客 323

深度学习工具包 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")

邓明 Agent 系统面试-意图识别学习笔记

不要只是做意图识别而不做测评,就好像要评估 RAG 准确性,在接口服务要测试响应时延,超时控制等等,这里也要关注意图识别准确率,如果面试官认为项目指标太高是在吹牛,关键就是回答因为 Agent 解决的是特定领域的意图识别,识别场景单一,另外就是因为用户输入相对简单。意图识别影响 prompt/spec 的加载,意图识别影响上下文组织,意图识别影响工具选择,意图识别影响 prompt 建议,意图识别得到的意图不是让模型随机生成而是候选类别里去做选择。2.意图识别的原因,以及意图识别得到的是什么?

m0_57222081的博客 209

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

CMake学习

CMake如何编译成库?1. 为什么要有库?库就是预先写好,编译好的代码集合。存在的意义,1)避免重复造轮子和重复编译,库是,你的代码在编译时直接链接它,不需要把库的源码重新编译一遍,大大节省了编译时间。;2):编译成库让别人可以直接调用我的函数,但看不到cpp源码,看不到里面的逻辑。3):大项目可以拆分给不同的团队开发不同的库,最后拼在一起。静态库:就是在程序编译和链接阶段,把库里被用到的代码部分,像打包裹一样,直接复制粘贴到最终的可执行文件(如.exe或 Linux 下的无后缀文件)里面。

m0_56487684的博客 179

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

商业经济学学习资料

商业经济学学习资料

weixin_29403917的博客 278

将物理先验嵌入机器人学习:从经典力学到 VLA 与 WAM

本文综述了将物理先验嵌入机器人学习的三条路径:数据与表示、模型架构、训练损失,强调其位置决定约束效力。通过夹取软物体案例,阐明运动学、动力学、接触与材料特性在任务中的分层作用。指出物理先验非万能,需匹配实际条件;强约束可加速学习,但误用会引入偏差。提出“有效刚度”等概念,强调主动探测与参数辨识的重要性,并警示仅靠单一方法无法保障安全执行,需结合在线验证与控制闭环。

lovely_yoshino的博客 669

【学习笔记】51单片机 模块化编程

模块化编程:把各个模块的代码放在不同的c文件里,在.h文件里提供外部可调用函数的声明,在其他.c文件想使用其中的代码时,只需要#include"xxx.h"文件即可。传统方式编程:所有的函数均放在main.c中,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码组织和管理,而且很影响编程者的思路。使用LCD602液晶屏作为调试窗口,提供类似printf函数的功能,可实时观察单片机内部数据的变换情况,便于调试和演示。使用到的.h文件必须要放在编译器可寻找到的地方(工程文件夹根目录,安全目录,自定义)

2601_96469072的博客 216

ENSP学习记录(1)

本文分享了在ENSP环境中学习通信、网络通信与数据通信网络的区分心得。通过类比“传话”“用网络传话”“设备系统传话”,厘清三者层级关系;以寄快递比喻封装过程,理解报文结构;反思“报文必有尾部”“网关是设备”等误区,强调概念本质理解的重要性。核心观点:能否举出反例,是检验是否真正掌握的关键。

W20070611的博客 214

Linux网络学习【深入理解多路转接epoll】

本文围绕 Linux 多路转接 epoll 展开,以“设计动机—核心机制—触发模式—代码实践”为主线,对比 select、poll 的监听管理与就绪检查方式,解析关注集合、就绪列表及核心接口,重点讲解水平触发与边缘触发的行为差异,以及边缘触发配合非阻塞读写的处理要点。结合多连接服务器实践,梳理事件注册、连接接收、部分收发、可写事件按需监听及断开清理流程,厘清就绪通知与操作完成的区别,分析常见错误与性能影响因素,帮助读者建立从事件循环到连接管理的完整认识,为高并发服务器与事件驱动框架开发打下基础。

承于所学,探技术之渊;以代码求政,寻成长之道。 1万+

正则表达式学习笔记 02:基础语法

正则表达式是描述字符匹配规则的迷你语言,由普通字符和元字符组成。普通字符直接匹配自身,而元字符如.、*、+、^、$等具有特殊含义,用于控制匹配模式。常见功能包括任意字符匹配、字符类、预定义类(如\d)、量词、位置锚点、分组与捕获、环视断言及反向引用。需注意,若要匹配元字符本身,必须使用转义符\。例如,\.可匹配字面点号。

菜鸟的专栏 154

ES6:Iterator与Generator函数学习及Generator函数和async实现异步编程理解

几个概念:可迭代对象是指具有迭代器接口的对象: 实现类数组使用 for of 循环 对象无法使用数组的迭代器。 generator 函数类似遍历器函数,返回一个迭代器对象; 该对象调用 方法时,会把 后面的表达式作为值 ,并执行当前指针与下一步指针之间的程序。 generator 实现迭代器函数 后面跟的内容为 得到的 值。流程:循环 会调用 generator 函数,返回一个 iterator 对象, 方法由 generator 内部的 决定。 Gene

2403_87566238的博客 212

为什么学习 GUI 程序设计:从 Swing 入门桌面界面开发

学习GUI程序设计能让程序从“能用”走向“好用”,提升用户体验与开发能力。选择Java Swing作为入门,因其随JDK自带、跨平台一致、组件完整且学习曲线平缓。通过掌握容器、组件、布局与事件四大核心概念,结合最小示例实践,可快速构建交互界面。建议循序渐进:运行示例→熟悉组件→理解事件→组合布局→完成小项目(如待办清单),夯实桌面应用开发基础。

xyouyuweizhu的博客 107

echarts学习手记

本文介绍ECharts的引入与基本使用:通过npm安装并按需引入核心模块、图表类型及组件,注册后初始化图表实例。结合resize事件实现响应式布局,通过dispose()销毁实例避免内存泄漏,并支持自定义主题与seriesLayoutBy配置调整数据映射方式,提升图表灵活性与性能。

qq_43592674的博客 38
上一篇: 学习笔记096——Windows postgreSQL-18.1[压缩包版本]
下一篇: 学习笔记098——Linux系统中journalctl命令使用指南
须晴日.
博客等级 码龄5年 595粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值