今天的努力,明天的美好。
Java基础8-动态代理是如何实现的 Java基础8-动态代理是如何实现的
动态代理是如何实现的?JDK Proxy 和 CGLib 有什么区别? 90% 的程序员直接或者间接的使用过动态代理,无论是日志框架或 Spring 框架,它们都包含了动态代理的实现代码。动态代理是程序在运行期间动态构建代理对象和动态调用代
2020-08-01
Java基础7-深克隆和浅克隆的区别 Java基础7-深克隆和浅克隆的区别
深克隆和浅克隆有什么区别?它的实现方式有哪些? 使用克隆可以为我们快速地构建出一个已有对象的副本,它属于 Java 基础的一部分,也是面试中常被问到的知识点之一。 我们本文章的面试题是,什么是浅克隆和深克隆?如何实现克隆? 典型回答
2020-07-30
Java基础6-谈谈你对锁的理解和如何手动模拟一个死锁 Java基础6-谈谈你对锁的理解和如何手动模拟一个死锁
谈谈你对锁的理解?如何手动模拟一个死锁? 在并发编程中有两个重要的概念:线程和锁,多线程是一把双刃剑,它在提高程序性能的同时,也带来了编码的复杂性,对开发者的要求也提高了一个档次。而锁的出现就是为了保障多线程在同时操作一组资源时的数据一致性
2020-07-29
Java基础5-synchronized 和 ReentrantLock 的实现原理 Java基础5-synchronized 和 ReentrantLock 的实现原理
synchronized 和 ReentrantLock 的实现原理是什么?它们有什么区别? 在 JDK 1.5 之前共享对象的协调机制只有 synchronized 和 volatile,在 JDK 1.5 中增加了新的机制 Reentr
2020-07-24
java基础4-详解 ThreadPoolExecutor 的参数含义及源码执行流程 java基础4-详解 ThreadPoolExecutor 的参数含义及源码执行流程
一、什么是线程池 线程池是为了避免线程频繁的创建和销毁带来的性能消耗,而建立的一种池化技术,它是把已创建的线程放入“池”中,当有任务来临时就可以重用已有的线程,无需等待创建的过程,这样就可以有效提高程序的响应速度。但如果要说线程池的话一定离
2020-07-21
Java基础3-线程的状态有哪些 Java基础3-线程的状态有哪些
一、什么是线程 线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在。一个进程中可以包含多个线程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源、更加轻量化,也因此被称为轻量级的进程。
2020-07-20
Java基础2-HashMap底层原理 Java基础2-HashMap底层原理
一、HashMap 底层是如何实现的?HashMap 是使用频率最高的类型之一,同时也是面试经常被问到的问题之一,这是因为 HashMap 的知识点有很多,同时它又属于 Java 基础知识的一部分,因此在面试中经常被问到。 在 JDK
2020-07-17
Java基础1-Spring特点是什么 Java基础1-Spring特点是什么
一、String 是如何实现的 以主流的 JDK 版本 1.8 来说,String 内部实际存储结构为 char 数组,源码如下: public final clas
2020-07-13
3 / 3