Person person;这时候没有“=”操作,也就是没有给他赋值,person是空的,即null。 = new Person(),术语就叫实例化,就是pe...
参考链接: java 面对对象概念 什么是面向对象呢?这个问题真的是老生常谈,面试的时候经常问。到底什么是面向对象。。。...,什么都是对象什么的。...但是声明一点,java的编程,很多人只是知道new出来对象,创造对象,却不知道垃圾回收。...虽然java提供了很好的垃圾回收机制,但是就空间复杂度而言,还是要控制的,知道每个变量什么时候活的状态不能被回收,什么时候死的状态可以被回收,对于每一个开发都很重要,要在程序到达一个阶段,一个结束去思考一下...虽然不需要像C那样需要析构函数,但java的垃圾回收还是很重要的。 That‘s all,thanks!
在程序里,将一个功能抽取出来,把代码单独定义在一个大括号里面,形成单独的功能,就叫方法。
什么叫阶乘? 5的阶乘:5!=5×4×3×2×1; 4的阶乘:4!=4×3×2×1。 这就是阶乘。 现有一个需求:求一个数的阶乘?...=1,而不是想当然的以为等于0; 至于为什么为1,这是一个数学问题。 本质上n!=(n+1)!÷(n+1); 所以:0!=1!÷1=1。 那除了for循环还有没有其他方法呢?...看到没有,什么叫递归? 递归就是指在方法里面调用自己的方法这种现象。 就像我们在数学中的找规律一样,先把规律找出来,再创建方法。 ④如果是负数,因为负数是没有阶乘的,直接返回-1,或者报错。...因为它在文件操作中会使用到它,并且既然是学习Java,也有必要理解下递归的概念。 三、递归删除多级目录 根据我们昨天学的File类中的方法。
今天就让我们走进程序的世界,研究下什么叫接口? 一、接口的格式 还是以昨天的例子来理解接口: 动物园里有很多动物,分食草动物和食肉动物,食草动物又有小兔子等。 如何让这些动物进入动物园呢?...什么意思呢? 就是一家动物园,要接纳新动物,就制定了一个规则:动物吃什么? 每个动物吃的都不同,就直接写了一个抽象方法eat(),只有方法名eat,没说具体要吃什么。...什么意思呢? 动物园一开始制定的规则是:你想进动物园,必须说明你吃什么? 现在动物园想增加一个功能,就是想知道每个动物的名字叫什么?...什么时候有需求了重写就好,也可以一直不重写方法。 现在有一只兔子,没有名字,那就用接口的默认名(动物),突然有一天想给它取了一个新名字,叫小白,怎么办?...四、抽象类 在接口的抽象方法中,提到了一个概念,叫抽象类。 这个抽象类又是啥呢? 抽象类:有抽象方法的类就叫抽象类。如果一个类包含抽象方法,那么该类必须是抽象类。
什么叫多态呢?按照字面意思理解就是多种形态的意思。 还是举昨天的那个例子: 动物园里动物都得吃食物,兔子吃胡萝卜,猫吃鱼,狗吃肉。...具体什么意思呢? 变量有基本数据类型和引用数据类型。 其中引用数据类型又分为:数组,类和接口。 父类类型指的是子类继承至的父类,或者子类实现的接口。 按照现实里面的理解就是:一个是亲爹一个是干爹。...三、多态的弊端 多态这么方便,那它有没有什么弊端呢? 是有的。多态不能调用子类的特有方法,需要使用到强制转换。 ? 兔类中有一个特有的方法jump(),兔类的父接口Zoo中没有这个方法。...为了避免出现类转换异常,Java提供了一个关键字:instanceof,给变量名做类型的校验。 ?
那为什么会闪退呢? 就是程序它遇到了问题,又没有及时地处理,便只有崩溃了。而这种情况,便是异常。 在Java世界里面,异常指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。...不要看它这么长好像很复杂的样子,其实拆开来看单词都很简单:Array数组;index索引;OutOfBounds超出界限;Exception异常。...合在一起就是数组的索引超出了界限异常,也就是数组越界异常。 那么出现了异常Java里面是如何处理的? 我们举一个抛绣球的例子来说明下jvm处理异常流程。 好,现在有一个异常,被Java虚拟机知道了。...在Java世界里面:出现了异常,然后都不处理,一直往前抛,最终抛给了Java虚拟机。 于是Java虚拟机非常地生气,打印错误信息,终止了程序。 程序终止这件事情在开发过程中是能不出现就不要出现的。...方式一:throw 因为Java里面异常本身就是一个类,所以创建对应的异常对象,再抛出说明。
小结: 当数据确定时,可以使用格式二或者格式三来定义数组,这种方式也叫静态定义。 当数据不确定时,可以使用格式一来定义数组,这种方式也叫动态定义。...那这是为什么呢? 打印出来的这串字符其实是数组的一个地址,那如何去访问具体的数值呢? 这就需要借助于索引了,什么是索引? 每个存入数组的数值都会有一个对应的角标,这就是索引,并且索引是从0开始的。...因为数组索引是由0开始的,所以数组最大的索引值为数组名.length-1。...JVM作为Java虚拟机,它要运行程序,自然要对内存进行划分和管理: 寄存器:给CPU使用 本地方法栈:JVM在使用操作系统功能的时候使用 方法区:存储可以运行的class文件 堆内存:存储对象或者数组...思路: 将数组的索引(0到length-1)颠倒成(length-1到0)就好了 也就是最大和最小索引交换,第二大和第二小索引交换,依次类推 定义一个最大索引变量maxIndex,值为arr.length
对于我们学Java的来说,自然是与服务端打交道了,其中主要接触的是B/S架构 ? 说完了软件架构,那什么叫网络呢? 网络本质上是指多台计算机之间的数据交换。...其中网络三要素:IP地址、端口和协议 二、网络三要素之协议 什么叫协议? 用一个例子来理解,现在国际上一个日本人和一个德国人语言不通,它们用什么语言交流?用英语。...就比如说视频聊天,我们最在乎的是什么? 是不能卡,不能有延迟,我宁愿丢失几帧的数据(视频数据有稍许丢失对用户影响不大),不卡就行,所以要求就是效率要高。
什么叫IO流? IO流,就是指读写文件的技术。 1.input I就是指input:输入的意思,这是输入流。 意思是将硬盘里的数据输入到内存里,也就是读取文件。...以字符为单位读写数据的流,用于操作文本文件 字符输入流: Reader 字符输出流: Writer 今天主要学习字节流: 二、OutputStream输出流 它是输出流最上层的父类,是一个抽象类,其中它有一个子类叫FileOutputStream...③write(byte[] b, int off, int len) off表示的是偏移量 len表示的是长度 也就是说写入文件的数组,是从b数组中off索引位开始,2个长度。...二、InputStream输入流 它是输入流最上层的父类,是一个抽象类,其中它有一个子类叫FileInputStream。 1.read方法基本用法 ?
BBB obj = new BBB(); System.out.println(obj.f(4, 6)); /* 基类指针指向子类或说派生类效果就像子类指针指是一样的,为什么
为什么同样的模型,判断出的结果不一样呢? 1)w3比较大,为0.8,w4比较小,为0.001.意思就是贵的设施对于判断是否为高档很重要。对于低档几乎没用。
不知道从什么时候开始起,国人变得特别浮躁,尤其是在商业领域。君不见,某宝上假货不断,用户投诉无门。在整体情况一般的情况下,质量或服务好的企业都被用户称之为“业界良心”,大概是以下的几种类型。...只是我想知道,为什么用点好材料就这么难?真材实料难道不是最基本的要求吗?就连老字号的同某堂就多次陷入质量泥潭。以前特别喜欢这副对联:炮制虽繁必不敢省人力,品味虽贵必不敢减物力。...5、不作恶 以前我不是特别理解谷歌公司为什么会把“不作恶”作为企业的价值观。后来,工作了才明白:在企业想作恶实在太容易了。
雪碧图是什么? 雪碧图,英文原名叫 CSS sprites。 sprite 指的是精灵。 我们喝的雪碧,它的英文也是 sprite,应该直译为 “精灵” 的。...但要符合中国市场,因为你不能说我喝的饮料叫“精灵”,那特别怪。于是就走音译的路线,翻译成 “雪碧” 了。 所以雪碧图更正确的叫法应该是 “精灵图”。 那为什么叫精灵呢?
技术核心和实例前面已经给出,这里只是给出大家对这种现象的一个定义而已,马克-to-win:子类重新定义一个与父类那里继承来的域变量完全相同的变量,称为域的隐藏。
区别 聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据非聚簇索引:将数据存储于索引分开结构,索引结构的叶子节点指向了数据的对应行,myisam通过key_buffer把索引先缓存到内存中,当需要访问数据时...(通过索引访问数据),在内存中直接搜索索引,然后通过索引找到磁盘相应数据,这也就是为什么索引不在key buffer命中时,速度慢的原因 澄清一个概念:innodb中,在聚簇索引之上创建的索引称之为辅助索引...(重点在于通过其他键需要建立辅助索引) 3、MyISM使用的是非聚簇索引,非聚簇索引的两棵B 树看上去没什么不同,节点的结构完全一致只是存储的内容不同而已,主键索引B 树的节点存储了主键,辅助键索引B...为什么主键通常建议使用自增id 聚簇索引的数据的物理存放顺序与索引顺序是一致的,即:只要索引是相邻的,那么对应的数据一定也是相邻地存放在磁盘上的。...如果主键不是自增id,那么可以想 象,它会干些什么,不断地调整数据的物理地址、分页,当然也有其他一些措施来减少这些操作,但却无法彻底避免。
今天有人在我公众号里留言,问我“什么叫切图?是不是按着图片切。。。”?我没有直接回复他,而是决定把这个问题拿到这里用一篇文章来回答。...另存为什么呢?就是另存为网页中可以使用的图片。 那这图片,该切成什么样呢? 我不打算把下面的文章写成教程,因为切图的教程已经太多了。...画红框的地方,就是title,为什么叫title?大家在切图之前第一件事就是确定前端规划,否则命名就会很low。 具体的如何制定适合自己的前端开发规范,我会在“一对一视频教学”中给予详细讲解。...为什么会这样呢?
首先,来简单的介绍一下什么是web?Web(World Wide Web)即全球广域网,也称为万维网。我们常说的web端就是网页端。...image.png 那么,由此我们想到下一个问题,这么多的浏览器,它们之间的默契在哪里,你会发现,虽然浏览器不同,但是你浏览的界面是一样的,是兼容的,那这页面呢就是叫HTML。...那么,在软件行业里,有一家公司就非常的特立独行,不遵守标准,接口和所有的公司都不一样,不要问,问就是苹果公司 为什么要遵循WEB标准呢?...initial-scale=1.0"> Document 给大家推荐一首歌吧《平凡之路》 那么代码呈现出来的效果是什么呢
什么叫原子操作? 就 是无法被别的线程打断的操作。要么不执行,要么就执行成功。例如:x=3是原子操作。过程就是先把工作内存的x赋成3,再把主存的x赋成3。
什么叫真五轴、什么叫假五轴,与三轴有什么区别?下面说明如下。 真五轴就是有RTCP功能。能根据主轴的摆长及旋转台的机械坐标进行自动换算。
领取专属 10元无门槛券
手把手带您无忧上云