学习面试题Day02
1、Java的引用和C++的指针有什么区别?
1、类型:引用其值为地址的数据元素,Java封装了的地址,可以转成字符串查看,长度可以不必关心。C++指针是一个装地址的变量,长度一般是计算机字长,可以认为是个int;
2、所占内存:引用声明时没有实体,不占空间。C++指针如果声明后用到才会赋值,如果用不到不会分配内存;
3、类型转换:引用的类型转换,也可能不成功,运行时抛异常或者编译就不能通过。C++指针只是个内存地址,指向哪里,对程序来说还都是一个地址,但可能所指的地址不是程序想要的;
4、初始值:引用初始值为Java关键字null.C++指针是int,如不初始化指针,那它的值就不是固定的了,这很危险;
5、控制:引用不可以计算,所以它只能在自己程序中,可以被控制。C++指针是内存地址,也可以计算,所以他有可能指向了一个不属于自己程序使用的内存地址,对于其他程序来说是很危险的,对自己程序来说也是不容易被控制的;
6、计算:引用是不可以计算的。C++指针是int,它可以计算,如++或--,所以经常用指针来代替数组下标;
7、内存泄漏:Java引用不会产生内存泄漏。C++指针是容易产生内存泄漏的,所以程序员要小心使用,及时回收;
8、作为参数:Java的方法参数只是传值,引用作为参数使用时,会给函数内引用的值COPY,所以在函数内交换两个引用参数是没意义的,因为函数直叫唤参数的COPY值,但在函数内改变一个引用参数的属性是有意义的,因为引用参数的COPY所引用的对象是和引用参数同一个对象。C++指针作为参数给函数使用,实际上就是它所指的地址在被函数操作,所以函数内使用指针参数的操作都将直接作用到指针所指向的地址(变量,对象,函数等)。
2、请简述Java的main()方法。
main()方法是一个程序的执行入口,它是一个定义在类中的、公开的、静态的、无返回值的、参数为一个字符串数组的方法,他的参数args与执行参数一一对应。
3、Java中equals和==的区别是什么?
equals和==两者均表示相等的意思,但是它们相等的含义却有所区别。
“==”运用在进本数据类型的时候,通过比较它们实际的值来判定是否相同;而用于比较引用类型的时候,则比较两个引用的地址是否相等,也就是是否指向同一个对象。
equals方法是java.lang.Object的方法,也就是所有的Java类都会有的方法。它可以被覆盖重写,通过自定义的方法来判定两个对象是否相等。对于字符串java.lang.String类来说,它的equals方法用来比较字符串的字符序列是否完全相等。
4、Java提供了哪几种循环结构?它们各自的特点是什么?
Java提供了3种循环结构,即for、while和do...while语句。它们各自适用于不同的情况,其中,for循环适合于能确定循环次数的循环结构。while语句则适合单条件的循环。而do...whie语句在执行某段代码之后,再循环的时候更适合一些。
5、Java中的三元运算符是什么?
Java中唯一一个三元运算符为“表达式一?表达式二:表达式三”。在问号?之前是一个布尔表达式,它只能返回true或false,如果表达式一返回的是true则执行表达式二,否则执行表达式三,并产生相应的返回值。它的主要目的是为了是代码更简洁。
学习面试题Day02的更多相关文章
- 深度学习面试题29:GoogLeNet(Inception V3)
目录 使用非对称卷积分解大filters 重新设计pooling层 辅助构造器 使用标签平滑 参考资料 在<深度学习面试题20:GoogLeNet(Inception V1)>和<深 ...
- 深度学习面试题27:非对称卷积(Asymmetric Convolutions)
目录 产生背景 举例 参考资料 产生背景 之前在深度学习面试题16:小卷积核级联卷积VS大卷积核卷积中介绍过小卷积核的三个优势: ①整合了三个非线性激活层,代替单一非线性激活层,增加了判别能力. ②减 ...
- 深度学习面试题13:AlexNet(1000类图像分类)
目录 网络结构 两大创新点 参考资料 第一个典型的CNN是LeNet5网络结构,但是第一个引起大家注意的网络却是AlexNet,Alex Krizhevsky其实是Hinton的学生,这个团队领导者是 ...
- Python学习之路——Day02
今日内容: 1.编程语言介绍(***) 2.python介绍(***) 3.安装cpython解释器(多个版本)(****) 4.运行python程序的两种方式(****) 4.1 交互式 4.2 命 ...
- Java学习之面试题整理
1,java 基本数据类型有几种?哪几种?(面试题) 8种 byte short int long float double char boolean 2,int类型是几个字节?(面试题) 4字节 3 ...
- 深度学习面试题26:GoogLeNet(Inception V2)
目录 第一层卷积换为分离卷积 一些层的卷积核的个数发生了变化 多个小卷积核代替大卷积核 一些最大值池化换为了平均值池化 完整代码 参考资料 第一层卷积换为分离卷积 net = slim.separab ...
- 深度学习面试题25:分离卷积(separable卷积)
目录 举例 单个张量与多个卷积核的分离卷积 参考资料 举例 分离卷积就是先在深度上分别卷积,然后再进行卷积,对应代码为: import tensorflow as tf # [batch, in_he ...
- 深度学习面试题24:在每个深度上分别卷积(depthwise卷积)
目录 举例 单个张量与多个卷积核在深度上分别卷积 参考资料 举例 如下张量x和卷积核K进行depthwise_conv2d卷积 结果为: depthwise_conv2d和conv2d的不同之处在于c ...
- 深度学习面试题21:批量归一化(Batch Normalization,BN)
目录 BN的由来 BN的作用 BN的操作阶段 BN的操作流程 BN可以防止梯度消失吗 为什么归一化后还要放缩和平移 BN在GoogLeNet中的应用 参考资料 BN的由来 BN是由Google于201 ...
随机推荐
- Mooncake (排序+贪心)
Mooncake is a Chinese bakery product traditionally eaten during the Mid-Autumn Festival. Many types ...
- Web 高性能开发汇总
1. Http服务器: 让Windows Server 2008+IIS 7+ASP.NET支持10万个同时请求 大规模网站架构实战之体系结构(一) 大规模网站架构之WEB加速器SQUID(二) ii ...
- Linux内核树的建立-基于ubuntu系统
刚看 O'REILLY 写的<LINUX 设备驱动程序>时.作者一再强调在编写驱动程序时必须 建立内核树.先前的内核只需要有一套内核头文件就够了,但因为2.6的内核模块吆喝内核源码树中的目 ...
- 干货CentOS6.5_Nginx1.40_Php5.57_MySQL5.5.35编译安装全记录
http://www.unixdo.com/Unix_Linux/CentOS65_Nginx140_Php557_MySQL5535.html 如果是编译升级php,之前做过nginx的虚拟主机配置 ...
- IOS UIVIEW layer动画 总结(转)
转发自:http://www.aichengxu.com/article/%CF%B5%CD%B3%D3%C5%BB%AF/16306_12.html IOS UIVIEW layer动画 总结, ...
- 使用pd设计表的 多对多的中间表的设计方式, 有图有真相
设计多对多表时解决重复问题 目前流行两种设计方式: 方式一 是在中间表中建一个单独的id主键, 与业务表关联的键设置为unique唯一; 干事二: 联合主键的方式, 该方式中间表不会有与业务表无关的主 ...
- 【链表】BZOJ 2288: 【POJ Challenge】生日礼物
2288: [POJ Challenge]生日礼物 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 382 Solved: 111[Submit][S ...
- [转载]C#中各种计时器
1.使用 Stopwatch 类 (System.Diagnostics.Stopwatch) Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间.在典型的 S ...
- onClick(View) of type new View.OnClickListener(){} must override a superclass method
原地址:http://blog.csdn.net/aeolus1019/article/details/8014798 Android开发过程中代码错误报错如下: - implements andro ...
- c缺陷与陷阱笔记-第一章 词法陷阱
1.运算符的贪心性,匹配最长的运算符,例如 n-->0,从-开始,-是运算符,--是运算符,-->就不是,所以是 n -- > 0,--是 a---b,-是,--是,,---不是,所 ...