Java常见面试题(一)

RT-DETR改进策略【RT-DETR和Mamba】| CVPR 2025:EfficientViM 压缩隐藏状态空间进行通道混合、单头设计减少内存操作,提升目标检测效率与精度 本文记录的是利用模块优化的目标检测网络模型。EfficientViM Block(基于隐藏状态混合器的状态空间对偶性模块) 的设计旨在,提升特征提取效率,同时兼顾全局依赖捕捉与局部细节保留。本文将深入研究的原理,并将其应用到中,通过重构特征提取流程、减少内存绑定操作、融合多阶段特征,增强模型在资源受限环境下的检测性能与速度。Depth Information Assisted Collaborative Mutual Promotion Network for Single Image DehazingLE 阅读详情

目录

1、什么是JDK?什么是JRE?什么是JVM?它们之间有什么联系?

2、最小的信息单元、最小的存储单元是什么?它们之间有什么联系?

3、基本数据类型有哪些?引用数据类型有哪些?它们的区别是什么?

4、基本数据类型数据表示范围?

5、&与&&的区别?|与||的区别?

6、for、while、do...while的区别?

7、堆(heap)内存和栈(stack)内存的区别?

8、什么是方法重载和方法重写?

9、scanner.hasNext()、scanner.nextLine()、scanner.next()有什么区别?

10、instanceof关键字的作用?

11、成员变量和局部变量有什么区别?

12、面向对象的特征有哪些?

13、String、StringBuilder、StringBuffer有什么区别?

14、访问权限修饰符 public、private、protected、以及默认时的区别?

15、状态修饰符final、static各有什么作用?

16、包装类有哪些?为什么会有包装类?

17、int 和 String的相互转换有哪些?

18、Java中的异常体系?

19、Java中的 Error和 Exception的区别?

20、Java自定义异常中 Throw和 Throws的区别?


1、什么是JDK?什么是JRE?什么是JVM?它们之间有什么联系?

  • JDK:java development kit:java开发工具包,是开发人员所需要安装的环境
  • JRE:java runtime environment:java运行环境,java程序运行所需要安装的环境
  • JVM:Java 虚拟机 (JVM)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现 (Windows, Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的 JVM 实现是 Java 语言 “一次编译,随处可以运行” 的关键所在

2、最小的信息单元、最小的存储单元是什么?它们之间有什么联系?

  • 最小信息单元:位(bit),又称“比特位"(用b表示)
  • 最小存储单元:字节(byte),由连续的8位组成(用B表示)
  • 关系:1B (字节)=8bit

3、基本数据类型有哪些?引用数据类型有哪些?它们的区别是什么?

  • 基本数据类型:整数(byte、short、int、long)、浮点数(float、double)、字符(char)、布尔(boolean)
  • 引用数据类型:类(class)、接口(interface)、数组([])、字符串(string)

注意:Java 里使用 long 类型的数据一定要在数值后面加上 L,否则将作为整型解析

4、基本数据类型数据表示范围?

byte、short、char类型参与运算时自动转为 int 类型

5、&与&&的区别?|与||的区别?

6、for、while、do...while的区别?

7、堆(heap)内存和栈(stack)内存的区别?

区别:

  • 栈是LIFO(后进先出)的数据结构
  • 每个申请的堆内存是一块连续内存,堆内存之间是不连续的
  • 栈内存大小可以针对单个进程设置上限。通过设置ulimit中的Max stack size来限制单个进程的最大栈内存(默认值为8M),也可以在程序main方法最开始的地方调用系统方法setrlimit来修改最大栈内存,子进程的最大栈内存继承自父进程。查看指定进程的最大栈内存 cat /proc/进程id/limits
  • 堆内存没有上限,只有OOM
  • 栈内存是由高地址向低地址向下增长,局部变量存储在栈内存上。当需要新的局部变量时,栈顶向下移动,将变量内存分配在栈顶;当函数执行完成返回,函数中的局部变量不再有用,栈顶向上移动销毁变量。下一个函数的局部变量的内存分配与消耗继续如此。栈顶移动时,不会清空内存中的数据,所以局部变量需要初始化。当初始分配的栈空间大小不足时,系统会自动扩容。
  • 堆内存是由低地址向高地址增长。与栈内存的数据结构不同,堆内存是零散的内存块,它的分配与释放需要开发者手动管理。当我们申请了一块堆内存且不释放,它在我们进程的整个生命周期内都是可用的,这与栈内存中的局部变量随着函数的返回而销毁不同。这样也容易出现访问已释放的堆内存和堆内存忘记释放,即悬空指针(指针指向的内存已释放,指针本身没有置空)和内存泄漏。野指针(指针变量未初始化,指针中的地址是随机的;指针指向了不可访问的地址:如已释放的栈内存地址或者越界或者指针运算跑飞了)
  • 栈内存是基于线程的,每个线程拥有自己的栈内存
  • 堆内存是进程内共享的,每个线程都可以访问
  • 栈内存是一次性分配足够大的空间(不足时会扩容),存储变量时不需要进行内存分配
  • 堆内存每次分配都需要向操作系统申请(或者你申请足够大的内存,自己手动做内存管理)
  • 栈内存是连续的,满足局部性原理,cpu缓存命中高
  • 堆内存是分散的,cpu缓存命中没有栈内存高

8、什么是方法重载和方法重写?

方法重载: 在一个类中,同名的方法如果有不同的参数列表( 参数类型不同、参数个数不同甚至是参数顺序不同 ) 则视为重载。
  1. 重载 Overload 是一个类中多态性的一种表现
  2. 重载要求同名方法的参数列表不同 (参数类型,参数个数甚至是参数顺序)
  3. 重载的时候,返回值类型可以相同也可以不相同,无法以返回型别作为重载函数的区分标准

方法重写:在子类中把父类本身有的方法重新写一遍。

  1. 发生在父类与子类之间
  2. 方法名,参数列表,返回类型(除过子类中方法的返回类型是父类中返回类型的子类)必须相同
  3. 访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)
  4. 重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常

