Java基础
文章平均质量分 63
OneDeveloper
当你无所事事的时候,就得好好想想还缺少什么!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 的 Class#isInstance() 与 instanceof
在 Java 中,有两种方式来判断某个对象是否是某一类型:Class#isInstance()instanceof两者在作用是等价的,只不过 instanceof 是 Java 的关键字,isInstance() 是 Class 的成员方法。但是在用法上,Class#isInstance() 会更加灵活一点,因为使用 instanceof 时,必须要知道具体的目标类型:obj instanceof ExactClass而 Class#isInstance() 则不必,比如:boolea原创 2021-03-18 21:31:08 · 952 阅读 · 0 评论 -
Java 的匿名内部类、非静态内部类、静态内部类
非静态内部类、静态内部类首先先说一下非静态内部类与静态内部类这两者斗是依附于一个外部类的,然后在该外部类里面实现自身的定义,在实现上的区别就是 static 修饰与否的区别:public class InnerClassTest { public static void main(String[] args) { //直接示例化 Static...原创 2018-04-18 18:13:00 · 1123 阅读 · 0 评论 -
【Java 注解】笔记整理
阅读文章: 1、秒懂,Java 注解 (Annotation)你可以这样学 2、深入浅出Java注解 3、Java 技术之注解 Annotation 4、AbstractProcessor注解处理器注:下文 1 - 3 主要摘抄自 深入浅出Java注解1、注解的定义Annotation(注解)就是Java提供了一种源程序中的元素关联任何信息或者任何元数据(metada...原创 2019-05-10 08:26:01 · 656 阅读 · 0 评论 -
ThreadLocal 实现原理总结
ThreadLocal 用于在不同线程中互不干扰的存储并提供数据。这里不对源码进行深究,只浅显的对实现原理进行了解。本次涉及到的源码为 Source for Android 27.ThreadLocal 的实现,需要借助到 ThreadLocalMap。需要提前交代的:在一个 Thread 实例内部,都有一个 threadLocals 成员变量(ThreadLocalMap 类型),而...原创 2018-10-16 13:09:41 · 1079 阅读 · 0 评论 -
Java for 循环踩坑记录
for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[0].length; j++) { for (int k = 0; k < matrix[0].length; k++) {//先把那一横置 0 } ...原创 2018-10-24 17:05:02 · 468 阅读 · 0 评论 -
Java 中匿名内部类引用外部方法的局部变量时为什么要修饰成 final ?
若定义为 final,则 Java 编译器则会在内部类生成一个外部变量的拷贝,而且既可以保证内部类可以引用外部属性,又能保证值的唯一性。若不定义为 final,则无法通过编译(jdk 1.6 测试过)。因为编译器不会给非 final 变量进行拷贝,那么内部类引用的变量就是非法的。...原创 2018-11-27 18:59:14 · 669 阅读 · 0 评论 -
HashMap 笔记整理
主要参考文章:1、Java7/8中的HashMap和ConcurrentHashMap源码分析,看了都说好2、源码分析之HashMap的红黑树实现对于 HashMap,主要的几个问题。1、解决哈希冲突的方法2、为什么数组的长度是 2n3、扩容机制的实现4、红黑树这里只记录关键的源码相关的内容。基于 Java8首先回答 问题 1HashMap 中解决哈希冲突的方法就是使用 数组...原创 2018-12-07 21:28:12 · 557 阅读 · 0 评论 -
Java 四种引用
摘抄自:《Android 进阶解密》在 JDK1.2 之后引入的。1、强引用直接新建一个对象 (new) 并赋值给引用变量,该对象就被持有强引用。一个对象具有强引用是不就被回收的,即使内存不足时或进一步抛出 OutOfMemory 异常时。2、软引用一个对象只具有软引用,在内存不够时会被回收。使用 SoftReference 实现。3、弱引用一个对象只具有弱引用,则下一次垃圾回收时...原创 2018-12-17 20:57:45 · 272 阅读 · 1 评论 -
ArrayList 笔记整理
基于 Java 8参考链接:https://lrh1993.gitbooks.io/android_interview_guide/content/java/basis/arraylist.html一、概述二、涉及的几个常量// 默认的容量DEFAULT_CAPACITY = 10// 空的元素容器,当 new ArrayList(0) 时使用Object[] EMPTY_EL...原创 2019-05-03 18:00:40 · 295 阅读 · 0 评论 -
LinkedList 笔记整理
基于 Java 8概述截图自:https://lrh1993.gitbooks.io/android_interview_guide/content/java/basis/linkedlist.html部分内容及方法以链表的形式来存储元素,节点结构为:private static class Node<E> { E item; Node<...原创 2019-05-03 20:31:03 · 304 阅读 · 0 评论 -
LinkedHashMap 笔记整理
有关 LinkedHashMap,需要现有了解 HashMap 的基础:HashMap 笔记整理源码基于 Java 8主要参考文章:1、面试必备:LinkedHashMap源码解析(JDK8)2、https://lrh1993.gitbooks.io/android_interview_guide/content/java/basis/LinkedHashMap.html1、概述截...原创 2019-05-05 11:09:09 · 596 阅读 · 0 评论 -
有关 Java 的 try-catch-finally 语句的特殊情况备忘
参考文章:深入理解java异常处理机制假设前提背景有:int i = 0;String greetings[] = { " Hello world !", " Hello World !! ", " HELLO WORLD !!!" };1、因 try-catch 造成的死循环(1)while (i < 4) { try { System.out.pr...原创 2019-05-06 23:50:32 · 381 阅读 · 0 评论 -
关于 Java Integer 包装类自动装箱的问题,以及字符串常量池
涉及到的源码是 Java 1.8 的有如下一段代码(摘抄自《深入理解 Java 虚拟机-第 2 版》P316):Integer a = 1;Integer b = 2;Integer c = 3;Integer d = 3;Integer e = 321;Integer f = 321;Long g = 3L;System.out.println(c == d); // t...原创 2019-05-11 19:16:25 · 325 阅读 · 0 评论 -
生产者消费者模式关于 Java 的三种实现
主要参考文章:https://juejin.im/entry/596343686fb9a06bbd6f888c生产者和消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一个存储空间,生产者往存储空间中添加产品,消费者从存储空间中取走产品,当存储空间为空时,消费者阻塞,当存储空间满时,生产者阻塞。在设计实现该模式的时候,需要注意以下三个问题:对容器取产品和添加产品时的同...原创 2019-05-27 20:12:17 · 652 阅读 · 0 评论
分享