写在开头 之前更新了不少Java的基础知识,比如Java的类、对象、基础类型、关键字、序列化、泛型、值传递等等,今天要上点深度了,来聊一聊Java中的 ==反射== ! 所谓反射,就是在运行时分析、检查和操作类、接口、方法、属性的行为! 简单感受一下反射 在开始详解反射之前,我们先通过一段代码,简单的感受一下反射的魅力!首先,我们已经写了一个Person类,类中有age和name属性,并提供了
写在开头 今天的每日一道Java面试题聊的是Java中的泛型,泛型在面试的时候偶尔会被提及,频率不是特别高,但在日后的开发工作中,却是是个高频词汇,因此,我们有必要去认真的学习它。 泛型的定义 什么是泛型? 什么是泛型?这是个好问题,JDK5更新时带来了一个新特性-==泛型==,所谓“泛型”就是类型参数化,把类型定义成参数的形式(编译期-类型形参),调用时再传入具体的类型(调用时-类型实参)。
写在开头 哈喽大家好,在高铁上码字的感觉是真不爽啊,小桌板又拥挤,旁边的小朋友也比较的吵闹,影响思绪,但这丝毫不影响咱学习的劲头!哈哈哈,在这喧哗的车厢中,思考着这样的一个问题,Java中的对象是如何在各个方法,或者网络中流转的呢? 通过这个问题便引出了我们今天的主人公:序列化与反序列化! 序列化:所谓的序列化就是将Java对象或数据结构转为字节序列的过程,以便于存储到数据库、内存、文件系统或者
写在开头 Java是值传递还是引用传递?这个问题几乎100%的出现在了各大主流Java面试题中,知识点很小,但很考验面试者对于Java运行的理解,今晚趁着生产投产的空子,过来小聊一下。 实参与形参 所谓的值传递or引用传递是指方法在调用的过程中实参传递的两种变现形式,那么好,想搞清楚这个问题的前提是,先搞清楚实参与形参 实际参数(实参,英文:Arguments):用于传递给函数/方法的参数,必须
写在开头 请聊一聊Java中方法的重写和重载? 这个问题应该是各大厂面试时问的最多的话题之一了,它们几乎贯穿了我们日常的开发工作,在过往的博客中我们多多少少都提到过重载与重写,而今天我们就一起来详细的学习一下这二者的功能与区别! 重载与重写的定义 重写: 类实现接口或者子类继承父类时,保持方法签名相同,用不同的方法体来实现不同的功能,这也是Java三大特性之一多态的具体实现,是垂直方向的“类间
写在开头 在过往的内容中,我们讲了不少的Java关键字,比如final、static、this、super等等,Java中的关键字非常之多,下图是整理的关键字集合 而我们今天要学习的就是其中的instanceof关键字! instanceof的定义 instanceof 运算符是用来在运行时判断对象是否是指定类及其父类的一个实例(包括接口),因为比较的是对象,故不能应用于基本数据类型中! 其基本
写在开头 面试官:“小伙子,用过final关键字吗?” 我:“必须用过呀” 面试官:“好,那来说一说你对这个关键字的理解吧,再说一说它与finally、finalize()的区别” 我:“好嘞!” final中文释义:最终的,最后的;在Java中作为关键字的一种,被用来修饰变量、方法、类,final 语义是不可改变的。 final修饰变量 当final修饰变量时有如下几点需要注意: 1、fin
写在开头 静态(static)关键字在Java的众多关键字中举足轻重!也是很多大厂面试官特别喜欢问的面试高频知识点,今天我们就一起学习,梳理,重温一下这个关键吧,之所以用重温修饰是因为在过往的文章中早已提到了static,无论是变量中还是方法中甚至于类中,static都是不可或缺的! 我们知道要想调用类中的属性和方法,通常情况下,需要创建一个对象,初始化完成之后,通过对象的引用去访问,而stati
写在开头 在上一篇文章:一文搞清楚Java中的包、类、接口 中我们讲了Java中的包、类和接口,今天继续将剩下的方法、常量、变量以及参数梳理完。 Java中的变量与常量 在JVM的运转中,承载的是数据,而数据的一种变现形式就是“量”,量分为:常量与变量,我们在数学和物理学中已经接触过变量的概念了,在Java中的变量就是在程序运行过程中可以改变其值的量。 常量 与变量相对应的是常量,所谓常量,即在作
写在开头 包、类、接口、方法、变量、参数、代码块,这些都是构成Java程序的核心部分,即便最简单的一段代码里都至少要包含里面的三四个内容,这两天花点时间梳理了一下,理解又深刻了几分。 Java中的包 Java 定义了一种名字空间,称之为包:package。一个类总是属于某个包,类名(比如Person)只是一个简写,真正的完整类名是包名.类名,这才是唯一确定一个类路径的写法,不同包中的类名允许重复。
写在开头 String字符串作为一种引用类型,在Java中的地位举足轻重,也是代码中出现频率最高的一种数据结构,因此,我们需要像分析Object一样,将String作为一个topic,单独拿出来总结,这里面涉及到字符串的不可变性,字符串拼接、存储、比较、截取以及StringBuffer,StringBuilder区别等。 String类的源码 源码解读 想要真切的去了解Java中被定义好的一个类,
面试官:“小伙子,在日常的写代码过程中,使用过String,StringBuilder和StringBuffer没?” 我:“用过的呀!” 面试官:“那你就来聊一聊,他们之间有什么区别,不同场景下如何选择吧” 我:“好嘞!” 在Java的开发过程中,使用频率最高的就是String字符串,但由于在字符串存储和拼接的过程中,涉及到很多场景需要因地制宜的选用StringBuider与StringBuff
写在开头 在上一篇博文中我们提到了Java面向对象的四大特性,其中谈及“抽象”特性时做了一个引子,引出今天的主人公Object,作为所有类的顶级父类,Object被视为是James.Gosling的哲学思考,它高度概括了事务的自然与社会行为。 源码分析 跟进Object类的源码中我们可以看到,类的注释中对它做了一个总结性的注释。 在Object的内部主要提供了这样的11种方法,大家可以在源码中一
文编|JavaBuild 哈喽,大家好呀!我是JavaBuild,以后可以喊我Build哥!俺滴座右铭是不在沉默中爆发,就在沉默中灭亡,一起加油学习,珍惜现在来之不易的学习时光吧,等工作之后,你就会发现,想学习真的需要挤时间,厚积薄发啦! 标题中的问题可以说是很多公司一面的必问题,作为一种划时代的编程思想,OOP(Object-Oriented-Programming)-面向对象编程的伟大无需
文编|JavaBuild写在开头我们知道Java是面向对象的静态型编程语言,在Java的世界里万物皆对象。但我认为是万物皆数据,世界由各种各样数据构建起来,我们通过程序去实现数据的增删改查、转入转出、加减乘除等等,不同语言的实现方式殊途同归。由此可见,数据对于程序语言的重要性,而在Java中用来规范数据的标准我们将其称之为“数据类型”,这便是我们今天的Topic!在下图中我们将Java中的数据类型
面试官:“说一说你第一个Java程序是怎么跑起来的?” 我:“啊,您是说Hello World吗?” 面试官:“嗯,没错,几十年过去了,还是hello world......” 我:“好滴!且听俺给您唠一唠”话不多说,直接上一段代码:/** * class 关键字:用于在 Java 中声明一个类 */ public class StaffApplicationTests { /**
简单介绍JDK vs JRE vs JVM三者区别1995年Sun公司在SunWorld大会上发布了Java1.0版本,并提出可那个响彻云霄的“一次运行,随处编译”的口号,这句话充分的展示出了Java的跨平台特性,提到跨平台,便衍生出了我们今天需要讨论的话题,JDK、JRE、JVM三者的区别JDK:Java Development Kit( java 开发工具包)。即java语言编写的程序所需的开
写在开头请聊一聊Java中方法的重写和重载?这个问题应该是各大厂面试时问的最多的话题之一了,它们几乎贯穿了我们日常的开发工作,在过往的博客中我们多多少少都提到过重载与重写,而今天我们就一起来详细的学习一下这二者的功能与区别!重载与重写的定义重写: 类实现接口或者子类继承父类时,保持方法签名相同,用不同的方法体来实现不同的功能,这也是Java三大特性之一多态的具体实现,是垂直方向的“类间行为”。重载
文编|JavaBuild截止2024年1月,全球程序员人数预计达到2800万,其中热门的程序语言高达几十种,在此之中包含着太多太多的传奇故事,作为程序员,鸟哥想说:工欲善其事必先利其器!想要真正掌握一门语言,必须要先了解它的历史,今天!作为Java语言的追随者,想和大家聊一聊Java的前世今生!“Java”名字的由来Java是一个简单、健壮、可移植、安全、高性能、面向对象的编程语言,于1995年由
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号