![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 96
☞精◈彩◈猿◈笔◈记☜
知识是一种宝贵的资源和财富,益发掘,更益分享...
展开
-
Spring Boot -总结
Spring Boot -总结注:以下Spring Boot源码,如果没有特殊说明都是基于【Spring Boot 2.4.5】版本进行列举。文章目录Spring Boot -总结1、请说说【@SpringBootApplication】注解的作用?2、请说一下【@Configuration】注解的作用?3、请说一下【@EnableAutoConfiguration】注解的作用?4、说说【@Import】注解的作用?4、请说一下【@ComponentScan】注解的作用?1、请说说【@Spring原创 2021-04-28 12:22:01 · 147 阅读 · 0 评论 -
Java 分布式并发编程 -总结
Java 分布式并发编程如想了解更多更全面的Java必备内容可以阅读:所有JAVA必备知识点面试题文章目录: JAVA必备知识点面试题1、结合说说线程状态的枚举值都有哪些?###jdk1.8 Thread类部分源码如下:public enum State { /** * 尚未启动的线程的线程状态。线程被构建,但是还没有调用start方法。 */ NEW, /** * 可运行线程的线程状态。处于可运行状态的线程正在Java虚拟机中执行,原创 2021-04-24 16:35:26 · 192 阅读 · 0 评论 -
Java即时编译器原理解析及实践
Java即时编译器原理解析及实践一、序言二、Java的执行过程1、Java的执行过程整体可以分为两个部分2、怎么样才会被认为是热点代码3、JVM中集成了两种编译器4、JDK7前后C1编译器和C2编译器使用的区别5、分层编译即时编译的触发一、序言常见的编译型语言如C++,通常会把代码直接编译成CPU所能理解的机器码来运行。而Java为了实现“一次编译,处处运行”的特性,把编译的过程分成两部分,首先它会先由javac编译成通用的中间形式 字节码,然后再由解释器逐条将字节码解释为机器码来执行。所以在性能上,J转载 2020-11-21 15:50:14 · 246 阅读 · 2 评论 -
JVM之(执行引擎、字符串常量池、垃圾回收)-总结
本文主要设置:对象的方式;创建一个对象的步骤;堆空间的内存布局;通过对象的引用访问到对象实例;执行引擎,执行引擎;解释器;及时编译器;字符串常量池;String中的intern();引用计数算法;可达性分析算法;GC Roots;finalization机制;标记-清除算法;复制算法;标记-压缩算法;增量收集算法;分区算法;内存溢出;内存泄漏;STW;强引用、软引用、弱引用、虚引用;Serial、Serial Old、ParNew、ParallelParallel Old、CMS、G1、ZGC等内容。原创 2020-09-24 21:28:48 · 397 阅读 · 0 评论 -
JVM之(内存结构、字节码结构、内存分配与回收)-总结
本文主要涉及:什么是Java虚拟机、JVM的架构模型、JVM生命周期、类加载子系统都有哪些阶段、加载阶段用到的类加载器、双亲委派机制的工作原理、是PC寄存器、虚拟机栈、虚方法、非需方法、本地方法、本地方法栈、什么是堆、分代收集理论堆内存细分、对象分配的过程、Minor GC、Major GC、Full GC、什么是TLAB、逃逸分析、方法区、常量池、运行时常量池、关于JVM的一些常见的面试题等等内容。原创 2020-09-11 23:53:04 · 260 阅读 · 0 评论 -
Netty高并发网络应用框架-总结
本文主要涉及:Reactor模型(单Reactor单线程、单Reactor多线程、主从Reactor多线程);Netty模型;任务队列;Futrue-Listener机制;Netty核心内容(EventLoopGroup/NioEventLoop/Bootstrap/ServerBootstrap/Pipeline/ChannelHandlerContext等);Netty的ByteBuf与NIO中的ByteBuffer的区别;Google的Protobuf;Netty心跳检测;RPC的调用过程等。原创 2020-08-24 15:45:01 · 594 阅读 · 0 评论 -
浅析Java线程池实现原理及在实际业务中的实践
本文设计:线程池是什么;线程池解决的是什么问题;线程池总体设计;线程池如何维护自身状态;线程池如何管理任务(任务调度、任务缓冲、任务申请、任务拒绝);Worker线程管理(Worker线程、Worker线程增加、Worker线程回收、Worker线程执行任务);线程池业务背景;线程池实际问题;实现动态化线程池(整体设计、功能架构)等内容。转载 2020-08-15 17:10:06 · 237 阅读 · 0 评论 -
java.lang.NoSuchMethodError:freemarker.template.Configuration.<init>(Lfreemarker/template/Version;)V
Caused by: java.lang.NoSuchMethodError: freemarker.template.Configuration.<init>(Lfreemarker/template/Version;)V原创 2020-04-17 22:11:26 · 1327 阅读 · 0 评论 -
Java综合知识点总结-面试必背-基础篇
序 言本篇文章还不足以囊括所有 Java 问题,都是日常的总结,后续也会继续更新… …如想了解更多更全面的Java必备内容可以阅读:2019年 Java 最常见200+ 面试题全解析:面试必备:https://blog.csdn.net/shishishilove/article/details/929782111.JDK常用的包java.lang: 有很多常用的基础类,比如String...原创 2019-08-10 16:36:47 · 962 阅读 · 0 评论 -
从源码深入分析Java中 StringBuffer和StringBuilder的区别
从源码深入分析Java中 StringBuffer和StringBuilder的区别?StringBuffer 与 StringBuilder 中的方法和功能完全是等价的。StringBuffer 中的方法大都采用了 synchronized 关键字进行修饰,因此是线程安全的,而 StringBuilder 没有这个修饰,可以被认为是线程不安全的。在单线程程序下,StringBuilder...原创 2019-06-17 20:49:37 · 1804 阅读 · 0 评论 -
深入理解Java 反射中 Class.forName 和 ClassLoader 的区别
深入理解Java 反射中 Class.forName 和 ClassLoader 的区别?Class.forName:除了将类的.class文件加载到jvm中之外,还会默认对类进行初始化,执行类中的静态代码块,以及对静态变量的赋值等操作。ClassLoader:将.class文件加载到jvm中,默认不会对类进行初始化,只有在newInstance才会去执行static块。1. 解释在J...原创 2019-06-16 20:57:20 · 1019 阅读 · 0 评论 -
2020年 Java 最常见200+ 面试题全解析:面试必备
序言在本篇文章开始之前,我想先来回答一个问题:我为什么要写这样一篇关于面试的文章?原因有三个:第一,我想为每一个为梦想时刻准备着的“有心人”,尽一份自己的力量,提供一份高度精华的 Java 面试清单;第二,目前市面上的面试题不是答案不准确就是内容覆盖面太窄,所以提供一份经典而又准确的面试题是非常有必要的;第三,本文会对部分面试题提供详细解读和代码案例,让读者知其然并知其所以然,从而学到更多...转载 2019-08-03 16:16:32 · 6049 阅读 · 8 评论 -
Java多线程五种实现方式
Java多线程四种实现方式继承Thread类实现Runnable接口实现Callable接口通过FutureTask包装器来创建Thread线程通过线程池创建线程,使用线程池接口ExecutorService结合Callable、Future实现有返回结果的多线程。前面两种【无返回值】原因:通过重写run方法,run方法的返回值是void,所以没有办法返回结果。后面两种【有返回值】...原创 2019-06-15 15:05:43 · 337 阅读 · 0 评论 -
深入Java源码分析Vector、ArrayList、LinkedList的特点和区别
深入Java源码分析Vector、ArrayList、LinkedList的特点和区别?* 三者区别:ArrayList和Vector底层的数据结构基于【动态数组】实现的; LinkedList底层的数据结构是基于 【双链表】实现的.ArrayList和Vector实现了RandomAccess接口【支持随机访问】; LinkedList没有实现RandomAccess接口【不支持随机访问...原创 2019-06-19 18:49:31 · 486 阅读 · 1 评论 -
什么是字符串常量池?
什么是字符串常量池?面试官Q1:请问什么是字符串常量池?字符串常量池的设计意图是什么?功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出...原创 2019-06-14 20:43:00 · 3418 阅读 · 19 评论 -
Java源码分析String为什么是不可变的
Java源码分析String为什么是不可变的?不可变:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的。不能改变状态:指的是不能改变对象内的成员变量,包括基本数据类型的值不能改变,引用类型的变量不能指向其他的对象,引用类型指向的对象的状态也不能改变。1. String类源码分析通过String类源码可知:String底层是由char数组构成,当创建一个字符串...原创 2019-06-18 20:23:48 · 296 阅读 · 0 评论