java基础
文章平均质量分 92
java从0到1的全面学习
失重外太空.
懂点java基础, 会写两三行代码。学了点 Springboot,Redis,Springcloud,RabbitMQ。敲了几个小项目,目前是程序猿练习生。csdn实力新星,阿里云专家博主。
展开
-
从零开始学习 Java:简单易懂的入门指南之反射(三十八)
是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意属性和方法; 这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。利用反射创建的对象可以无视修饰符调用类里面的内容可以跟配置文件结合起来使用,把要创建的对象信息和方法写在配置文件中。读取到什么类,就创建什么类的对象读取到什么方法,就调用什么方法此时当需求变更的时候不需要修改代码,只要修改配置文件即可。原创 2023-10-20 10:03:37 · 1023 阅读 · 37 评论 -
从零开始学习 Java:简单易懂的入门指南之线程池(三十六)
当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢?Java中的线程/* 新建 */NEW ,/* 可运行状态 */RUNNABLE ,/* 阻塞状态 */BLOCKED ,/* 无限等待状态 */WAITING ,/* 计时等待 *//* 终止 */TERMINATED;// 获取当前线程的状态通过源码我们可以看到Java中的线程存在6种状态。原创 2023-10-16 09:00:00 · 1090 阅读 · 34 评论 -
从零开始学习 Java:简单易懂的入门指南之查找算法及排序算法(二十)
基本思想:二叉查找树是先对待查找的数据进行生成树,确保树的左分支的值小于右分支的值,然后在就行和每个节点的父节点比较大小,查找最适合的范围。更多的是先计算出当前数据的哈希值,用哈希值跟数组的长度进行计算,计算出应存入的位置,再挂在数组的后面形成链表,如果挂的元素太多而且数组长度过长,我们也会把链表转化为红黑树,进一步提高效率。但是排序之后,会改变原有数据的顺序,查找出来元素位置跟原来的元素可能是不一样的,所以排序之后再查找只能判断当前数据是否在容器当中,返回的索引无实际的意义。因此被称为黄金分割。原创 2023-08-30 09:00:28 · 4094 阅读 · 63 评论 -
从零开始学习 Java:简单易懂的入门指南之网络编程(三十七)
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统网络编程在网络通信协议下,不同计算机上运行的程序,可以进行数据传输。原创 2023-10-18 09:03:16 · 1198 阅读 · 40 评论 -
从零开始学习 Java:简单易懂的入门指南之线程同步(三十五)
虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释放了锁,为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock。弊端:当线程很多时,因为每个线程都会去判断同步上的锁,这是很耗费资源的,无形中会降低程序的运行效率。创建三个Thread类的对象,把SellTicket对象作为构造方法的参数,并给出对应的窗口名称。线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。同步静态方法的锁对象是什么呢?原创 2023-10-13 15:28:08 · 1001 阅读 · 34 评论 -
从零开始学习 Java:简单易懂的入门指南之多线程(三十四)
假如计算机只有一个 CPU,那么 CPU 在某一个时刻只能执行一条指令,线程只有得到CPU时间片,也就是使用权,才可以执行指令。所以说多线程程序的执行是有随机性,因为谁抢到CPU的使用权是不一定的。独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的。run():封装线程执行的代码,直接调用,相当于普通方法的调用。线程:是进程中的单个顺序控制流,是一条执行路径。因为run()是用来封装被线程执行的代码。原创 2023-10-11 09:01:42 · 804 阅读 · 30 评论 -
从零开始学习 Java:简单易懂的入门指南之IO序列化、打印流、压缩流(三十三)
Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。对象的数据对象的类型和对象中存储的数据信息,都可以用来在内存中创建对象。平时我们在控制台打印输出,是调用print方法和println方法完成的,这两个方法都来自于类,该类能够方便地打印各种数据类型的值,是一种便捷的输出方式。原创 2023-10-09 08:55:57 · 1203 阅读 · 37 评论 -
从零开始学习 Java:简单易懂的入门指南之IO缓冲流、转换流(三十二)
缓冲流,也叫高效流,是对4个基本的FileXxx字节缓冲流字符缓冲流缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。原创 2023-10-07 08:43:27 · 1255 阅读 · 38 评论 -
从零开始学习 Java:简单易懂的入门指南之IO字符流(三十一)
就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。因为内置缓冲区的原因,如果不关闭输出流,无法写出字符到文件中。但是关闭的流对象,是无法继续写出数据的。抽象类是表示用于写出字符流的所有类的超类,将指定的字符信息写出到目的地。抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。被引入的对象,同样可以自动关闭,无需手动close,我们来了解一下格式。小贴士:即便是flush方法写出了数据,操作的最后还是要调用close方法,释放系统资源。原创 2023-10-03 15:33:47 · 863 阅读 · 25 评论 -
从零开始学习 Java:简单易懂的入门指南之IO字节流(三十)
我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入input和输出output,即流向内存是输入流,流出内存的输出流。Java中I/O操作主要是指使用java.io包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写出数据。原创 2023-09-30 11:36:56 · 770 阅读 · 20 评论 -
从零开始学习 Java:简单易懂的入门指南之JDK8时间相关类(十八)
从零开始学习 Java:简单易懂的入门指南之JDK8时间相关类(十八)原创 2023-08-26 08:46:35 · 1049 阅读 · 23 评论 -
从零开始学习 Java:简单易懂的入门指南之爬虫(十六)
手机号的正则表达式:1[3-9]\d{9}只看左括号,不看有括号,按照左括号的顺序,从左往右,依次为第一组,第二组,第三组等等。 把下面文本中的座机电话,邮箱,手机号,热线都爬取出来。原创 2023-08-23 08:47:30 · 6034 阅读 · 46 评论 -
从零开始学习 Java:简单易懂的入门指南之Runtime、Object(十三)
Runtime表示Java中运行时对象,可以获取到程序运行时设计到的一些信息tips:重点内容查看API文档,我们可以看到API文档中关于Object类的定义如下:Object类所在包是java.lang包。Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有类都直接或者间接的继承自该类;换句话说,该类所具备的方法,其他所有类都继承了。原创 2023-08-18 08:41:36 · 746 阅读 · 14 评论 -
从零开始学习 Java:简单易懂的入门指南之File类(二十九)
类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。原创 2023-09-28 09:00:52 · 1031 阅读 · 41 评论 -
从零开始学习 Java:简单易懂的入门指南之异常(二十八)
我们说了Java中不同的异常类,分别表示着某一种具体的异常情况,那么在开发中总是有些异常情况是SUN没有定义好的,此时我们根据自己业务的异常情况来定义异常类。,例如年龄负数问题,考试成绩负数问题。在上述代码中,发现这些异常都是JDK内部定义好的,但是实际开发中也会出现很多异常,这些异常很可能在JDK中没有定义过,例如年龄负数问题,考试成绩负数问题.那么能不能自己定义异常呢?在开发中根据自己业务的异常情况来定义异常类.自定义一个业务逻辑异常:。一个登陆异常类。自定义一个编译期异常: 自定义类 并继承于。原创 2023-09-25 08:55:13 · 1925 阅读 · 45 评论 -
从零开始学习 Java:简单易懂的入门指南之Stream流(二十七)
使用默认方法stream()生成流, default Stream stream()中间操作的意思是,执行完此方法之后,Stream流依然可以继续执行其他操作。终结操作的意思是,执行完此方法之后,Stream流将不能再执行其他操作。对数据使用Stream流的方式操作完毕后,可以把流中的数据收集到集合中。生成Stream流的方式。原创 2023-09-20 08:47:49 · 2239 阅读 · 44 评论 -
从零开始学习 Java:简单易懂的入门指南之不可变集合、方法引用(二十六)
不可变集合、方法引用详解原创 2023-09-18 08:33:49 · 994 阅读 · 27 评论 -
从零开始学习 Java:简单易懂的入门指南之可变参数及Collections类(二十五)
可变参数、Collections类、斗地主小游戏原创 2023-09-14 09:14:24 · 1554 阅读 · 46 评论 -
从零开始学习 Java:简单易懂的入门指南之HashMap及TreeMap源码解读(二十四)
HashMap和TreeMap的元码解读原创 2023-09-12 08:50:53 · 1802 阅读 · 42 评论 -
从零开始学习 Java:简单易懂的入门指南之Map集合(二十三)
Map集合概述interface Map K:键的类型;V:值的类型Map集合的特点双列集合,一个键对应一个值键不可以重复,值可以重复Map集合的基本使用//创建集合对象//V put(K key, V value) 将指定的值与该映射中的指定键相关联map.put("itheima001","林青霞");map.put("itheima002","张曼玉");map.put("itheima003","王祖贤");map.put("itheima003","柳岩");原创 2023-09-10 09:01:55 · 1653 阅读 · 31 评论 -
从零开始学习 Java:简单易懂的入门指南之泛型及set集合(二十二)
泛型的介绍 泛型是JDK5中引入的特性,它提供了编译时类型安全检测机制泛型的好处把运行时期的问题提前到了编译期间避免了强制类型转换泛型的定义格式: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如:: 指定多种类型的格式,多种类型之间用逗号隔开.例如: 不可以存储重复元素没有索引,不能使用普通for循环遍历不可以存储重复元素没有索引可以将元素按照规则进行排序。原创 2023-09-06 08:48:54 · 2846 阅读 · 56 评论 -
从零开始学习 Java:简单易懂的入门指南之Collection集合及list集合(二十一)
Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现创建Collection集合的对象多态的方式具体的实现类ArrayListCollection集合常用方法方法名说明添加元素从集合中移除指定的元素根据条件进行移除清空集合中的元素判断集合中是否存在指定的元素判断集合是否为空集合的长度,也就是集合中元素的个数List集合的概述。原创 2023-09-04 08:46:03 · 1906 阅读 · 38 评论 -
从零开始学习 Java:简单易懂的入门指南之时间类(十七)
Data类, Simjava.util.Date`类 表示特定的瞬间,精确到毫秒。继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,我们重点看以下两个构造函数:从运行程序的此时此刻到时间原点经历的毫秒值,转换成Date对象,分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。:将指定参数的毫秒值date,转换成Date对象,分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00 GMT)以来的指定毫秒数。原创 2023-08-25 08:42:00 · 1412 阅读 · 25 评论 -
从零开始学习 Java:简单易懂的入门指南之包装类(十九)
Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类。原创 2023-08-28 08:49:05 · 3228 阅读 · 58 评论 -
从零开始学习 Java:简单易懂的入门指南之正则表达式(十五)
正则表达式语法示例:“.” : 匹配任何字符。“\d”:任何数字[0-9]的简写;“\D”:任何非数字[^0-9]的简写;“\s”: 空白字符:[ \t\n\x0B\f\r] 的简写“\S”: 非空白字符:[^\s] 的简写“\w”:单词字符:[a-zA-Z_0-9]的简写“\W”:非单词字符:[^\w]代码示例://.表示任意一个字符System.out.println("你".matches(".."));//false。原创 2023-08-21 08:44:11 · 2320 阅读 · 35 评论 -
从零开始学习 Java:简单易懂的入门指南之Objects、BigInteger、BigDecimal(十四)
我们可以看到API文档中关于Objects类的定义如下:Objects类所在包是在java.util包下,因此在使用的时候需要进行导包。并且Objects类是被final修饰的,因此该类不能被继承。Objects类提供了一些对象常见操作的方法。比如判断对象是否相等,判断对象是否为null等等。原创 2023-08-19 08:56:26 · 869 阅读 · 10 评论 -
从零开始学习 Java:简单易懂的入门指南之MAth、System(十二)
查看API文档,我们可以看到API文档中关于Math类的定义如下:Math类所在包为java.lang包,因此在使用的时候不需要进行导包。并且Math类被final修饰了,因此该类是不能被继承的。Math类包含执行基本数字运算的方法,我们可以使用Math类完成基本的数学运算。要想使用Math类我们就需要先创建该类的对象,那么创建对象就需要借助于构造方法。因此我们就需要首先查看一下API文档,看看API文档中针对Math类有没有提供对应的构造方法。通过API文档来查看。原创 2023-08-16 08:48:27 · 1797 阅读 · 34 评论 -
从零开始学习 Java:简单易懂的入门指南之抽象类&接口&内部类(十一)
父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了(因为子类对象会调用自己重写的方法)。换句话说,父类可能知道子类应该有哪个功能,但是功能具体怎么实现父类是不清楚的(由子类自己决定),父类只需要提供一个没有方法体的定义即可,具体实现交给子类自己去实现。我们把没有方法体的方法称为抽象方法。Java语法规定,包含抽象方法的类就是抽象类。抽象方法: 没有方法体的方法。抽象类:包含抽象方法的类。原创 2023-08-14 08:44:04 · 1171 阅读 · 36 评论 -
从零开始学习 Java:简单易懂的入门指南之多态(十)
多态: 是指同一行为,具有多个不同表现形式。从上面案例可以看出,Cat和Dog都是动物,都是吃这一行为,但是出现的效果(表现形式)是不一样的。前提【重点】有继承或者实现关系方法的重写【意义体现:不重写,无意义】父类引用指向子类对象【格式体现】父类类型:指子类对象继承的父类类型,或者实现的父接口类型。 学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。如果有一个方法我不想别人去改写里面内容,该怎么办呢?Java提供了final关键字,表示修饰的内容不可变。final。原创 2023-08-12 08:46:09 · 887 阅读 · 20 评论 -
从零开始学习 Java:简单易懂的入门指南之面向对象(九)
修饰符 class 类名 {// 1.成员变量(属性) // 2.成员方法 (行为) // 3.构造方法 (初始化类的对象数据的) }// 1.成员变量// '男' '女'// 成员变量// '男' '女'// 无参数构造方法// 有参数构造方法我们已经知道面向对象中,存在类和对象的概念,我们在类中定义了一些成员变量,例如name,age,sex ,结果发现这些成员变量,每个对象都存在(因为每个对象都可以访问)。原创 2023-08-10 09:19:32 · 1346 阅读 · 34 评论 -
从零开始学习 Java:简单易懂的入门指南之API、String类(八)
API (Application Programming Interface) :应用程序编程接口java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。 String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。原创 2023-08-08 09:13:42 · 1334 阅读 · 40 评论 -
从零开始学习 Java:简单易懂的入门指南之类和对象(七)
类的组成是由属性和行为两部分组成属性:在类中通过成员变量来体现(类中方法外的变量)行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)类的定义步骤:①定义类②编写类的成员变量③编写类的成员方法public class 类名 {// 成员变量 变量 1 的数据类型 变量 1;变量 2 的数据类型 变量 2;… // 成员方法 方法 1;方法 2;原创 2023-08-05 08:59:19 · 6122 阅读 · 47 评论 -
从零开始学习 Java:简单易懂的入门指南之方法(六)
方法概述原创 2023-08-03 10:02:28 · 5999 阅读 · 36 评论 -
从零开始学习 Java:简单易懂的入门指南之数组(五)
1.数组 2.数组的定义 3.数组的静态初始化 4.地址值 5.数组元素访问 6.索引 7.数组的遍历 8.数组的动态初始化 9.数组两种初始化方式的区别 10.数组常见问题 11.数组的练习原创 2023-07-31 14:27:59 · 5923 阅读 · 32 评论 -
从零开始学习 Java:简单易懂的入门指南之for循环(四)
流程控制语句,循环结构,switch,while,do...while原创 2023-07-28 14:41:37 · 5957 阅读 · 23 评论 -
从零开始学习 Java:简单易懂的入门指南(三)
java基础知识原创 2023-07-25 15:57:53 · 1509 阅读 · 41 评论 -
从零开始学习 Java:简单易懂的入门指南(二)
java基础知识原创 2023-07-21 14:58:08 · 1310 阅读 · 40 评论 -
从零开始学习 Java:简单易懂的入门指南(一)
人机交互,java概述原创 2023-07-18 11:02:45 · 7320 阅读 · 41 评论