
《JavaSE系列》
文章平均质量分 97
本专栏内容是为零基础正在学习Java的学习者量身定制的学习路线及方案,本教程字数超20w+,插图超过400+,知识体系极其全面,案例极其丰富。本配备有专门的学习群,读者可加学习群与正在学习该阶段的人一同学习
緑水長流*z
一个专注于编写自学教程的博主;热衷于分享当下热门的技术~
展开
-
《JavaSE系列教程》
本专栏内容是为零基础正在学习Java的学习者量身定制的学习路线及方案,本教程字数超20w+,插图超过400+,知识体系极其全面,案例极其丰富。本配备有专门的学习群及学习视频,读者可加学习群与正在学习该阶段的人一同学习,有任何不懂的也可以观看于此教程配套的学习视频。原创 2021-08-10 16:36:44 · 76143 阅读 · 52 评论 -
01【计算机基础、Java概述】
01【计算机基础、Java概述】一、计算机的基础1.1 计算机基础1.1.1 计算机基础概述Java是一门编程语言,语言有英语、法语、俄罗斯语等,仅我们国家就有汉语、藏语、满语等,但不管是什么语言,都是用来沟通的介质。其表达意思的本质都是一样的,程序员编程的本质就是让计算机去工作,而编程语言就是程序员与计算机沟通的介质程序员要想让计算机工作,必须知道计算机能干什么,怎么干的,这也就是我们必须学习计算机基础的原因;程序员用编程语言写程序,最终开发出的结果就是一个软件,这些软件必须运行在操作系统原创 2021-07-30 19:55:12 · 10603 阅读 · 10 评论 -
02【IDEA、数据类型转换、运算符、方法】
一、开发工具IntelliJ IDEA1.1 开发工具概述IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的原创 2021-07-30 20:07:30 · 8926 阅读 · 3 评论 -
03【流程控制、JVM内存、数组】
一、流程控制1.1 流程控制概述我们知道程序是从上往下依次执行的,但有的时候我们必须改变程序的执行顺序,如到达某个条件才执行某段程序,这样我们必须对程序的执行流程加以控制;1.2 判断语句1.2.1 if 语句if 被翻译为如果,如果布尔表达式成了(结果为真),则执行if语句中的程序,反之不执行;if语句格式:if(条件表达式){ 执行的语句...}if语句执行流程1)根据条件表达式判断结果是true还是false;2)如果是原创 2021-07-30 20:13:13 · 5539 阅读 · 4 评论 -
04【面向对象、封装、static】
一、面向对象1.1 面向对象概述1.1.1 什么是对象在Java中,对象(Object)是指一个具体事物的实例,任何事物都可以使用对象(类)来描述,如猫、狗、计算机、杯子、云、水、空气、叶子、灰尘等看得见的、看不见的、宏观的、微观的、具体的、抽象的都是对象,总之"万物皆对象";1.1.2 面向对象程序设计我们前面就提到过,Java是一门面向对象的编程语言,面向对象是一种程序设计思想,与之对应的还有面向过程程序设计;面向对象是把一个对象的特征(属性)和行为单独封装到对象原创 2021-07-30 20:19:19 · 6240 阅读 · 5 评论 -
05【继承、抽象、权限修饰符、final】
一、继承1.1 继承概述继承是面向对象三大特征之一,继承就是子类继承父类的特征(属性)和行为,使得子类对象(实例)具有父类的属性和方法,或子类从父类继承方法,使得子类具有父类相同的行为。继承可以使得子类别具有父类别的各种属性和方法,而不需要再次编写相同的代码。在令子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类别的原有属性和方法,使其获得与父类别不同的功能。另外,为子类别追加新的属性和方法也是常见的做法。总结:1)子类继原创 2021-07-30 20:24:21 · 4844 阅读 · 5 评论 -
06【接口、多态】
一、接口1.1 接口概述1.1.1 接口引入继承抽取了类的共性,使得其子类都具备了父类的功能,提高了代码的复用性,但是有些情况下,并不是所有的子类都应该具备父类的全部功能,有些功能只是当做与"扩展功能",并不是与生俱备的;例如:吃饭、睡觉、走路等本就是人们具备的功能,我们可以将其定义在"人类"的继承体系中,只要是一个"人类",那么就应该具备这些功能;但是有些功能是只有一部分人会的,如打篮球、敲代码等,如果将这些功能也定义在"人类"这个继承体系中,那么所有的人就必定要会打篮球原创 2021-07-30 20:29:58 · 4497 阅读 · 4 评论 -
07【Java核心API-01】
一、API概述1.1 API概述API(Application Programming Interface,应用程序接口)是一些预先定义的接口(功能),提供给开发人员使用,开发人员无需访问源码,或理解内部工作机制的细节;在JDK中提供了非常丰富的API接口,这些类将底层代码封装起来对外提供非常丰富而又强大的功能;我们这一章节主要来学习JDK给我提供的那些类的使用方法;简单来说API就是提供的一些方法给我们开发时使用,不使用这些API也能开发,只不过API中封装原创 2021-08-02 21:04:39 · 4964 阅读 · 4 评论 -
08【Java核心API-02】
一、Object类1.1 Object概述java.lang.Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。如果一个类没有特别指定父类, 那么默认则继承自Object类。例如:public class MyClass /*extends Object*/ { // ...}根据JDK源代码及Object类的API文档,Object类当中包含的方法有11个。今原创 2021-08-03 13:31:16 · 3727 阅读 · 4 评论 -
09【内部类、Lambda表达式、数据结构、集合概述】
09【内部类、数据结构、集合概述】一、内部类1.1 内部类概述以前我们定义的类都是一个独立的整体,内部类即在一个类中又定义一个类;我们知道类是用于描述事物的,比如人、电脑、汽车等;但是有些情况下一个事物中还包含有另一个独立的事物,如一台电脑有价格、颜色、品牌等属性,可其内部也有CPU、内存等独立的事物存在,CPU有价格、核心数、线程数、缓存大小等属性也需要描述;再比如一辆汽车有颜色、价格,其内部还有发动机,发动机又有转数、气缸数等属性;这个时候就需要采用内部类在一个类中再描述一件事物了;1.原创 2021-08-03 13:41:18 · 4637 阅读 · 1 评论 -
10【List、Set、Queue】
一、List集合1.1 List集合概述List接口是单列集合的一个重要分支,下面主要有两个实现 ArrayList和LinkedList,List类型接口的特点是存储的元素是有序的,即存放进去是什么顺序,取出来还是什么顺序,也就是基于线性存储,可以看作是一个可变数组;List接口特点:List接口存储的数据是有序排列的,原来存储的时候是什么顺序,取出来就什么顺序(Set接口存储的是无序的);List接口为存储的每一个元素都分配了一个索引,通过索引我们可以精确的来访原创 2021-08-03 14:50:31 · 4157 阅读 · 5 评论 -
11【泛型、Map、异常】
11【双列集合、异常】一、Map双列集合1.1 Map集合概述Map 用于保存具有映射关系的数据,如一个学生的ID对应一个学生,一个商品的ID对应一个商品,一个部门ID对应多个员工;这种具有对应关系的数据成为映射;因此 Map 集合里保存着两组值,一组值用于保存 Map 里的 Key,另外一组用于保存 Map 里的 Value,Map 中的 key 和 value 都可以是任何引用类型的数据;Map 中的 Key 不允许重复,HashMap对key的存取和 HashSet 一样,仍然采用的...原创 2021-08-03 15:15:49 · 3455 阅读 · 0 评论 -
12【多线程、锁机制、lock锁】
一、多线程概念我们之前在进行程序设计时,程序都是由上往下依次执行,无法让多个应用程序同时执行。不管是我们电脑上还是手机中的应用程序,我们都可以让多个应用程序同时执行。例如一边运行QQ,一边运行酷狗音乐。打开QQ时一边聊天,又一边上传群文件,还一边下载群文件,同时与多个人聊天等。要使得我们的程序能够同时运行多个应用程序就需要使用到多线程/多进程的知识了;1.1 程序的并发与并行1.1.1 程序的并行程序的并行指的是多个应用程序真正意义上的同时执行,CPU分配多个执行单元共同执行这些任务,效率高,但这依原创 2021-08-05 18:16:31 · 4377 阅读 · 8 评论 -
13【线程等待、线程状态、线程池、File类、递归】
一、线程的等待与唤醒1.1 线程的等待1.1.1 等待与随机唤醒public final void wait():让当前线程进入等待状态,并且释放锁对象。注意:wait方法是锁对象来调用,调用wait()之后将释放当前锁,并且让当前锁对象对应的线程处于等待(Waiting)状态;public final native void notify():随机唤醒一条锁对象对应线程中的一条(此线程必须是睡眠状态)注意:notify()也是锁对象来调用,并不是当前线程对象调用因为wait需原创 2021-08-05 18:37:29 · 4033 阅读 · 0 评论 -
14【IO流基础】
一、IO概述1.1 IO流简介I(Input)O(Output):中文翻译为输入输出,我们知道计算机的数据不管是软件、视频、音乐、游戏等最终都是存储在硬盘中的,当我们打开后,由CPU将硬盘中的数据读取到内存中来运行。这样一个过程就产生了I/O(输入/输出)水的流向我们成为水流,数据的流动成为数据流,我们简称为流;数据的流向根据流向的不同,我们分为输入(Input)流和输出(Output)流,简称输入输出流,或称IO流;1.2 IO流的分类根据原创 2021-08-06 09:29:50 · 3612 阅读 · 0 评论 -
15【IO流增强】
15【转换流、缓冲流、序列流、打印流】一、转换流1.1 字符编码和字符集1.1.1 编码与解码计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码 。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码 。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本符号。反之,按照A规则存储,再按照B规则解析,就会导致乱码现象。1.1.2 字符集与编码字符集(原创 2021-08-06 12:00:24 · 3262 阅读 · 0 评论 -
16【TCP、UDP、网络通信】
16【TCP、UDP、网络通信】一、基于网络编程1.1 网络编程概述计算机网络是通过传输介质(网线)、通信设施(路由器、交换机等)和网络通信协议,把分散在不同地点的计算机设备互连起来的,用来实现数据共享。网络编程就是编写程序使互联网的多个设备(如计算机)之间进行数据传输。Java语言对网络编程提供了良好的支持。通过其提供的接口我们可以很方便地进行网络编程。1.2 网络分层通过网络发送数据是一项复杂的操作,通过网络将数据从一台主机发送到另外的主机,这个过程是通过计算机网络通信来完成。网络通原创 2021-08-09 11:48:50 · 2466 阅读 · 2 评论 -
17【测试单元、反射、注解、Lombok插件】
17【测试单元、反射、注解】一、测试单元1.1 Junit的概述我们知道程序的入口是main方法,想要执行任何的代码都必须编写一个main方法;而一个类中只能有一个main方法,有时我们仅仅想要测试某段代码的运行而已,这样会导致类的数量变得很多,且都是测试类;Junit是一个单元测试框架,只需要在我们自己定义的任何方法上面标注一个@Test注解,那么这个方法就可以单独的独立运行了,再也不需要main方法了,Junit属于第三方工具,一般情况下需要导入jar包。不过,多数Java开发环境已经集成原创 2021-08-10 09:28:24 · 3527 阅读 · 1 评论 -
18【枚举、类加载器、动态代理】
18【枚举、类加载器、动态代理】一、枚举(Enmu)1.1 枚举概述枚举(enum),全称enumeration,是JDK 1.5 中引入的新特性。Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。在JDK1.5 之前,我们定义常量都是: public static fianl。有了枚举之后,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。1.2 定义枚举类型1.2.1 静态常量案例我们原创 2022-03-11 18:04:13 · 5004 阅读 · 2 评论