java面试题

1000道互联网大厂面试题:ZooKeeper+Dubbo,linux基础教程第二版课后答案 1、MySQL 中有哪几种锁? 2、MySQL 中有哪些不同的表格? 3、简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别 4、MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别? 5、CHAR 和 VARCHAR 的区别? 6、主键和候选键有什么区别? 7、myisamchk 是用来做什么的? 8、如果一个表有一列定义为 TIMESTAMP,将发生什么? 9、你怎么看到为表格定义的所有索引? 10、… Java 并发编程(一) 1、在 java 中守护线程和 阅读详情

一、Java 基础

 

1.JDK 和 JRE 有什么区别?

 

2.== 和 equals 的区别是什么?

 

3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

 

4.final 在 java 中有什么作用?

 

5.java 中的 Math.round(-1.5) 等于多少?

 

6.String 属于基础的数据类型吗?

 

7.java 中操作字符串都有哪些类?它们之间有什么区别?

 

8.String str="i"与 String str=new String(“i”)一样吗?

 

9.如何将字符串反转?

 

10.String 类的常用方法都有那些?

 

11.抽象类必须要有抽象方法吗?

 

12.普通类和抽象类有哪些区别?

 

13.抽象类能使用 final 修饰吗?

 

14.接口和抽象类有什么区别?

 

15.java 中 IO 流分为几种?

 

16.BIO、NIO、AIO 有什么区别?

 

17.Files的常用方法都有哪些?

 

二、容器

 

18.java 容器都有哪些?

 

19.Collection 和 Collections 有什么区别?

 

20.List、Set、Map 之间的区别是什么?

 

21.HashMap 和 Hashtable 有什么区别?

 

22.如何决定使用 HashMap 还是 TreeMap?

 

23.说一下 HashMap 的实现原理?

 

24.说一下 HashSet 的实现原理?

 

25.ArrayList 和 LinkedList 的区别是什么?

 

26.如何实现数组和 List 之间的转换?

 

27.ArrayList 和 Vector 的区别是什么?

 

28.Array 和 ArrayList 有何区别?

 

29.在 Queue 中 poll()和 remove()有什么区别?

 

30.哪些集合类是线程安全的?

 

31.迭代器 Iterator 是什么?

 

32.Iterator 怎么使用?有什么特点?

 

33.Iterator 和 ListIterator 有什么区别?

 

34.怎么确保一个集合不能被修改?

 

三、多线程

 

35.并行和并发有什么区别?

 

36.线程和进程的区别?

 

37.守护线程是什么?

 

38.创建线程有哪几种方式?

 

39.说一下 runnable 和 callable 有什么区别?

 

40.线程有哪些状态?

 

41.sleep() 和 wait() 有什么区别?

 

42.notify()和 notifyAll()有什么区别?

 

43.线程的 run()和 start()有什么区别?

 

44.创建线程池有哪几种方式?

 

45.线程池都有哪些状态?

 

46.线程池中 submit()和 execute()方法有什么区别?

 

47.在 java 程序中怎么保证多线程的运行安全?

 

48.多线程锁的升级原理是什么?

 

49.什么是死锁?

 

50.怎么防止死锁?

 

51.ThreadLocal 是什么?有哪些使用场景?

 

52.说一下 synchronized 底层实现原理?

 

53.synchronized 和 volatile 的区别是什么?

 

54.synchronized 和 Lock 有什么区别?

 

55.synchronized 和 ReentrantLock 区别是什么?

 

56.说一下 atomic 的原理?

 

四、反射

 

57.什么是反射?

 

58.什么是 java 序列化?什么情况下需要序列化?

 

59.动态代理是什么?有哪些应用?

 

60.怎么实现动态代理?

 

五、对象拷贝

 

61.为什么要使用克隆?

 

62.如何实现对象克隆?

 

63.深拷贝和浅拷贝区别是什么?

 

六、Java Web

 

64.jsp 和 servlet 有什么区别?

 

65.jsp 有哪些内置对象?作用分别是什么?

 

66.说一下 jsp 的 4 种作用域?

 

67.session 和 cookie 有什么区别?

 

68.说一下 session 的工作原理?

 

69.如果客户端禁止 cookie 能实现 session 还能用吗?

 

70.spring mvc 和 struts 的区别是什么?

 