9、scanner.hasNext()、scanner.nextLine()、scanner.next()有什么区别?

  • hasNext():Scanner类的一个方法,判断是否有输入,有输入项 hasNext()为true;没有输入项 hasNext()为false
  • nextLine():结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的
  • next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab、或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法后才将其后的输入的空格键、Tab或Enter键等视为分隔符或结束符。next方法不能得到带空格的字符串

10、instanceof关键字的作用?

instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:

boolean result = obj instanceof Class

其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,结果 result 都返回 true,否则返回 false

int i=0;

System.out.println(i instanceof Integer);//编译不通过i必须是引用类型,不能是基本类型

System.out.println(i instanceof Object);//编译不通过 Integer integer=new Integer(1);

System.out.println(integer instanceof Integer);//true

//false,在JavaSE规范中对instanceof运算符的规定就是:如果obj为null,那么将返回false
System.out.println(null instanceof Object);

11、成员变量和局部变量有什么区别?

12、面向对象的特征有哪些?

  • 抽象:将一类对象的共同特征总结出来构造类的过程, 包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,不关注行为的细节
  • 继承:从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类) ;得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段
  • 封装:把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口
  • 多态性:允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。如果将对象的方法视为对象向外界提供的服务,那么运行时的多态性可以解释为:当 A 系统访问 B 系统提供的服务时,B 系统有多种提供服务的方式,但一切对 A 系统来说都是透明的

13、String、StringBuilder、StringBuffer有什么区别?

  1. String是final修饰的,也就意味着String引用的字符串内容是不能被改变的。而StringBuffer和StringBuilder表示的字符串对象可以直接进行修改
  2. StringBuilder是Java5引入的,它和StringBuffer的方法完全相同,区别在于,StringBuilder是在单线程环境下使用的,它的所有方面都没有被synchronized修饰,因此它的效率也比StringBuffer要高
  3. StringBuffer是线程安全的,而StringBuilder是线程非安全的
  4. 执行速度方面:StringBuilder >  StringBuffer  >  String

14、访问权限修饰符 public、private、protected、以及默认时的区别?

15、状态修饰符final、static各有什么作用?

静态成员方法只能访问静态成员

16、包装类有哪些?为什么会有包装类?

  • 装箱:将基本类型用它们对应的引用类型包装起来
  • 拆箱:将包装类型转换为基本数据类型
