Java基础
LuckyHAOY
这个作者很懒,什么都没留下…
展开
-
Java类为什么不支持多继承,而是使用接口多实现呢?
Java类不支持多继承是为了程序安全考虑的,我们知道子类能继承父类的所有属性和方法。类多继承情况下: 两个父类存在同名方法或变量,那么子类该调用谁就变得模糊不清了。接口多实现情况下: 两个接口存在同名方法,因为都是需要实现类去实现的,所以无关大雅;而接口的变量默认是static final类型的,也就是常量,常量在编译期就确定了值,倘若两个同名常量不同值,编译期就直接编译不通过了。...原创 2020-06-19 17:07:50 · 619 阅读 · 0 评论 -
深入浅出JVM —— 对象
一、对象的内存布局Java对象的内存布局可以划分为三个部分:对象头、实例数据、对齐填充。对象头: 包括两个主要部分,一是对象的运行时数据(也叫Mark Word),如hashCode、GC分代年龄、锁状态标志、线程持有的锁、偏向锁id、偏向时间戳等;二是对应的类型指针,指向它的类型元数据,虚拟机可以通过它确定该对象是哪个类的实例。另外如果是数组对象,还会有一个部分存放数组长度length,...原创 2020-05-08 17:21:44 · 273 阅读 · 0 评论 -
深入浅出JVM —— Java内存结构
Java内存结构和Java内存模型是不一样的。Java内存结构:指的是内存的存储结构、组成。Java内存模型:是对内存读写过程的抽象,以后有机会再讲。Java内存结构从图中可以看到...原创 2020-05-07 23:04:38 · 214 阅读 · 0 评论 -
开发Java自动打印小工具总结
利用swing包+awt下的print包进行开发。期间遇到的几个坑如下:1.图片的转化方式影响打印效果;2.控制台信息的重定向;3.JTextArea的实时滚动;4.使用pdfbox转换的图片更清晰;...原创 2019-11-10 17:29:25 · 1148 阅读 · 0 评论 -
Java关于链表的函数传参坑
今天在做一道题的时候,发现链表的参数引用并不简单,在这里记录一下。这道题我用到了反转链表的函数,原本是想试试看直接在原链表上修改结构,结果发现在函数中修改完结构,函数外的链表与函数里的链表已经不是指同一个对象了。具体代码如下:class Solution3 { public ArrayList<Integer> printListFromTailToHead(ListNod...原创 2019-11-10 16:41:50 · 1170 阅读 · 2 评论