![](https://img-blog.csdnimg.cn/20200401232621806.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
java基础深度分析
。
不要停止思考-jcn
向往美好生活
展开
-
面试官问你:说说“==”、equals、hashCode三者关系
面试题:请谈谈”==“和equals的区别。 “==” 介绍 "==“是一个判断符号,作用就是判断对象地址是否相等,在此之前我们曾经探讨过一个话题,在Java中是值传递还是引用传递这个话题: 来讲讲Java中“引用”这两个字 其实不管是值还是引用地址,我们都是将其看成一个”值“的改变。 所以使用”==“来判断的时候分两种情况: 1、基本数据类型—>比较值。 2、引用数据类型(复合数据类型...原创 2019-12-25 11:21:16 · 453 阅读 · 0 评论 -
深入理解Integer缓存机制
之前有对数据类型做介绍: Java数据类型深度总结。 文中就有介绍到在JDK5以及JDK5之后Integer的自动装箱和拆箱。 #Integer缓存策略 虚拟机将创建在一定范围内(-128到127)的整数缓存到一个对象数组,以便进行重用。 缓存:先查缓存,查到了则从缓存中取,没有则重新创建。 为什么不说Int缓存策略而是Integer,说明我们的缓存策略是在自动装箱的时候触发。 那么啥时候...原创 2019-12-14 17:59:05 · 1429 阅读 · 2 评论 -
深入理解Lambda、函数式接口以及方法引用
上期回顾:深入理解Java匿名内部类 我们在了解了匿名内部类的具体使用之后,过渡到Lambda就容易理解了。 下面通过转载一篇文章来对Lambda做一个深入的理解:https://blog.csdn.net/qq_31807385/article/details/82670505 技术的进步,循序渐进;慢下来,扎扎实实;用过度的功夫,才能理解表面肤浅的深度 什么是Lambda表达式? ...转载 2019-11-01 17:15:09 · 669 阅读 · 0 评论 -
深入理解Java匿名内部类
【内部类】 内部类就是将一个类定义到另一个类中,类中再嵌套一个类,所以可以划分为内部类以及外部类。 上面这种叫做成员内部类,有什么局限呢? 成员内部类可以直接访问外部类的成员变量以及成员方法。 都是外部类就不可以直接访问内部类的成员变量和成员方法。 一句话总结:外面看不到里面,里面看得到外面。 外面如果想要看到里面,需要请里面的人(是实例的,具体的对象)出来讲解内部的世界和情况。 外...原创 2019-11-01 16:55:53 · 361 阅读 · 1 评论 -
趣谈AIO、BIO、NIO
之前写过一篇文章,关于介绍IO模型的,在里面就讲到了NIO: IO模型-NIO多路复用 本文章不对Java中IO的具体如何使用做过多的解释,主要是IO流总结以及AIO、BIO、NIO之间做一个比较。 #在Java中的IO流,其实就是输入输出。 根据输入输出文件的类型不同又可以继续划分: 字节流:数据流中最小的数据单元是字节。 二进制文件的输入输出(InputStream、OutputStre...原创 2019-10-21 22:18:24 · 167 阅读 · 0 评论 -
不懂得处理异常你是敢说你是学Java
通过前面的章节,我们深刻的理解了Java中方法、属性、引用、关键字之间的联系,回顾: 一个“方法”带来的诸多问题 一个变量带来的深层思考 来讲讲Java中“引用”这两个字 我们平常使用“关键字”容易忽略的那些点 但是明白了这些后,我们平常在写程序的时候可能会出现一些我们不想要的Exception—异常。 我们常常说的异常是Exception,而不是error,error指运行环境出现的错误,是...原创 2019-10-21 22:17:13 · 143 阅读 · 0 评论 -
我们平常使用“关键字”容易忽略的那些点
#简介 上篇文章中我们已经明白了Java中“引用”在对象、形参以及实参之间的关系了,从方法到变量以及现在的引用都有了较深入的理解,但是对于方法、变量、甚至类都可能想要一个修饰符/关键字对其进行修饰,以此来表达它们之间如何进行关系的控制。 #推荐阅读,建议按照顺序进行 一个“方法”带来的诸多问题。 一个变量带来的深层思考。 来讲讲Java中“引用”这两个字。 #文章主题:修饰符/关键字 本文不...原创 2019-10-18 21:22:14 · 395 阅读 · 0 评论 -
来讲讲Java中“引用”这两个字
#在谈“引用”这个词之前,我们首先来探讨一个问题: 为什么说Java中只有值传递? 在上篇文章中,我们已经知道了Java中的成员变量以及局部变量之间的关系,这里就讨论Java为什么是只有值传递这个问题之前,有必要先了解Java中的对象引用,因为基础的东西都是一层套一层,所以大家平常在回顾基础的时候想要有这样一个认识,见图: 还记得吗?我们是从一个方法开始说起,文章回顾: 一个方法带来的诸多问...原创 2019-10-17 20:21:44 · 303 阅读 · 0 评论 -
一个变量带来的深层思考
我们都知道Java类是由成员变量与成员方法组成的,前面我们已经讲了方法,现在我们来讲讲这个变量。 一个变量带来的深层思考 #Java中的变量分为两种:成员变量以及局部变量。 #成员变量: 成员变量是类范围内定义的变量,可以用static进行修饰也可以选择不修饰,这样又可以划分: **实例变量/属性(不用static修饰):**随着实例属性的存在而存在,作用域与对应实例对象范围一致。 public...原创 2019-10-17 08:40:48 · 261 阅读 · 0 评论 -
一个“方法”带来的诸多问题
一个“方法“带来的诸多问题 #在Java中有这么两种方法:构造方法与普通方法。 对于普通方法相信大家应该很熟悉和清楚了,对于初学者来说很有可能就是通过创建一个普通方法然后来输出"hello world"的,在Java中对象需要通过该普通方法才能具体去做某一件事,一个对象可以做很多事,所以普通方法就是为对象打工的,固这个普通方法需要满足如下几个特性: 普通方法名称不能和类名称一样且要小写。 需要有...原创 2019-10-17 08:40:04 · 331 阅读 · 0 评论 -
由浅入深完全讲解String
一、switch对String的支持 在介绍string的字符串操作之前,先说说switch对String的支持,大家都知道在Jdk1.7之前switch只能局限于int 、short 、byte 、char四类做判断条件。 而在JVM内部实际大部分字节码指令只有int类型的版本,在使用switch的时候,如果是非int型,会先转为int型,再进行条件判断。 Java1.7的switch增加了对S...原创 2019-10-17 08:39:10 · 462 阅读 · 0 评论 -
Java数据类型深度总结
基础数据类型: 溢出:达到了整型的最大值或最小值时仍然进行操作而产生的错误数据问题。 解决:更换数据类型。 字符型常量和字符串常量的区别? 字符型常量:单引号引起的一个字符。 字符串常量:双引号引起的若干个字符。 双精度:double 单精度:float CPU处理单精度浮点数的速度比处理双精度浮点数快。 为什么不能用浮点型表示金额? 在金融行业里就算是细微的误差也是会造成很大的后果,...原创 2019-10-17 08:37:39 · 196 阅读 · 0 评论 -
简单的介绍下Java呀
面向对象: 都知道Java是面向对象的编程语言,那么面向对象与面向过程的区别是什么? 先说面向过程吧,明白了面向过程来谈面向对象就更加好理解了。 面向过程:就是根据我们的思路去分析问题的解决步骤,和玩游戏本质一样,走这一步然后下一步,有个步骤的流程,每个步骤就是一个函数方法来实现的。 用经典的例子就是:五子棋。 1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,...原创 2019-10-17 08:36:49 · 284 阅读 · 0 评论