71.如何避免 sql 注入?

 

72.什么是 XSS 攻击,如何避免?

 

73.什么是 CSRF 攻击,如何避免?

 

七、异常

 

74.throw 和 throws 的区别?

 

75.final、finally、finalize 有什么区别?

 

76.try-catch-finally 中哪个部分可以省略?

 

77.try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?

 

78.常见的异常类有哪些?

 

八、网络

 

79.http 响应码 301 和 302 代表的是什么?有什么区别?

 

80.forward 和 redirect 的区别?

 

81.简述 tcp 和 udp的区别?

 

82.tcp 为什么要三次握手,两次不行吗?为什么?

 

83.说一下 tcp 粘包是怎么产生的?

 

84.OSI 的七层模型都有哪些?

 

85.get 和 post 请求有哪些区别?

 

86.如何实现跨域?

 

87.说一下 JSONP 实现原理?

 

九、设计模式

 

88.说一下你熟悉的设计模式?

 

89.简单工厂和抽象工厂有什么区别?

 

十、Spring/Spring MVC

 

90.为什么要使用 spring?

 

91.解释一下什么是 aop?

 

92.解释一下什么是 ioc?

 

93.spring 有哪些主要模块?

 

94.spring 常用的注入方式有哪些?

 

95.spring 中的 bean 是线程安全的吗?

 

96.spring 支持几种 bean 的作用域?

 

97.spring 自动装配 bean 有哪些方式?

 

98.spring 事务实现方式有哪些?

 

99.说一下 spring 的事务隔离?

 

100.说一下 spring mvc 运行流程?

 

101.spring mvc 有哪些组件?

 

102.@RequestMapping 的作用是什么?

 

103.@Autowired 的作用是什么?

 

十一、Spring Boot/Spring Cloud

 

104.什么是 spring boot?

 

105.为什么要用 spring boot?

 

106.spring boot 核心配置文件是什么?

 

107.spring boot 配置文件有哪几种类型?它们有什么区别?

 

108.spring boot 有哪些方式可以实现热部署?

 

109.jpa 和 hibernate 有什么区别?

 

110.什么是 spring cloud?

 

111.spring cloud 断路器的作用是什么?

 

112.spring cloud 的核心组件有哪些?

 

十二、Hibernate

 

113.为什么要使用 hibernate?

 

114.什么是 ORM 框架?

 

115.hibernate 中如何在控制台查看打印的 sql 语句?

 

116.hibernate 有几种查询方式?

 

117.hibernate 实体类可以被定义为 final 吗?

 

118.在 hibernate 中使用 Integer 和 int 做映射有什么区别?

 

119.hibernate 是如何工作的?

 

120.get()和 load()的区别?

 

121.说一下 hibernate 的缓存机制?

 

122.hibernate 对象有哪些状态?

 

123.在 hibernate 中 getCurrentSession 和 openSession 的区别是什么?

 

124.hibernate 实体类必须要有无参构造函数吗?为什么?

 

十三、Mybatis

 

125.mybatis 中 #{}和 ${}的区别是什么?

 

126.mybatis 有几种分页方式?

 

127.RowBounds 是一次性查询全部结果吗?为什么?

 

128.mybatis 逻辑分页和物理分页的区别是什么?

 

129.mybatis 是否支持延迟加载?延迟加载的原理是什么?

 

130.说一下 mybatis 的一级缓存和二级缓存?

 

131.mybatis 和 hibernate 的区别有哪些?

 

132.mybatis 有哪些执行器(Executor)?

 

133.mybatis 分页插件的实现原理是什么?

 

134.mybatis 如何编写一个自定义插件?

 

十四、RabbitMQ

 

135.rabbitmq 的使用场景有哪些?

 

136.rabbitmq 有哪些重要的角色?

 

137.rabbitmq 有哪些重要的组件?

 

138.rabbitmq 中 vhost 的作用是什么?

 

139.rabbitmq 的消息是怎么发送的?

 

140.rabbitmq 怎么保证消息的稳定性?

 

141.rabbitmq 怎么避免消息丢失?

 

142.要保证消息持久化成功的条件有哪些?

 

143.rabbitmq 持久化有什么缺点?

 

144.rabbitmq 有几种广播类型?

 