包装类的作用:
  1. 某些方法的参数必须是对象,为了让基本类型也具有对象的特征,提供包装类
  2. 可以实现字符串和基本数据类型之间的转换

17、int 和 String的相互转换有哪些?

18、Java中的异常体系?

19、Java中的 Error和 Exception的区别?

  • Error:程序无法处理的错误。这些错误标识故障发生于虚拟机自身或者发生在虚拟机试图执行应用时,一般不需要程序处理。Error错误是任何处理技术都无法恢复的情况,会导致程序非正常终止。错误属于未检查类型,大多数发生在运行时。Error错误的一些例子是内存不足错误或系统崩溃错误
  • Exception:程序本身可以处理的异常。分为运行时异常和编译时异常;编译时异常是开发工具在编译期显示捕获的异常,而运行时异常常常与逻辑错误挂钩,是程序员编写程序时产生的错误

20、Java自定义异常中 Throw和 Throws的区别?


基于Java的OPC UA Server开发指南:从零开始构建高效服务器 本文介绍了如何使用开源项目org.eclipse.milo创建Java OPC UA Server。通过创建Spring Boot项目,添加Milo SDK依赖,定义Namespace类,服务器启动类以及监听器,详细阐述了建立OPC UA Server服务的步骤。启动后,服务器默认监听地址为opc.tcp://localhost:12685,可使用Softing OPC Client进行连接。 阅读详情

相关推荐

R语言新手也能搞定!WGCNA分析全流程代码详解(附常见报错解决方案)

本文为R语言新手提供了WGCNA分析的完整代码流程与实战指南。从环境配置、数据准备、软阈值选择、网络构建到模块-表型关联分析,逐步详解核心步骤。重点针对安装依赖、内存不足等常见报错提供了具体解决方案,帮助初学者避开陷阱,顺利完成加权基因共表达网络分析。

terraform7cloud的博客 539

16-1-Java常用类之Scanner【干货笔记】

文章目录1、构造方法2、成员方法3、练习3.1、接收键盘录入的数据3.2、求和3.3、取最值 java.util.Scanner:一个可以使用正则表达式来解析基本类型和字符串类型的文本扫描器。 ​ 1、构造方法 public Scanner(InputStream source) : 构造一个新的 Scanner ,它生成的值是从指定的输入流扫描的。 2、成员方法 public int nextInt() :将输入信息的下一个标记扫描为一个 int 值。 public String next():查找并返回

助你成为一名优秀的全栈工程师! 374

11 CO配置-控制-成本中心会计-定义分割结构(OKES-Define Splitting Structure)

业务背景:定义分割结构 事务码: OKES SPRO路径:SPRO->控制->成本中心会计->实际过账->期末结算->作业分配->划分->定义分割结构 第1步,SPRO路径进入 第2步,选择“新的条目”创建 分割结构 第3步,选择分割结构代码 点击“分割规则”进行下一个界面,点击“新条目”创建 分割结构规则 第4步,点击“为规则选择” 为分割结构规则创建版本并保存 第5步,选择“分配”,点击“新的条目” 输入分割结构分配

4371

Java异常面试题 33道

Java异常架构与异常关键字 Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制。 Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程 序健壮性。在有效使用异常的情况下,异常能清晰的回答what, where, why这3个问题:异常类型 回答了“什么”被抛出,异常堆栈跟踪回答了“在哪”抛出,异常信息回答了“为什么”会抛出。 Java异常架构 Throwable Throwable 是 Java 语言中所有错误与异常的超类。 Throwab

qq_46306282的博客 1072

Flow Matching实战:5步搞定图像生成模型优化(附PyTorch代码)

本文提供了一份基于Flow Matching框架优化图像生成模型的实战指南。通过五个关键步骤,详细讲解了从环境配置、核心概念梳理到构建向量场网络、设计损失函数、编写训练循环以及选择ODE求解器进行采样的完整流程,并附有可运行的PyTorch代码,帮助开发者快速掌握这一高效的生成式建模技术。

weixin_29065959的博客 322

如何实现MCGS与S7-200SMART PLC以太网多台通信控制?

