预备知识:
1. new对象的过程;
2. 堆和常量池;
1》, 先说 String str = "res"的创建过程 ;
(过程: 加载类 -- > 初始化类 --> 创建对象 )
创建一个对象str,将str指向常量池中的res
2》,String str = new String("res");
墨衍会员
·
AI 创作全网分发
墨衍智能分发
本文由作者通过墨衍一键同步至各平台
1分发平台
1.1k累计阅读
1.1k平均单平台
已同步平台
优快云
微信公众号
微博
知乎
掘金
百家号
博客园
抖音
小红书
你的文章也可以这样分发
墨衍会员 ¥399起/年,写一次发全网
我也要 →
码龄10年
预备知识:
1. new对象的过程;
2. 堆和常量池;
1》, 先说 String str = "res"的创建过程 ;
(过程: 加载类 -- > 初始化类 --> 创建对象 )
创建一个对象str,将str指向常量池中的res
2》,String str = new String("res");
国密SSL实战:手把手教你用Wireshark抓包分析GMTLS协议(附证书链验证技巧)
本文提供了一份国密SSL(GMTLS)协议的实战抓包分析指南。通过详细讲解Wireshark的配置、GMTLS握手流程的捕获与筛选,以及双证书机制和证书链的深度解析,帮助工程师和开发人员掌握使用Wireshark排查国密SSL连接问题、进行密评和协议调试的核心技巧。
使用string与vector时的一些注意事项
今天写dfs代码的时候,一直出错。出错代码为: string toStr(int num, int n) { string res(n, '0'); //这里应该是'0' int cnt = n-1; while (num) { res[cnt--]=num%2+'0'; //这里应该是'0' num
别再花钱买商业软件了!这4款免费DIC工具,从散斑生成到应变分析全搞定
本文介绍了4款免费开源的DIC(数字图像相关技术)工具,涵盖从散斑生成到应变分析的全流程,帮助用户零成本构建专业级DIC工作流。这些工具在精度、算法透明度和生态整合方面具有优势,适用于材料力学和实验力学研究,可替代昂贵的商业软件。
如何获取定义在res中的String数组
1 首先 新建android工程,在res/values 建立attrs.xml 2 编辑attrs.xml : 北京 上海 广州 深圳 3 在定义的类中使用String 数组的方法: Reso
水环境综合管控平台完整方案
水环境综合管控平台项目(2026-2027)摘要 项目概况: 总投资5亿元的水环境综合管控平台项目,是国家数字政府与生态文明建设战略的重要实践。项目严格遵循2026年最新政策标准,整合物联网、大数据和AI技术,构建覆盖水质监测、污染溯源、生态保护等全流程的智能管控体系。 核心内容: 系统架构:采用五层设计(基础设施层至展示层),集成10大核心功能模块,包括水质动态监测、污染智能溯源和生态评估预警系统; 技术创新:运用2026年最新边缘计算和数字孪生技术,实现毫秒级水质异常响应和三维流域仿真; 实施规划:分7
均匀直线阵的常规波束形成matlab
常规波束形成概述 波束形成是将基阵各阵元输出进行一定的处理,从而形成基阵空间指向性的技术。一个波束形成器可以对空间某方位的信号有响应,而抑制其他方位的信号,所以又被称为空域滤波。一般分为常规波束形成(CBF)和自适应波束形成(ABF)。 常规波束形成较为基础,一般又可以根据实现的途径不同,分为时延波束形成和频移波束形成。 时延波束形成 在各阵元间添加时延使波束控制于不同方位的方法成为时延波束形成。设定一个目标方向,当信号来源方向在该目标方向时,响应最大;信号来源于其他方向时,响应较小。将这种响应大小
String(res, 2, 3)和s.substring(3)的区别
String(res, 2, 3)和s.substring(3)的区别 public class Solution { public static void main(String args[]){ String s = "123456"; String s1 = s.substring(3); System.out.println("s1= " + s1); char[] re...
Python 实战:全面解析“微信搜一搜”内容爬取,从入门到企业级架构
本文将带你从零搭建爬虫项目,采用 Requests、Scrapy、Selenium、Proxy 池、中间人监控(如 Fiddler/mitmproxy)、分布式调度、数据库持久化、断点续抓等方案,实现可持续、抗封能力强的内容抓取系统。理解“微信搜一搜”页面结构与 Javascript 渲染逻辑;使用 Scrapy 框架搭建分布式爬虫;使用 Selenium 模拟浏览器抓取;构建代理池提升爬取成功率;对抗验证码、IP 封禁与 cookie 过期问题;
【c++string】string三种遍历,reserve和resize的区别
resize在改变容量时,size也会改变,(resize时改变size会填入‘\0’或者我们输入的字符,后面还是会再次增容) reserve只会改变容量
【vsomeip3 教程】SOME/IP中间件去抖策略全解析
本文探讨了在SOME/IP中间件中实现Debounce(去抖动)机制的必要性和实现原理。文章首先分析了中间件层进行Debounce的四大动机:多订阅者共享收益、语义显式化、协议噪声屏蔽和入口处背压控制。接着详细阐述了Debounce的底层原理,包括变化检测机制(ignore和mask的应用)、时间门控策略(interval的两种时间基准)以及超时补发机制,并通过表格清晰展示了不同参数组合的效果和适用场景。最后,文章提出了工程落地的具体方法,包括策略选型、ignore/mask的设计方法论以及分层验证调试的实
openpi 入门教程(二)droid libero 训练、推理
OpenPI是由物理智能团队发布的机器人领域开源模型与软件平台,提供基于流扩散式(π₀)和自回归式(π₀-FAST)两类视觉-语言-动作模型。平台支持在DROID、ALOHA、UR5等多种机器人系统上部署,包含预训练检查点(1万+小时数据)和微调示例。文档详细说明了各平台部署流程:DROID需启动策略服务器并配置摄像头;ALOHA提供真实机器人任务(取吐司、叠毛巾等)的检查点和场景设置建议;UR5示例展示自定义数据转换方法。实验性验证显示π₀-FAST在LIBERO基准测试中平均得分85.5。平台强调模型适
String类
String类型常用的方法
手把手教你完成YOLOv8分类识别界面搭建,使用Qt6设计YOLOv8分类识别系统,前台系统+后台管理系统开发实战,全网最详细教程
本项目基于YOLOv8分类模型,结合PySide6框架开发了一套图形化分类识别系统,支持图片、视频和摄像头实时检测。系统包含以下功能: 分类识别模块:完成图像/视频目标分类,界面展示检测结果。 用户管理模块:支持登录注册、头像修改、密码重置等功能。 AI问答模块:集成DeepSeek大模型接口,实现流式输出对话。 后台管理系统(第二版新增):管理员可管理用户信息及个人中心。 系统采用MySQL数据库存储用户数据,并提供完整的UI界面与交互逻辑。代码已开源,适用于毕业设计或快速部署场景。
C++ string性能优化与MySQL约束实战:构建高性能数据系统
在软件开发中,数据的高效组织与完整性保障是核心挑战。C++的std::string作为基础数据结构,其底层实现如SSO(短字符串优化)机制,通过避免短字符串的堆内存分配,显著提升了内存操作性能。理解其内存布局与陷阱(如临时对象、c_str()生命周期)是编写高性能C++代码的关键。数据库层面,MySQL的表约束(如主键、外键、CHECK约束)是数据完整性的基石,它们将业务规则内嵌至存储引擎,减少应用层校验负担,并常与索引协同提升查询效率。在C++后端与MySQL协同场景中,如高效读取BLOB数据、构建防注入
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
C++指针与数组本质区别:从内存模型到多维数组解析
在C++编程中,理解内存模型是掌握底层编程的关键。指针和数组作为核心概念,其本质差异源于内存分配机制:数组是编译期分配的连续内存块,其名称代表常量地址;而指针是存储地址的变量,可动态指向不同内存区域。这一原理决定了它们在sizeof运算、指针运算和函数传参等场景下的不同行为,直接影响代码的健壮性和性能。在技术价值上,深入理解指针与数组的区别有助于避免内存访问错误、编写高效算法,并正确实现动态内存管理。应用场景广泛,从基础数据结构操作到系统级编程、嵌入式开发都离不开对它们的精准把控。本文聚焦于指针与数组的本质
深度学习工具包 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');```[](https://bitdeli.com/free "Bitdeli Badge")
C++17核心特性解析:结构化绑定、可选类型与编译期编程实战
在C++编程语言的发展历程中,类型系统和编译期计算是提升代码安全性与性能的核心机制。其原理在于通过编译器在代码生成阶段进行类型检查和优化,从而减少运行时开销并提前发现错误。这一技术价值体现在能够构建更健壮、高效且易于维护的软件系统。在泛型编程、资源管理以及高性能计算等应用场景中尤为关键。C++17标准引入了多项重要特性来强化这些方面,例如结构化绑定(Structured Bindings)通过简洁语法直接从复合类型中提取成员,提升了代码可读性;std::optional则提供了类型安全的可选值表达,有效替代
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
Python数据类型转换全指南:隐式提升与显式强转实战
在Python中,数据类型转换是保障数据一致性与程序健壮性的基础机制。其核心原理在于解释器对类型安全的严格约束:隐式转换仅限无损的类型提升(如int→float),而显式转换则需开发者主动承担语义解析责任(如str→int)。这种机制直接支撑着金融计算精度控制、API数据清洗、日志二进制解析、结构化数据封装(dataclass)等关键工程场景。尤其当面对CSV字符串'12,345.67'、十六进制日志'0x1A2B'或嵌套JSON响应时,能否正确运用int()、Decimal()、dict(zip())、o
C/C++原生MySQL API实战:从连接管理到性能优化全解析
在数据库编程领域,理解底层API的工作原理是构建高性能、高可靠性系统的基石。原生数据库API直接与数据库服务器通信,绕过了ORM框架的抽象层,为开发者提供了对连接生命周期、内存管理和查询执行的精细控制。这种底层控制能力在追求极致性能、最小资源开销或需要深入理解数据交互细节的场景中具有不可替代的技术价值,尤其适用于游戏服务器、嵌入式系统和高频交易等对延迟敏感的应用。通过掌握原生API,开发者能够实现更高效的连接池管理、更安全的事务处理以及更优的内存使用策略,从而提升整个系统的稳定性和扩展性。本文以MySQL
【课程设计】(附源码)springboot+mysql+基于java的邮件收发管理系统 毕业设计101025
本设计主要实现集人性化、高效率、便捷等优点于一身的邮件收发管理系统,完成用户管理、发送邮件、接收邮件、通讯录、用户注册等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。本系统通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。邮件收发管理系统使用Java语言,采用基于MVVM模式的Java技术进行开发,使用 MyEclipse 2017 CI 10 编译器编写,数据方面主要采用的是微软的MySQL关系型数据库来作为数据存储媒介,配合前台HTML+CSS 技术完成系统的
【课程设计】基于SSM框架流浪猫救援网站的设计与实现毕业设计源码201502
本文以SSM为开发技术,实现了一个流浪猫救援网站。流浪猫救援网站的主要使用者分为注册用户、管理员;管理员功能包括有:首页、地区管理、领养中心、品种管理、领养信息;前台首页功能包括有:首页、交流论坛、公告栏、养猫百科、领养中心等功能。...
【课程设计】springboot学生宿舍管理系统 毕业设计453155
用户打开并进入系统后,会先显示登录界面,输入正确的用户名和密码,系统自动检测信息,若信息无误,则用户会进入系统功能界面,进行操作,否则会提示错误无法登录 管理员可以对书籍类型管理进行信息的添加,用户可以对自己权限内的信息进行添加,输入信息后,系统会自行验证输入的信息和数据,若信息正确,会将其添加到数据库内,若信息有误,则会提示重新输入信息
【课程设计】基于SSM框架流浪猫救援网站的设计与实现 毕业设计-附源码201502
本文以SSM为开发技术,实现了一个流浪猫救援网站。流浪猫救援网站的主要使用者分为注册用户、管理员;管理员功能包括有:首页、地区管理、领养中心、品种管理、领养信息;前台首页功能包括有:首页、交流论坛、公告栏、养猫百科、领养中心等功能。通过这些功能模块的设计,基本上实现了整个流浪猫救援网站的过程。 具体在系统设计上,采用了SSM的结构,后台上采用Mysql数据库,是一个非常优秀的流浪猫救援网站 。
C++11移动语义与std::move实战:从底层原理到五大核心应用场景
移动语义是现代C++编程中的核心优化技术,它通过资源所有权转移而非数据复制来提升程序性能。其底层原理基于左值、右值及右值引用的类型系统,允许将即将销毁的临时对象的资源“窃取”到新对象中,从而避免昂贵的深拷贝操作。这一机制的技术价值在于显著减少动态内存分配和数据复制开销,尤其适用于管理大型资源(如动态数组、字符串、文件句柄)的自定义类型。在工程实践中,移动语义广泛应用于STL容器操作、工厂函数返回值优化、高性能交换算法等场景。本文以std::move为切入点,深入解析其作为类型转换器的本质,并探讨在自定义资源
C++ RAII技术解析:智能指针与资源管理实践
RAII(Resource Acquisition Is Initialization)是C++中管理资源生命周期的核心范式,通过对象构造与析构自动处理资源申请与释放。该技术利用栈对象确定性析构的特性,从根本上解决了内存泄漏、文件未关闭等资源管理难题。在智能指针实现中,unique_ptr通过移动语义实现独占所有权,shared_ptr借助控制块完成引用计数,二者配合自定义删除器可扩展支持各类资源。工程实践中,RAII广泛应用于文件操作、数据库连接、锁管理等场景,配合现代C++的移动语义和noexcept规
京东校招C++笔试核心考点解析与备考策略
大厂校招笔试是技术人才筛选的第一道关卡,其设计逻辑并非选拔天才,而是快速识别具备扎实基本功和工程思维的候选人。计算机基础知识的掌握程度,直接决定了笔试能否通过,其中C++语言特性、数据结构与算法、操作系统原理、计算机网络协议是四大核心考察模块。理解这些模块的内在原理,例如指针与引用的本质区别、动态绑定的实现机制、进程与线程的调度开销、TCP握手的状态迁移,是应对各类变种题的关键。掌握这些知识不仅能提升笔试通过率,更能为后续面试中的深度追问和实际工程中的性能调优打下坚实基础。从技术价值延伸至应用场景,无论是刷
C++11新特性
C++11特性大全
1024
497
316
427

被折叠的 条评论
为什么被折叠?