145.rabbitmq 怎么实现延迟消息队列?

 

146.rabbitmq 集群有什么用?

 

147.rabbitmq 节点的类型有哪些?

 

148.rabbitmq 集群搭建需要注意哪些问题?

 

149.rabbitmq 每个节点是其他节点的完整拷贝吗?为什么?

 

150.rabbitmq 集群中唯一一个磁盘节点崩溃了会发生什么情况?

 

151.rabbitmq 对集群节点停止顺序有要求吗?

 

十五、Kafka

 

152.kafka 可以脱离 zookeeper 单独使用吗?为什么?

 

153.kafka 有几种数据保留的策略?

 

154.kafka 同时设置了 7 天和 10G 清除数据,到第五天的时候消息达到了 10G,这个时候 kafka 将如何处理?

 

155.什么情况会导致 kafka 运行变慢?

 

156.使用 kafka 集群需要注意什么?

 

十六、Zookeeper

 

157.zookeeper 是什么?

 

158.zookeeper 都有哪些功能?

 

159.zookeeper 有几种部署模式?

 

160.zookeeper 怎么保证主从节点的状态同步?

 

161.集群中为什么要有主节点?

 

162.集群中有 3 台服务器,其中一个节点宕机,这个时候 zookeeper 还可以使用吗?

 

163.说一下 zookeeper 的通知机制?

 

十七、MySql

 

164.数据库的三范式是什么?

 

165.一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 mysql 数据库,又插入了一条数据,此时 id 是几?

 

166.如何获取当前数据库版本?

 

167.说一下 ACID 是什么?

 

168.char 和 varchar 的区别是什么?

 

169.float 和 double 的区别是什么?

 

170.mysql 的内连接、左连接、右连接有什么区别?

 

171.mysql 索引是怎么实现的?

 

172.怎么验证 mysql 的索引是否满足需求?

 

173.说一下数据库的事务隔离?

 

174.说一下 mysql 常用的引擎?

 

175.说一下 mysql 的行锁和表锁?

 

176.说一下乐观锁和悲观锁?

 

177.mysql 问题排查都有哪些手段?

 

178.如何做 mysql 的性能优化?

 

十八、Redis

 

179.redis 是什么?都有哪些使用场景?

 

180.redis 有哪些功能?

 

181.redis 和 memecache 有什么区别?

 

182.redis 为什么是单线程的?

 

183.什么是缓存穿透?怎么解决?

 

184.redis 支持的数据类型有哪些?

 

185.redis 支持的 java 客户端都有哪些?

 

186.jedis 和 redisson 有哪些区别?

 

187.怎么保证缓存和数据库数据的一致性?

 

188.redis 持久化有几种方式?

 

189.redis 怎么实现分布式锁?

 

190.redis 分布式锁有什么缺陷?

 

191.redis 如何做内存优化?

 

192.redis 淘汰策略有哪些?

 

193.redis 常见的性能问题有哪些?该如何解决?

 

十九、JVM

 

194.说一下 jvm 的主要组成部分?及其作用?

 

195.说一下 jvm 运行时数据区?

 

196.说一下堆栈的区别?

 

197.队列和栈是什么?有什么区别?

 

198.什么是双亲委派模型?

 

199.说一下类加载的执行过程?

 

200.怎么判断对象是否可以被回收?

 

201.java 中都有哪些引用类型?

 

202.说一下 jvm 有哪些垃圾回收算法?

 

203.说一下 jvm 有哪些垃圾回收器?

 

204.详细介绍一下 CMS 垃圾回收器?

 

205.新生代垃圾回收器和老生代垃圾回收器都有哪些?有什么区别?

 

206.简述分代垃圾回收器是怎么工作的?

 

207.说一下 jvm 调优的工具?

 

208.常用的 jvm 调优的参数都有哪些?

java面试100题(应届生必备) =对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而equals默认情况下是引用比较,只是很多类重新了equals方法,比如String、Integer等把它变成了值比较,所以一般情况下equals比较的是值是否相等。... 阅读详情

相关推荐

Java经典面试题总结(附答案)

所谓反射,是java在运行时进行自我观察的能力,通过class、constructor、field、method四个方法获取一个类的各个组成部分。在Java运行时环境中,对任意一个类,可以知道类有哪些属性和方法。这种动态获取类的信息以及动态调用对象的方法的功能来自于反射机制。序列化就是一种用来处理对象流的机制。将对象的内容流化,将流化后的对象传输于网络之间。