第九步:(设备工具箱—设备管理—鼠标依次点击通用TCP/IP父设备—西门子_ Smart200到设备窗口里面去)数据类型:第0位(指PLC地址变量小数点后面的位数,例如我地址是M0.0,那么在数据类型应填写通道的第00位)第十步:(鼠标双击打开通用TCPIP父设备0--[通用TCP/IP父设备]进入通信配置)通道地址:0(指小数点前面起始字节的地址,例如我地址是M0.0,那么应在通道地填写0)。第七步:(选择通用TCP/IP父设备,点击新增,右侧选定设备就会自动添加进去。

u010670857的博客 6716

数据类型,运算符的分类

一,数据类型 1.1 基本数据:number(数字)、string(字符串)、boolean(布尔值) 特殊数据:null(空值)、undefined(未定义) 复杂类型:数组、对象 2.2数据类型转换 字符串转换成数字 parseInt(变量) 转换成整数的数字 parseFloat(变量)转换成保留小数点的数字 数字转换成字符串`` 二,运算符 2.1 算数运算符 + - * / % 3%5=3 5%3=2取余数 2.2 逻辑运算符 && || ! true&&am

weixin_47612165的博客 334

探索Vortex开源GPGPU:RISC-V SIMT架构(4-1),Execute SFU(1)

本文详细分析了Vortex RISC-V内核6级流水线中Execute阶段的SFU(特殊功能单元)模块。重点介绍了SFU的数据流结构,包含dispatch_unit、pe_switch、csr_unit、wctl_unit和gather_unit五个子模块。文章深入解析了warp控制指令wspawn和tmc的实现机制:wspawn用于激活指定数量的warp并设置新PC值,tmc则用于控制线程掩码和warp状态。通过C代码和汇编指令的对照分析,阐明了这些指令在并行计算中的关键作用,包括线程激活、状态切换和执行

weixin_55313207的博客 1363

阿里技术官熬夜整理,从源码到架构的Spring全系列笔记分享(2)

这份面试题几乎包含了他在一年内遇到的所有面试题以及答案,甚至包括面试中的细节对话以及语录,可谓是细节到极致,甚至简历优化和怎么投简历更容易得到面试机会也包括在内!也包括教你怎么去获得一些大厂,比如阿里,腾讯的内推名额!某位名人说过成功是靠99%的汗水和1%的机遇得到的,而你想获得那1%的机遇你首先就得付出99%的汗水!你只有朝着你的目标一步一步坚持不懈的走下去你才能有机会获得成功!成功只会留给那些有准备的人!着你的目标一步一步坚持不懈的走下去你才能有机会获得成功!成功只会留给那些有准备的人!

2401_84023482的博客 441

EDA与机器学习融合:智能优化芯片设计流程的工程实践

机器学习作为数据驱动的核心技术,通过从历史数据中学习复杂模式,实现对系统行为的预测与优化。其原理在于构建模型,将输入特征映射到目标变量,从而揭示数据背后的内在规律。在工程领域,这项技术的核心价值在于能够将专家经验转化为可量化、可复用的智能模型,显著提升自动化水平与决策效率。电子设计自动化(EDA)是芯片设计的关键支撑,传统流程高度依赖人工试错,面临参数空间巨大、优化周期长等挑战。将机器学习应用于EDA,能够构建预测模型来预估设计性能(PPA),或通过代理模型加速设计空间探索,实现智能化的设计辅助与优化。本文

weixin_30411239的博客 684

ARM 之十六 详解 CMSIS 版本变迁、各组件使用示例

目前,CMSIS 已经发展到了第六版,其目录结构也发生了重大的变化。在不断发展中,很多原来 CMSIS 的组件被不断独立出去,并因此成立了很多开源社区,今天就来学习一下!由于 CMSIS 已经包含了相当丰富的文档,因此,本文重点学习版本之间的变化以及一些实际使用示例。

技术干货 1954

JAVA Scanner用法详解

本文转载自:       java中的Scanner       百度经验:Java中Scanner类的用法       Java Scanner类报错java.util.NoSuchElementException 一、Scanner类简介       Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用

orangefly0214的博客 1326

【WRF湿度调整策略】WRF/ERA5湿度数据对比

【WRF湿度调整策略】WRF/ERA5湿度数据对比

WW、forever的博客 119

java常见面试题(一)

java常见面试题一Java 基础1. JDK 和 JRE 有什么区别?2. == 和 equals 的区别是什么?3. 两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗?4. final 在 Java 中有什么作用?5. Java 中的 Math. round(-1. 5) 等于多少?6. String 属于基础的数据类型吗?7. Java 中操作字符串都有...

qq_43600458的博客 2122

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

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Java常见面试题 Java面试必看 (一)

本篇博客是本人收集网上Java相关的资料整理所得,仅供参考。 一、Java基础 1、JDK 和 JRE区别 JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包...

boyin333的博客 3614

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Java常见面试题一

  收集整理一些项目里面常用的,面试也会被经常问到的Java面试题。   一、 基础:     1.  static 关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static方法?是否可以在static环境中访问非static变量?       1、static 关键字表明一个成员变量或者是成员方法可以在没有所属类的的实例变...

aofengxiang9352的博客 103

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

java常见面试题一

1、JDK和JRE: JDK:java Development Kit:Java开发工具,提供了java开发的工具和运行环境 JRE:java Runtime Environment:java运行环境,提供了java运行的环境需求 我们在开发中,下载JDK一般就包含了JRE,如果只是运行java的话可以只安装JRE,但是一般情况下,都是安装JDK就可以。下载好JDK,然后配置好环境变量,这是jav...

新春客 287

JAVA常见面试题一

1、Java面向对象有哪些特点 (1)封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。 (2)多态性:多态性是指允许不同子类型的对象对同-消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。 2、访问修饰符public,private,protected,以及.

qq_57854450的博客 183

Java常见面试题①

默认情况下是引用比较,只是很多类重新了 equals 方法,比如 String、Integer 等把它变成了值比较,所以一般情况下 equals 比较的是值是否相等。如果安装JDK,电脑有两套JRE,一套位于 \jre 另外一套位于 C:\Program Files\Java\j2re1.4.1_01 目录下。JRE的地位就象一台PC机一样,编写的Java程序必须要JRE才能运行。JRE即Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者。...

m0_54861649的博客 141

java常见面试题(一)

记录一些搜集的面试题,方便熟悉八股文~~ 类的初始化顺序 父类静态变量(静态代码块,只初始化一次,保存在jvm的内存的方法区中) ->子类静态变量(静态代码块,只初始化一次,保存在jvm的方法区中)->父类非静态变量(非静态代码块,实例化后保存在jvm的堆中)->父类构造方法 ->子类非静态变量(非静态代码块,可多次是实例化,实例化后保存在jvm的堆中)->子类构造方法 javahashmap 数据结构底层:数组-方便通过Index快速定位,链表-解决h...

qq_17236715的博客 192

java常见面试题一(总结)

一、java的跨平台原理? 1、通过JVM来实现统一的接口,可以在不同的操作系统上按照统一的java语法格式进行编码 二、java中有几种基本数据类型?分别占几个字节? 1、java中提供了四类八种数据类型 byte----1 short----2 int------4 long-----8 ...

zeng_0825的博客 171

Java常见面试题(一、Java基础)

equals()方法是Object类的方法,在Object类中的equals()方法体内实际上返回的就是使用==进行比较的结果.但是我们知道所有的类都继承Object,而且Object中的equals()方法没有使用final关键字修饰,那么当我们使用equal()方法进行比较的时候,我们需要关注的就是这个类有没有重写Object中的equals()方法.比如String类就是重写了equals方法,先用==比较两个字符串,然后会遍历两个字符串的char数组,看它们的值是否相等。是完全一样的,所以会很快.

rita_0567的博客 519

java常见面试题_Java常见面试题(一)

1、锁优化有哪些思路?减少锁持有时间减小锁粒度锁分离锁粗化锁消除2、虚拟机是怎么优化锁的?偏向锁轻量级锁自旋锁3、javac编译可分为哪三个步骤?解析与填充符号表过程;插入式注解处理器的注解处理过程;语义分析与字节码生成过程。4、基本垃圾回收算法有哪些?引用计数(Reference Counting)标记-清除(Mark-Sweep)复制标记-整理(Mark-Compact)5、引用有几种类型?强...

weixin_42350314的博客 188
上一篇: 七大排序算法
下一篇: Java常见面试题(二)
South.return
博客等级 码龄6年 1879粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

South.return

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值