Java泛型方法怎么定义使用?看懂这篇,面试不再卡壳
前面我们讲了泛型接口,很多粉丝留言问:泛型方法和泛型接口、泛型类到底有什么区别?什么时候该用泛型方法?不少Java开发有一个误区:类/接口带了泛型,里面的方法就是泛型方法。这个认知是错的!泛型方法,是方法自己独立声明泛型参数,和所在类、接口有没有泛型没有关系。
JVM-08: 本地方法栈与 JNI:Java 之外的那半边
上一篇讲虚拟机栈,留了个尾巴:本地方法栈。当时说它跟虚拟机栈是兄弟俩,一个管 Java 方法,一个管 native 方法。这一篇就把这个尾巴补上。native 方法是个很有意思的东西:方法声明里写着 native,却没有方法体。字节码里只有一张欠条,真正的实现在别的语言写的库里。
JVM-10:方法区 / 元空间:类的元数据去哪了
上一篇在堆里围观了对象的一生:怎么出生、怎么挪窝、什么时候死。但有一件事一直没交代:对象出生前,得先有类。类本身又是谁?它存在哪?占多少地方?这篇讲方法区。规范里它是存放类结构信息的地方,HotSpot 先用永久代实现它,JDK 8 起换成了元空间。
JVM-07:程序计数器与虚拟机栈:方法是怎么执行的
上一篇把"类从哪里来"讲完了:加载、链接、初始化。类装进 JVM 之后就该干活了,这一篇讲方法是怎么执行的。主角是运行时数据区里最小的两块:程序计数器和虚拟机栈。它们也是仅有的两块线程私有区域。方法每调用一次,栈上就压一个栈帧;程序计数器记着当前执行到了哪条字节码。
Java接口和抽象类的区别?看完彻底搞懂
很多Java初学者和初级开发,写代码多年依然分不清接口(Interface)和抽象类(Abstract Class)。日常开发中经常随意混用,不仅代码架构混乱,面试时更是高频翻车。二者作为Java实现抽象、多态的核心载体,看似功能相似,底层设计理念、语法规则、应用场景截然不同。
【Python编程实践】静态方法看起来简单,其实藏着一个机制
如果你写过 Python 类,一定见过这个装饰器:pythonclass MathUtils: @staticmethod def add(a, b): return a + b它叫 @staticmethod,用来定义静态方法。
JVM 如何运行 Java 程序?从类加载到内存模型,一文看懂 JVM 核心原理
《Java 技术进化论》专栏 · 第四篇我们每天都在编写 Java 代码。例如:public class HelloWorld { public static void main(String[] args) { System.out.
Python教程 第46章:类方法与静态方法——不需要实例的方法
一、三种方法的对比上一章我们看到,属性分"每个实例一份"和"全类共享一份"两种。同样的划分也发生在方法上:有些方法必须知道"是哪个对象在调用我",有些只需要知道"是哪个类",还有些两者都不需要。Python 为此提供了三种方法定义方式。
Java8 方法引用与Optional
上篇写完 Lambda 和 Stream,我把代码发给一个后端朋友,让他帮我挑毛病。他扫了一眼,回了一句:“你这 Stream,写得跟没学 Lambda 一样啰嗦。”我当场愣住。