![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
咸鱼zz
这个作者很懒,什么都没留下…
展开
-
单向链表(Java实现)
package com.kk.test;import java.util.ArrayList;import java.util.List;public class Node { private int value; private Node nextNode; public Node() { } public Node(int value) { this.value = value; } public Node(i原创 2022-04-20 15:44:47 · 528 阅读 · 0 评论 -
泛型的擦除与补偿
1.泛型擦除以ArrayList为例,ArrayList源码中具有泛型< E >,其中有这么一个方法 E elementData(int index) { return (E) elementData[index]; }可见elementData方法返回的是一个泛型对象E,我们用代码看一下,如下: public static void main(String[] args) throws Exception { ArrayList<Str原创 2021-11-19 20:05:37 · 606 阅读 · 0 评论 -
什么是GC垃圾?
一.何为垃圾?所谓垃圾对象,指在JVM内存不可以被再次使用的对象,这种对象没有了引用,我们在代码层面已经不能够再次调用到它;常见如匿名对象 new Object();该对象只是在这一条语句中起了作用,之后我们再也引用不到它,但是它仍占用着JVM的内存空间。那么如何判定一个对象到底是不是垃圾,常见的有2中标记算法:1.引用计数法:意为在每一个对象创建的时候,给它设置一个引用计数器,该对象每有一次引用,则让它的计数器+1;若该对象的计数器为0则毫无疑问就是垃圾。缺点:如A,B两个对象存在循环依赖,原创 2021-09-25 14:22:04 · 232 阅读 · 0 评论 -
何为ThreadLocal?
引用百度的一段介绍:ThreadLocal 是线程本地存储,在每个线程中都创建了一个 ThreadLocalMap 对象,每个线程可以访问自己内部 ThreadLocalMap 对象内的 value。为了验证ThreadLocal的使用,现手写的如下代码:public class Demo01 { private static ThreadLocal<Integer> threadLocal = new ThreadLocal<Integer>(){ p原创 2021-09-23 16:32:43 · 69 阅读 · 0 评论 -
设计模式--适配器模式
适配器模式:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。通俗的说,将2个毫不相干的类,通过适配器可以调用目标类的方法。现模拟一个场景,电视机可以看电视,游戏机可以玩游戏,两者并没有直接的关系,需求是想让电视机也能够玩游戏,所有需要构造1个电视机的适配器出来。代码如下://电视机接口interface TV{ void show();}//普通电视机的实现类class TVClass implements TV{ publ原创 2021-09-07 09:03:21 · 58 阅读 · 0 评论 -
设计模式--原型模式
原型模式属于23种设计模式中创建型模式之一,指利用已有的对象实例,去构造(复制)一个一模一样的实例化对象,言简意赅。上代码:在这里插入代码片原创 2021-09-02 17:49:30 · 57 阅读 · 0 评论 -
Java数组是什么类型?
我们使用Java编程时时,经常会使用到数组,最常见的莫过于整形数组,对象数组,那数组到底是什么,今天我也是花了功夫查阅资料研究了一下。1.数组是什么?现有下面一段代码: int[] arr = {1,2,3,4,5}; System.out.println(arr.getClass()); System.out.println(arr.getClass().getSuperclass()); System.out.println(arr instanc原创 2021-07-13 11:32:13 · 1633 阅读 · 2 评论