Java基础
Java基础篇学习
SEMINECES
这个作者很懒,什么都没留下…
展开
-
JVM知识整理
JVM的主要组成部分JVM包含两个两个子系统(类加载子系统和执行引擎)和两个组件(运行时数据区与和本地库接口)类加载子系统:根据给定的全限定类名来装在class文件到运行时数据区域中的方法区。执行引擎:执行classes中的指令。本地接口:和本地方法库进行交互,是其他编程语言交互的接口。运行时数据区域:JVM内存。从JVM的角度看,一个程序的功能怎么实现?首先通过编译器将编写的Java代码(.java)转换成字节码(.class)。类加载器再把字节码加载到内存中,将其放在运行时数原创 2020-09-23 14:46:19 · 366 阅读 · 0 评论 -
Java异常处理中对于finally的一些思考
一、前言因为这次面试有问到一些同学finally,发现自己这块好像有点记不太清楚了,有的点还说错了,一度弄得场面有些尴尬。所以说这篇文章深入研究一下finally的执行情况和返回值的情况。二、finally一定会执行吗?先给答案:肯定不是。我们可以看两种情况:1.在执行try块之前直接return,我们发现finally块是不会执行的public class TryCatchTest { private static int total() { int i = 11; if (i =原创 2020-05-18 22:14:07 · 959 阅读 · 5 评论 -
集合源码阅读(二):基于jdk12的ArrayList源码阅读分析
一、前言ArrayList是Java集合框架中List接口的一个实现类,底层用数组实现,相当于动态数组。是一种随机访问模式,实现RandomAccess接口,因此查找十分的块。ArrayList是线程不安全的,Vector是线程安全的,但是Vector比较古老,一般不建议使用。ArrayList特点:基于数组实现的List类。动态的调整容量。有序的(输入输出顺序一致)。元素可以为nu...原创 2020-04-30 13:18:51 · 274 阅读 · 0 评论 -
集合源码阅读(一):基于jdk1.8的HashMap源码阅读分析
一、前言在jdk1.8以前,HashMap采用数组+链表实现,采用拉链法来解决hash冲突,即创建一个链表数组,数组中每一格就是一个链表,遇到hash冲突直接将冲突的值塞进链表里即可,这样同一hash值的都存储在一个链表里。这么做有个缺点就是如果同一hash值元素较多时,查找效率低下。在jdk1.8中为了解决hash冲突频繁的问题,HashMap采用了数组+链表+红黑树实现,当链表的长度超过阈...原创 2020-04-21 16:58:33 · 172 阅读 · 0 评论 -
利用Maven来创建Java项目
0原创 2020-02-12 16:04:19 · 158 阅读 · 0 评论 -
Java Set基础必知必会
Set集合,它类似与一个罐子,程序可以一次把多个对象“丢进”Set集合,而Set集合不能记住元素的添加顺序,Set集合不允许包含相同的元素,如果试图把两个相同的元素加入同一个Set集合中,则添加操作失败,add()方法返回false,且新元素不会被加入。一、HashSet类HashSet类是Set接口的典型实现,HashSet按照Hash算法来存储集合中的元素,因此具有很好的存取和查找性能。...原创 2019-09-19 19:15:16 · 123 阅读 · 0 评论 -
Java Map基础知识必知必会
Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的key,另一组值用于保存Map里的value,key和value都可以是任何引用类型的数据。Map的key不允许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回false,如果后面插入的key与前边的重复了,则后面的会将前边的覆盖掉。key和value总是存在单向一对一的关系,即通过...原创 2019-09-22 16:26:06 · 176 阅读 · 0 评论 -
Java List基础必知必会
List集合代表一个元素有序、可重复的集合,集合中每个元素都有其对应的顺序索引。即可以用索引来访问指定位置List中的元素。List集合默认按元素的添加顺序设置元素的索引,List集合允许塞数据类型不一样的元素一、ArrayListArrayList为List集合类的典型实现,它是基于数组来实现的,内部封装了一个动态的、允许再分配的Object[]数组,默认长度为10,加载因子为1,一次扩容...原创 2019-09-22 13:58:02 · 127 阅读 · 0 评论 -
Java集合概述必知必会
一、Java集合概述为了保存数量不确定的数据,以及保存具有映射关系的数据,Java提供了集合类,集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所有的集合类都位于java.util包下,后来为了处理多线程环境下的并发安全问题,Java5还在java.util.concurrent包下提供了一些多线程支持的集合类。集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象(实际上...原创 2019-09-19 18:09:09 · 142 阅读 · 0 评论 -
Java基础篇笔记(二):JDBC编程相关
一、JDBC常用接口和类简介DriverManager:用于管理JDBC驱动的服务类。程序中使用该类的主要功能是获取Connection对象,该类包含如下方法:public static synchronized Connection getConnection(String url,String user,String pass) throws SQLException 该方法获得ur...原创 2019-08-06 18:36:50 · 230 阅读 · 0 评论 -
Java基础篇笔记(三):Java类加载机制
一、类的加载,连接和初始化当调用Java命令运行某个Java程序时,该命令将会启动一个Java虚拟机进程,不管该Java程序有多么复杂,该程序启动了多少个线程,它们都处于该Java虚拟机进程里。即同一个JVM的所有线程、所有变量都处在同一个进程里,它们都使用该JVM进程的内存区。当系统出现以下几种情况时,JVM进程将被终止:1.程序运行到最后正常结束;2.程序运行到使用System.exi...原创 2019-08-02 10:43:59 · 119 阅读 · 0 评论 -
Java基础篇笔记(五):Java中的异常处理机制
一、引入异常异常机制已经成为判断一门编程语言是否成熟的标准,异常机制可以使程序中的异常处理代码和正常业务代码分离,保证程序代码更加优雅,并可以提高程序的健壮性。Java的异常机制主要依赖于try、catch、finally、throw、throws五个关键字,其中try关键字后紧跟一个花括号括起来的代码块(花括号不可以省略),简称try块,它里面放置可能引发异常的代码。catch后对应异常类型...原创 2019-08-03 15:53:07 · 261 阅读 · 0 评论 -
Java基础篇笔记(六):Java泛型基础
一、引用泛型在Java集合中,有个缺点就是把一个对象“丢进”集合里之后,集合就会“忘记”这个对象的数据类型,当再次取出该对象时,该对象的编译类型就变成了Object类型(其运行时类型没有变)。Java集合这个设计也并无不妥,因为集合的设计者并不知道我们会用集合来保存什么类型的对象,所以他们把几个设计成能保存任何类型的对象。这种设计有很明显的缺陷:集合对元素类型没有任何类型,这样可能引发一些...原创 2019-08-03 10:09:02 · 179 阅读 · 0 评论 -
Java基础篇笔记(四):Java中的反射机制
在运行状态中,对于任何一个类,我们都能够直到这个类有哪些方法和属性;对于任何一个对象,我们都能够直到这个它的方法和属性来进行调用。我们把这种动态获取对象信息和调用对象方法的功能称为反射机制。...原创 2019-08-02 15:18:10 · 136 阅读 · 0 评论 -
Java基础篇笔记(一):Java IO
一、File类File类是java.io包下与平台无关的文件和目录,即如果希望在程序中操作文件和目录,都可以通过File类来完成。File能新建、删除、重命名文件和目录,File不能访问文件内容本身。如果需要访问文件内容本身,则需要输入/输出流。File类可以使用文件路径字符串来创建File实例,该文件路径字符串既可以是绝对路径,也可以是相对路径。一旦创建File对象后,就可以调用File对...原创 2019-07-18 16:12:47 · 146 阅读 · 0 评论