
Java基础知识
文章平均质量分 90
压到我腿毛了
技术小白,希望大神多多指教
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java底层基础-类加载过程
一、类加载生命周期为支持运行时绑定,解析过程在某些情况下可在初始化之后再开始,除解析过程外的其他加载过程必须按照如图顺序开始。加载通过全限定类名来获取定义此类的二进制字节流 (并没有指明要从一个Class文件中获取,可以从其他渠道,譬如:网络、动态生成、数据库等);将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。在内存中生成一个代表这个类的 java.lang.Class 对象,作为方法区这个类的各种数据的访问入口。验证验证是连接阶段的第一步,这一阶段的目的是为了确保 Cl原创 2021-02-24 23:07:36 · 230 阅读 · 0 评论 -
Java底层基础-线程池原理
一、引言二、线程池简介三、任务执行流程四、其他待补充原创 2021-02-18 21:27:11 · 298 阅读 · 0 评论 -
Java底层基础-JVM内存结构
待补充原创 2021-02-07 20:21:57 · 226 阅读 · 2 评论 -
Java底层基础-Synchronized关键字详解
一、简介Synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。二、 应用场景为什么关键字synchronized取得的锁都是对象锁?要调用一个实例方法必须要new一个对应的实例对象,通过此实例对象才能访问实例方法;要实现同步,那么不同线程的锁必须是访问的同一个对象。这也是从设计角度来讲,为何notify, wait等和锁相关的方法定义在Object这个类中,而非Thread类中的原因之一原创 2021-01-06 20:02:12 · 196 阅读 · 0 评论 -
java底层基础-java多线程
一、简介1. 程序程序,是管理方式的一种,是能够发挥出协调高效作用的工具2. 进程2.1 概念指在系统中正在运行的一个应用程序,程序一旦运行就是进程;进程——资源分配的最小单位;有独立的内存空间;进程不依赖于线程而独立存在,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程2.2 特征动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的;并发性:任何进程都可以同其他进行一起并发执行;独立性:进程是系统进行资源分配和调度的一个原创 2021-01-04 19:51:07 · 221 阅读 · 0 评论 -
Java底层基础-Integer底层源码分析
一、Integer简介Integer类时int基本数据类型的封装类;Integer类和int的区别Integer 是 int 包装类,int 是八大基本数据类型之一(byte,char,short,int,long,float,double,boolean)Integer 是类,默认值为null,int是基本数据类型,默认值为0;Integer 表示的是对象,用一个引用指向这个对象,而int是基本数据类型,直接存储数值。二、源码分析1. 继承关系final修饰类,所以Integer原创 2020-12-21 18:11:28 · 669 阅读 · 0 评论 -
Java底层基础-Object底层源码分析
一、Object概述Object是java所有类中的超类,所有的类都继承object类,是java继承体系中真正的根节点;Object是每个java类的基类,如果没有明确指出基类,Object就被认为是当前定义的类的基类;(Object 类可以显示继承,也可以隐式继承)基类:在面向对象设计中,被定义为包含所有实体共性的class类型,被称为“基类”;超类/父类:被继承的称为父类或者超类。基类父类超类其实是同种意思所以对于Object中声明的方法,在我们所见到的类(包括我们自己写的)都具有这些方原创 2020-12-12 14:51:46 · 539 阅读 · 0 评论 -
Java基础底层-Collection和HashSet底层源码分析
一、Java集合1. Java集合概述从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,称为单列集合,另一种是图(Map),存储键/值对映射,称为双列集合。Java集合大致可以分为Set、List、Queue和Map四种体系,其中List代表有序、可重复的集合;Set代表无序、不可重复的集合;而Map则代表具有映射关系的集合,Java 5 又增加了Queue体系集合,代表一种队列集合实现。1. Java集合特点二、Col原创 2020-12-09 18:04:24 · 479 阅读 · 0 评论 -
Java基础底层-HashMap底层源码分析
一、概述在了解hashMap之前需要先了解下常见的数据结构 数组,链表,红黑树;以及hash碰撞数组:数组具有遍历快增删慢的特点。数组在堆中有一块连续的存储空间,首地址知道后,就能快速遍历任意元素;增删慢是因为当中间插入或者删除元素时,会造成元素后面的所有元素地址的改变链表:链表具有增删快遍历慢的特点。链表中各个元素的内存空间不连续,在遍历时,需要从第一个开始依次拿到地址才能遍历到需要的第n个元素;增删快是因为在进行操作时只需要修改该位置的前驱结点和后继节点,其他元素不做变动。红黑树:是一种原创 2020-12-02 16:01:11 · 190 阅读 · 0 评论 -
Java基础底层-ArrayList和LinkedList的区别
一、简介Collection 接口的接口 对象的集合(单列集合)—List 接口:元素按进入先后有序保存,可重复,通过索引操作元素------LinkedList 接口实现类, 链表, 插入删除, 没有同步, 线程不安全------ArrayList 接口实现类, 数组, 随机访问, 没有同步, 线程不安全------Vector 接口实现类 数组, 同步, 线程安全—Set 接口:元素唯一,不可重复,并做内部排序即存取顺序不一致;不能根据索引操作元素二、区别总结ArrayList:底层原创 2020-11-29 19:05:09 · 386 阅读 · 1 评论 -
Java基础底层-ArrayList源码分析
一、前言继承了什么类,实现了什么接口?作用是什么?实现了四个接口一个抽象类。它继承了AbstractList抽象类,实现了List、RandomAccess, Cloneable, Serializable接口ArrayList 继承了AbstractList,实现了List。它是一个数组队列,提供了相关的添加、删除、修改、遍历等功能ArrayList 实现了RandmoAccess接口,即提供了随机访问功能。ArrayList 实现了Cloneable接口,即覆盖了函数clone(),能被克原创 2020-11-25 23:39:27 · 263 阅读 · 1 评论 -
Java基础底层-String类基础
这里写目录标题一、概念二、声明方式指令码分析直接赋值构造方法实现实例化图解三、String对象为什么不可变demo代码层面源码层面(jdk7之后)replace,substring等方法解释四、String对象真的不可变五 、常量池和堆(intern)六、String,StringBuffer,StringBuilder一、概念String是所有语言中最常用的一个类;是不可变的,是最终类(final),最终类不能被继承。核心特点 对String对象的任何改变都不影响到原对象,相关的任何操作都会生成新的原创 2020-11-20 09:35:54 · 342 阅读 · 2 评论 -
Java反射原理及源码实现;java获取类的所有属性(类名,方法名、返回值类型,参数类型);java动态调用类的方法
反射的定义及概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法(类名,方法名,参数类型,返回值类型);对于任意一个对象,都能够调用它任意的一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 总结来说就是,反射就是把java类中的各种成分映射成一个个 java对象例如:一个类有:成员变量、方法、构造方法,包...原创 2018-07-21 22:24:34 · 2205 阅读 · 4 评论