CTZL123456的博客 1万+

java常见面试题(160道)

java常见面试题

打造专业技术博客 9万+

Java核心面试题——精选36道核心面试题

目录java核心面试题1、java个版本中更新的重要功能1.1 java 14版本中更新的重要功能1.2 java 13版本中更新的重要功能1.3 java12版本中更新的重要功能1.4 java11版本中更新的重要功能1.5 java10版本中更新的重要功能1.6 java9版本中更新的重要功能1.5 java8版本中更新的重要功能2、java面向对象编程的特征3、 [JVM](https://blog.youkuaiyun.com/issunmingzhi/article/details/104774941)4、J

冢狐的私人空间 1595

JAVA面试题大全(200+道题目)

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

qq_38078190的博客 13万+

电路抗干扰原理及应用(1)

电路抗干扰原理——介绍干扰源、干扰途径、抗干扰技术(接地技术)

qq_34758408的博客 2055

手把手教你用STM32的SPI驱动MCP2517FD实现CAN FD通信(附完整代码)

本文详细介绍了如何使用STM32通过SPI驱动MCP2517FD实现CAN FD通信,涵盖硬件连接、SPI驱动编写、寄存器配置及数据收发实战。提供完整代码示例和常见问题排查指南,帮助开发者快速构建高可靠性的CAN FD通信系统,适用于汽车电子和工业控制等领域。

weixin_30607029的博客 674

Java 208 道面试题:Java 基础模块答案

目前市面上的面试题存在两大问题:第一,题目太旧好久没有更新了,还都停留在 2010 年之前的状态;第二,近几年 JDK 更新和发布都很快,Java 的用法也变了不少,加上 Java 技术栈也加入了很多新的框架,比如 Spring Boot、Spring Cloud 等,但类似的面试题却极少。 相比与这些问题,我的这 208 道面试题,包含了以下 4 个特点: 披沙拣金提炼出每个 Java 模块中...

磊哥聊Java 1万+

Unity插件-Mirror使用方法(一)Mirror介绍

Unity Mirror 是一个专为 Unity 引擎设计的开源、社区驱动的网络库,主要用于简化多人联机游戏的开发。它最初是为了替代 Unity 原生的 UNet 系统(已被官方弃用)而创建的,因其轻量、灵活和高效的特点,成为 Unity 开发者构建多人游戏的热门选择。

qq_44501691的博客 4097

JAVA 面试背 通过_java面试题背不下来怎么办?java面试题总结

Language》一书的附录中给出了一个Java关键字列表,其中有goto和const,但是这两个是目前无法使用的关键字,因此有些地方将其称之为保留字,其实保留字这个词应该有更广泛的意义,因为熟悉C语言的程序员都知道,在系统类库中使用过的有特殊意义的单词或单词的组合都被视为保留字)。最近有很多java人员反映,说java面试题太多根本就背不下来,这可急坏了他们,毕竟要去面试java工作的,那么接下来,我们就来给大家讲解一下java面试题背不下来的解决方法。可以正确编译,因为s1+= 1;

m0_74825409的博客 1398

【UE4】Hierarchical Instanced Static Mesh——一种速度优于Spawn的实例化物体组件

最近需要在场景中实例出很多个相同的模型,位置也很有规律,并且要对它的位置信息进行更新。 但是一个个拖进去实在太麻烦,就发现了Spawn Actor这个蓝图方法,可以实例一个蓝图类在场景中。 但是由于数量较大,实例化的速度太慢,这时发现了一个神奇的组件——Hierarchical Instanced Static Mesh。 新建一个蓝图类,添加该组件,在细节里添加你要实例化的模型对象。 ...

ColorGalaxy 1万+

计算机组成原理(第三版)唐朔飞-第一章第二章-课后习题

计算机组成原理

weixin_45735391的博客 7万+

Java高级面试题总结

本文内容涉及中高级面试知识点,涵盖众多大厂面试题

前方一片光明 1万+

银河麒麟桌面系统 必会操作 | 加装双系统(麒麟桌面系统+Windows系统)的详细方法(含常见故障和解决方法)

