Java基础
文章平均质量分 93
Java基础知识体系详解
刘总Java
刨根问底,知其然知其所以然。
不做标题党,纯纯的干货。
在曲折中前进,在前进中曲折...
展开
-
六、04【Java 多线程】之并发编程
并行和并发的概念我们之前有提到过。在回顾下并发:多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,从逻辑上来看那些任务是同时执行。并行:单位时间内,多个处理器或多核处理器同时处理多个任务,是真正意义上的同时进行。那么在多线程编程实战中,线程的个数往往大于CPU的个数,所以一般都称为多线程并发编程而不是多线程并行编程。在多核CPU时代的到来打破了单核CPU对多线程效能的限制。...原创 2022-08-16 21:08:19 · 400 阅读 · 1 评论 -
六、03【Java 多线程】之Java线程
创建一个类继承 Thread,重新run()方法。run() 方法就是线程要执行的业务逻辑方法。将该类进行实例化,调用 star() 方法来启动线程。创建一个类实现 Runnable 接口,并重写run()方法。将该类的实例作为 target 创建Thead对象,该Thread对象才是真正的线程对象。调用 star() 方法来启动线程。创建实现Callable接口的类MyCallable,以myCallable为参数创建FutureTask对象,...原创 2022-08-08 22:02:35 · 269 阅读 · 0 评论 -
六、02【Java 多线程】之线程基础知识
进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可以访问共享的内存变量。线程是OS(操作系统)调度CPU的最小单元。CPU在这些线程上高速切换,让使用者感觉到这些线程在同时执行,即并发的概念,相似的概念还有并行!多线程是指程序中包含多个执行流,在一个程序中可以同时运行多个不同的线程来执行不同的任务。可以提高 CPU 的利用率。在多线程程序中,一个线程必须等待的时候,CPU 可以运行其它的线程而不是等待,这样就大大提高了程序的效率。...原创 2022-08-03 22:13:34 · 141 阅读 · 0 评论 -
六、01【Java 多线程】之重温操作系统
1)控制器(Control)是整个计算机的中枢神经,是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。2)运算器(Datapath)运算器主要是对数据进行各种算术运算和逻辑运算,也就是对数据进行加工处理。3)存储器(Memory)主要存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。4)输入(Inputsystem)上图是一个理论的抽象简化模型,下图就是具体的应用,也就是现代计算机中的硬件结构。...原创 2022-08-01 22:53:05 · 149 阅读 · 0 评论 -
五、05【Java IO模型】之BIO NIO AIO介绍
JAVA IO模型之BIO NIO AIO原创 2022-07-31 23:28:28 · 135 阅读 · 0 评论 -
五、04【Java IO模型】之字符流
两万字介绍【Java IO模型】之字符流原创 2022-07-31 23:17:33 · 142 阅读 · 0 评论 -
五、03【Java IO模型】之字节流
两万字介绍 Java IO模型之字节流原创 2022-07-31 22:50:49 · 295 阅读 · 0 评论 -
五、02【Java IO模型】之File类
File (Java文件类)以抽象的方式来表示文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。File对象代表磁盘中实际存在的文件和目录。原创 2022-07-31 22:37:21 · 376 阅读 · 0 评论 -
五、01【Java IO模型】之Java IO介绍
今天的博客主题 Java IO模型——》Java IO介绍Java IOJava IO 是 Java 里 Input (输入/读) 和 OutPut(输出/写)的简称可以理解为是对文件的读写操作,在Java里对这种操作叫流操作,也就是所说的IO流IO流是一种计算机用语。主要解决从数据源读入数据和将数据源写入目的地的问题。通常情况下这两端可能是文件或网络连接。什么是流流代表任何有能力产出数据的数据源对象或者是有能力接受数据的接收端对象流的本质:数据...原创 2020-11-25 22:46:36 · 106 阅读 · 0 评论 -
四、10【Java常用类】之Java异常类
今天的博客主题 Java常用类——》Java异常类Java 的基本理念:结构不佳的代码不能运行。即便是运行了也是异常错误满天飞。。。异常概述异常就是非正常的。异常是程序中的一些错误,也不是所有的错误都是异常。程序开发和运行过程中会出现编译错误和运行错误。编译错误容易被发现并排除,而运行错误(逻辑错误和异常)很难预料。因此为了程序的稳定性和可靠性,就需要对程序异常处理和保护。异常( Exception ):正常程序流程所不能处理或者没有处理的异常情况或...原创 2020-10-30 22:43:19 · 299 阅读 · 1 评论 -
四、09【Java常用类】之Java泛型
今天的博客主题 Java常用类——》Java泛型Java泛型Java泛型是在 JDK1.5 提出的一个新特性。其本质就是:参数化类型,也就是所操作的数据类型被指定为一个参数。参数我们知道,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型允许对类型进行抽象。最常...原创 2020-09-28 21:55:04 · 660 阅读 · 0 评论 -
四、08【Java常用类】之Java集合类Map接口
Mappublic interface Map<K,V> { ... }Map接口描述将键映射到值的对象。映射不能包含重复的键;每个键最多只能映射到一个值。这个接口取代了Dictionary类,Dictionary类是一个完全抽象的类,而不是接口。映射接口提供三个集合视图,允许将映射的内容视为一组键、一组值或一组键-值映射。映射的顺序定义为映射集合视图上的迭代器返回其元素的顺序。一些映射实现,比如TreeMap类,对它们的顺序做出了特定的保证;其他的,比如HashMap原创 2020-08-30 23:57:20 · 640 阅读 · 0 评论 -
四、07【Java常用类】之Java集合类List接口
今天的博客主题 Java常用类——》Java集合类List接口List有序集合(也称为序列,列表)使用这个接口可以精确地控制每个元素在列表中的插入位置。可以通过其整数索引(在列表中的位置,类似于数组的下标)访问元素,并在列表中搜索元素。与集合不同,列表允许有重复的元素。List接口在Collection接口中指定的方法之外,在迭代器、add、remove、equals和hashCode方法的协定上又增添了一些自己的其他约定。为了方便起见,这里还包含了其他继承方法的声...原创 2020-05-19 23:35:26 · 203 阅读 · 0 评论 -
四、06【Java常用类】之Java集合类
今天的博客主题 Java常用类——》Java集合类什么是集合集合是指具有某种特定性质的具体的或抽象的对象汇总而成的集体。构成集合的这些对象则称为该集合的元素。简单说就是一堆东西被集中在一起管理。比如一箱苹果,这一箱苹果就是一个集合,集合的元素就是箱子里的每个苹果。Java集合类集合类是Java数据结构的实现。在编写程序时,经常需要和各种数据打交道...原创 2020-04-19 22:28:56 · 138 阅读 · 0 评论 -
四、05【Java常用类】之Java数组
今天的博客主题 Java常用类——》Java数组什么是数组数组是数据结构之一,基本上所有的编程语言都直接引用了数组。让大家误以为数组是编程语言提供的一种数据类型,其实不是。数组是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来唯一确定数组中的元素。根据数组的维度,可以将其分为一维数组、二维数...原创 2020-04-19 21:30:52 · 98 阅读 · 0 评论 -
四、04【Java常用类】之Java正则表达式
今天的博客主题 Java常用类——》Java正则表达式正则表达式又称规则表达式。(Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符...原创 2020-04-19 21:37:02 · 99 阅读 · 0 评论 -
四、03【Java常用类】之Math类 & Number类 & BigDecimal类
今天的博客主题 Java常用类——》Math类 & Number类 & BigDecimal类Math用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。Math 的方法都被定义为 static 形式,通过 Math 类可以直接调用。常用API详细API地址:https://docs.oracle.com/javase/8/d...原创 2020-04-19 21:23:50 · 377 阅读 · 0 评论 -
四、02【Java常用类】之Date相关
今天的博客主题 Java常用类——》Date类DateDate 表示特定的瞬间,精确到毫秒。在JDK1.1的时候就出现了。提供了许多针对时间日期操作的方法。java.util包下的时间操作对象。部分源码public class Date implements java.io.Serializable, Cloneable, Comparable&l...原创 2020-04-19 20:44:47 · 214 阅读 · 0 评论 -
四、01【Java常用类】之String相关
今天的博客主题 Java常用类——》String类JDK 常用包java.lang: 系统的基础类,比如String、Math、Integer、System和Thread提供常用APIjava.io: 流操作包。输入输出有关的类,比如文件的操作等java.net:网络有关的类,比如URL,URLConnection等java.util: 系统辅助工具类,比如集...原创 2020-04-12 22:21:29 · 130 阅读 · 0 评论 -
三、08【Java面向对象】之Java接口
今天的博客主题 Java面向对象——》Java接口接口接口是一个特殊的抽象类。它是一系列方法的声明,是一些方法特征的集合。这些方法没有具体的实现,因此这些方法可以在不同地方被不同类实现不同的行为。比抽象类更进一步的抽象了类。接口的特点1)接口只能有常量(默认修饰符 public static final )2)接口只能有抽象方法(默认修饰符p...原创 2020-03-24 23:21:35 · 188 阅读 · 0 评论 -
三、07【Java面向对象】之Java抽象类
今天的博客主题 Java面向对象——》Java抽象类抽象类在面向对象中,所有的对象都是通过类来描述一类对象。并不是所有的类都是用来描述对象的。如果没有足够的信息来描述一个具体的对象,那这个类可以被称为抽象类。抽象类是所有子类的公共属性集合。抽象类至少会包含一个或多个抽象方法。抽象类可以是看做是对类的进一步抽象。通过关键字 abstract 来声明一...原创 2020-03-24 23:17:30 · 100 阅读 · 0 评论 -
三、06【Java面向对象】之Java多态
今天的博客主题 Java面向对象——》Java多态多态多态字面意思来看,是多种状态。在Java中多态就是接口的多种不同实现方式。允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)简单说多态就是对象多种表现形式的体现。多态的优点1)解除类型间的耦合性2)可替换性3)可扩展性...原创 2020-03-24 23:14:08 · 179 阅读 · 0 评论 -
三、05【Java面向对象】之Java继承
今天的博客主题 Java面向对象——》Java继承继承继承是从已有的类中派生出新的类,新的类具有已有类的属性和方法,并能扩展新的能力。简单说就是子类继承父类的特征和行为,使子类具有父类相同的行为。父类比较通用,子类比较具体。继承是面向对象的三大特征之一。。继承的优缺点优点:1)提高扩展性2)提高维护性3)提高重用性3)简化代码...原创 2020-03-24 23:10:19 · 105 阅读 · 0 评论 -
三、04【Java面向对象】之Java封装
今天的博客主题 Java面向对象——》Java封装封装隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。封装可以实现对属性的数据访问限制,增加程序的安全性。在面向对象程序设计方法中,封装是指将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问...原创 2020-03-24 23:02:09 · 87 阅读 · 0 评论 -
三、03【Java面向对象】之类&对象(二)
今天的博客主题 Java面向对象——》类&对象(二)内部类内部类就是将一个类定义到另一个类的内部。内部类时一种非常有用的特性,它允许你把一些逻辑相关的类组织在一起,并控制位于内部的类的可视性。要注意内部类与组合是完全不同的概念,这一点至关重要。内部类分为四种:成员内部类、局部内部类、匿名内部类和静态内部类成员内部类成员内部类在外部类的成员位置...原创 2020-03-15 23:35:53 · 99 阅读 · 0 评论 -
三、02【Java面向对象】之类&对象(一)
今天的博客主题 Java面向对象——》类&对象(一)面向对象程序设计以对象为核心,该方法认为程序由一系列对象组成。类是对现实世界的抽象,包括表示静态属性的数据和对数据的操作,对象是类的实例化。对象间通过消息传递相互通信,来模拟现实世界中不同实体间的联系。在面向对象的程序设计中,对象是组成程序的基本模块。Java是面向对象的高级编程语言,类和对象就是Ja...原创 2020-03-15 23:28:34 · 275 阅读 · 0 评论 -
三、01【Java面向对象】之面向xxx
今天的博客主题 Java面向对象——》面向XXX面向XXX是为了解决系统成长过程中遇到问题,而采用的一些范式。面向过程编程 POP(Procedure Oriented Programming)是一种以过程为中心的编程思想。分析出解决问题所要的步骤,用方法把这些步骤一步一步实现,使用的时候一个一个依次调用。简单说就是做一件事的时候,每一个步骤都是紧...原创 2020-03-15 23:16:46 · 96 阅读 · 0 评论 -
二、08【Java编程基础】之Java基础小程序巩固练习
今天的博客主题 Java编程基础 ——》Java基础小程序巩固练习1)写一个程序,模拟扔硬币的结果.2)写一个程序,找出4位数的所有吸血鬼数字.3)写一个程序,找出水仙花数.4)写一个程序,打印直角三角形正三角形倒三角形.5) .........原创 2020-01-31 23:40:59 · 91 阅读 · 0 评论 -
二、07【Java编程基础】之Java关键字
今天的博客主题 Java编程基础 ——》Java关键字访问权限修饰符决定了紧跟其后被定义的东西可以被谁访问。Java里有4种情况:public 公共的:关键字应用于类、方法、变量的访问控制修饰。public修饰的类,方法,变量在整个项目的所有类都可以被访问使用。protected 受保护的:关键字应用于类、方法、变量的访问控制修饰。只有本类和同一包里的其...原创 2020-01-31 23:32:47 · 105 阅读 · 0 评论 -
二、06【Java编程基础】之Java方法
今天的博客主题 Java编程基础 ——》Java方法许多程序设计语言用函数这个术语来描述命名字程序,而在Java里却用方法这个术语来表示。方法就是做某些事情的方式什么是Java方法方法可以看做是一个语句的集合,汇总一起来执行一个功能。方法是解决一类问题步骤的有序组合。方法应该被包含在类中。Java方法的优点1)利于程序的维护2)提高代...原创 2020-01-29 00:18:24 · 137 阅读 · 0 评论 -
二、05【Java编程基础】之Java变量&常量
今天的博客主题 Java编程基础 ——》Java变量&常量一旦定义了一个类,就可以在类中设置两种类型的元素:字段和方法字段:有时候被称作数据成员或属性方法:有时候被称为成员函数字段可以是任何类型的对象,可以通过其引用来与其通信。字段这个字段就是Java中的变量或常量变量:没有用 final 关键字所修饰的字段就是变量。// 可以没有初始...原创 2020-01-14 23:56:47 · 94 阅读 · 0 评论 -
二、04【Java编程基础】之Java流程控制
今天的博客主题 Java编程基础 ——》Java流程控制流程控制Java的流程控制语句有两种:分支语句和迭代语句所有的语句都利用条件表达式的真或假来决定执行的路径分支语句分支语句也叫判断语句。分支语句所使用的关键字有三种ifif...else...switch...case...if-else是流程控制语句里的最基本的形式// ...原创 2020-01-13 23:18:50 · 88 阅读 · 0 评论 -
二、03【Java编程基础】之Java操作符
今天的博客主题 Java编程基础 ——》Java操作符操作符Java的操作符作用于操作数上,用来生成一个新的数值。有些操作符会改变自身的数值,这被称为“副作用”。Java中的操作符有以下几种分隔符 算术运算符 关系运算符 逻辑运算符 赋值运算符 三目运算符 字符串拼接符 位运算符表达式表达式,是由数字、算符、数字分组符号(括号)、自由变量和约...原创 2020-01-12 23:03:07 · 209 阅读 · 0 评论 -
二、02【Java编程基础】之Java数据类型
今天的博客主题 Java编程基础 ——》Java数据类型数据类型就是指数据的类型。Java是强类型语言,所以Java对数据类型的规范相对的严格些。Java数据类型分两种:基本数据类型和引用数据类型基本数据类型在程序设计中经常会用到一系列的类型,需要特殊对待。对于这些类型Java就不使用new关键字来创建变量,而是创建一个并非引用的自动变量,这个变量直接...原创 2020-01-11 00:05:09 · 125 阅读 · 0 评论 -
二、01【Java编程基础】之Java标示符&注释
今天的博客主题 Java编程基础 ——》Java标示符&注释任何编程语言在编写的时候都是有一定规范的,不是想怎么写就怎么写的。Java标识符Java标示符又称为Java命名规则,是为了给文件、类、方法、变量取名字的标识符是由字母、下划线、数字和美元符号($)来自组成,不能以数字开头,严格区分大小写,不能使用关键字,不能使用汉字,不能使用特殊符号,取名要见名知...原创 2020-01-08 23:23:13 · 110 阅读 · 0 评论 -
一、03【Java概述】之Java入门基础程序
今天的博客主题 Java概述 ——》Java入门基础程序Java入门程序一段Java代码public class Test{ public static void main(String[] args){ System.out.println("Hello World"); }}// 先不纠结这段代码,后面一点一点去讲解演变可以通过任何文...原创 2020-01-06 23:18:22 · 181 阅读 · 0 评论 -
一、02【Java概述】之Java开发环境搭建
今天的博客主题 Java概述 ——》Java开发环境搭建Java为什么需要配置开发环境呢?1)不是说Java一次编写处处运行吗?为什么还要配置Java环境?Java程序是在JVM中运行的,那JRE是Java运行环境里面包含了Java运行核心类库和JVM,而JDK又是整个Java的核心,它里面包含了JRE,所以我们在学习使用Java,就要安装JDK,也就是Java的开...原创 2020-01-05 22:57:11 · 211 阅读 · 0 评论 -
一、01【Java概述】之Java概述
今天的博客主题 Java概述 ——》Java概述Java一种高级的计算机语言Java的前身oka语言,随着社会的发展,改名为了JavaJava之父 James Gosling(詹姆斯·高斯林)1991年Java之父开始了oka语言的开发1994年oka语言改名为Java1995年由Sun公司推出Java是Java面向对象设计语言和Java平台的总称。...原创 2020-01-02 23:28:35 · 336 阅读 · 0 评论