首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java进阶
赌一包辣条
创建于2021-06-20
订阅专栏
系统讲解注解、反射、泛型、APT、JVM、多线程等Java进阶知识。
等 49 人订阅
共18篇文章
创建于2021-06-20
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
浅析Java 中的动态代理
在之前的一篇文章《静态代理这么用?聊一聊ViewPagerIndicator重构的一些经验》中详细的介绍了 java 中的静态代理,并且使用静态代理对IndicatorView进行了重构。静态代理的优
Java并发系列番外篇:ThreadLocal原理其实很简单
多线程并发时要解决的一个最重要的问题是多线程共享内存变量同步的问题。前几篇文章无论是volatile、synchronized又或是ReentrantLock和Atomic类无不是解决这一问题。而很多
Java并发系列终结篇:彻底搞懂Java线程池的工作原理
在Java语言中,虽然创建并启动一个线程非常方便,但是由于创建线程需要占用一定的操作系统资源,在高并发的情况下,频繁的创建和销毁线程会大量消耗CPU和内存资源,对程序性能造成很大的影响。为了避免这一问
深入理解Java线程的等待与唤醒机制(二)
ReentrantLock与synchronized类似,也有一套类似wait与notify/notifyAll的等待唤醒机制--Condition。本篇文章我们来深入的认识ReentrantLock
深入理解Java线程的等待与唤醒机制(一)
多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用
这一次,彻底搞懂Java并发包中的Atomic原子类
多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用到的知识,说它难是因为多线程并发涉及到的知识点非常之多,想要完全掌握Java的并发
这一次,彻底搞懂Java中的ReentrantLockt实现原理
多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用到的知识,说它难是因为多线程并发涉及到的知识点非常之多,想要完全掌握Java的并发
这一次,彻底搞懂Java中的synchronized关键字
本文是Java并发系列的第二篇文章,将详细的讲解synchronized关键字以及其底层的实现原理。
这一次,彻底搞懂Java内存模型与volatile关键字
多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用到的知识,说它难是因为多线程并发涉及到的知识点非常之多,想要完全掌握Java的并发相关知识并非易事。也正因此,Java并发成了Java面试中最高频的知识点之一。…
详解Java中的泛型(Generics)
Java泛型是在JDK1.5中引进来的一个概念。泛型意为泛化的参数类型,英文为Generics ,翻译过来其实就是通用类型的意思。泛型在平时开发中经常用到,例如常用的集合类、Class类等都是JDK给我们提供的泛型类,更多的时候我们还会使用自定义泛型。可见,泛型在Java体系中…
深入理解Java的反射机制
在上篇文章《深入JVM--探索Java虚拟机的类加载机制》中我们深入探讨了JVM的类加载机制。我们知道,在实例化一个类时,如果这个类还没有被虚拟机加载,那么虚拟机会先执行类加载过程,将该类所对应的字节码读取到虚拟机,并生成一个与这个类对应的Class对象。而在类加载的过程中,由…
Java注解及其实例应用
Java注解在我们项目开发 中是非常常见的。比如经常用到的几种java内置的注解: @Override,表示当前的方法定义将覆盖超类中的方法。 @Deprecated,表示当前方法即将废弃,不推荐使用。 @SuppressWarnings,表示忽略编译器的警告信息。 对于上面几…
探索Java虚拟机的类加载机制
我们知道Java程序在编译的过程中需要先经过javac将Java文件编译成字节码文件才能被虚拟机执行。而类加载指的就是将编译好的字节码(不仅仅指.class文件中的字节码,任意的字节码流都可以被读取到JVM)读取到JVM的内存中的过程。虚拟机在加载.class文件时会对数据进行…
Java垃圾回收机制最全解析
提起Java的垃圾回收机制大家应该都有所了解,它不仅是面试的常客,也是Java体系中相当重要的一块知识。深入理解Java的GC机制,不仅有助于我们在开发中提高程序的性能,更有了在面试官面前炫(zhuang)技(X)的资本。本篇文章将全面且深入的分析JVM的垃圾回收机制,同时还会…
深入理解Java中的字符串(二)
上篇文章我们深入分析了String的内存和它的一些特性。本篇文章我们深入的来分析一下与String相关的另外两个类,它们分别是StringBuilder和StringBuffer。这两个类与String有什么关系呢?首先我们看下下边这张类图: 从图中可以看出StringBuil…
深入理解Java中的字符串(一)
初学Java时我们已经知道Java中可以分为两大数据类型,分别为基本数据类型和引用数据类型。而在这两大数据类型中有一个特殊的数据类型String,String属于引用数据类型,但又有区别于其它的引用数据类型。可以说它是数据类型中的一朵奇葩。那么,本篇文章我们就来深入的认识一下J…
Java运行时内存区域详解
Java内存分配是Java基础中非常重要的一部分内容,深入理解JVM的内存分配机制将有助于我们解决开发中遇到的很多问题。同时,内存分配这一块也是面试常客。笔者作为面试官也问过不少内存分配的问题,但令笔者惊讶的是不少三五年经验的面试者对于这块内容的回答也是含糊其辞,显然没有完全搞…
编译时注解处理器(APT)详解
上篇文章我们使用注解+反射实现了一个仿ButterKnife功能的示例。考虑到反射是在运行时完成的,多少会影响程序性能。因此,ButterKnife本身并非基于注解+反射来实现的,而是用APT技术在编译时处理的。APT什么呢?接下来一起来看。 APT即为Annotation P…