装好麒麟桌面操作系统的电脑上、再加装Windows 操作系统的详细方法;和在已经装好Windows系统的电脑上、再加装麒麟桌面操作系统的详细方法;含加装双系统过程中常见问题的解决方法。

qq_33216613的博客 2397

java面试题及答案2024,java2024最新面试题及答案(之一)

== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而 equals 默认情况下是引用比较,只是很多类重新了 equals 方法,比如 String、Integer 等把它变成了值比较,所以一般情况下 equals 比较的是值是否相等。

码界云仓 1526

ArcGIS Pro符号化教程

本文详细介绍了ArcGIS Pro的软件设置和符号化操作步骤。主要包括:1)设置默认工程目录和关闭地图自动加载;2)创建新工程的基本流程;3)点要素的单一符号化方法,包括样式修改和图层调整;4)图表符号显示过滤器的使用,涉及字段添加、图表类型选择和背景设置。文章还提供了操作截图和数据下载链接,适合GIS初学者学习ArcGIS Pro的基础符号化操作。

WwLK123的博客 547

【WorkBuddy专栏52】Codex与WorkBuddy生态适配、用户争夺与未来走向(下)

【WorkBuddy专栏52】Codex与WorkBuddy在中国大陆的发展——生态适配、用户争夺与未来走向(下)

AI人人懂 676

Java面试题

Java面试题(01)Java面试题(02)Java面试题(03)Java面试题(04)Java面试题(05)Java面试题(06)Java面试题(07)Java面试题(08)Java面试题(09)Java面试题(10)Java面试题(11)Java面试题(12)Java面试...

心底善良小剥皮de博客 4307

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java基础面试题汇总

java基础面试题整理

个人博客,欢迎收藏。 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

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

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

Java面试题(最新最全Java面试题汇总)

Java面试题(最新最全Java面试题汇总)JAVA相关基础知识Java面试题集-Java面试题,J2EE面试题集J2EE面试题集(附答案)Java常见面试题集--面试题全面综合(一)Java常见面试题集--面试题全面综合(二)Java面试题集(欢迎大家踊跃提供) 最全的C/C++面试题集(C/C++试题和部分答案)最全的C/C++面试题集(最全的C/C++试题集和答案)(续)一道有趣的C#考试题

首席技术执行官CTO(Chief Technology Officer)|技术总监--邓斌博客 3022

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

2020最新Java面试题

@TOC1、面试题模块汇总 面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示: 可能对于初学者不需要后面的框架和 ...

java开发郭靖 3046

java 入门面试题

基础:JDK 和 JRE 的区别== 和 equals 的区别基本类型和包装类对象使用 == 和 equals进行比较的结果?什么是装箱?什么是拆箱?装箱和拆箱的执行过程?常见问题?hashCode()相同,equals() 也一定为 true吗?final 在 java 中的作用final finally finalize()区别finally语句块一定执行吗?final 与 static 的区别return 与 finally 的执行顺序对返回值的影响String对象中的replace和replaceA

m0_74824755的博客 1166

Java经典面试题

这份面试题,包含的内容了十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM。下面一起来看 208 道面试题,具体的内容。以下是网上整理的非常全面的面试题,当然,绝大多数人不可能全部用到,但是都罗列在此,大家可根据自己的情况,选择对应的模块进行阅读。

2401_87878486的博客 1331

Java线程面试题

Java线程面试题 Top 50 下面是Java线程相关的热门面试题,你可以用它来好好准备面试。 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的...

ANGEL CITY 1917

【面试题】-java面试题总目录

前言:先吐槽一下面试吧,相信不少人都有这样的经历,其实你对某项技术已经掌握的很OK了,但在面试的时候却未必能发挥到很好,让面试官觉得你确实已经很好的掌握该技术,也就是说你实际对该技术掌握的程度有90%,但面试时表现出来的却只有30%甚至更少,这可能是表达能力的问题,但也可能很大程度是因为你没有刷面试题,有些平时几乎很少会用到地方没有涉及到刚好被问到了.就好生活中有些人开车开得很好,甚至是一些开车多...

老汉健身的博客 578
上一篇: Java 中各种专业术语的概念
下一篇: SpringBoot注解梳理
孤風
博客等级 码龄9年 446粉丝 29原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值