- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 Java中的多线程(三)----死锁以及生产者消费者模式
死锁的概念“死锁”指的是:多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能进行,而导致 两个或者多个线程都在等待对方释放资源,都停止执行的情形。因此, 某一个同步块需要同时拥有“两个以上对象的锁”时,就可能会发生“死锁” 的问题。比如,“化妆线程”需要同时拥有“镜子对象”、“口红对象”才能运行同步块。 那么,实际运行时,“小丫的化妆线程”拥有了“镜子对象”,“大丫的化妆线程”拥有了“口红对象”,都在互相等待对方释放资源,才能化妆。这样,两个线程就形成了互相等待, 无法继续运行的“
2022-05-28 12:24:29
602
原创 Java中的多线程(三)线程同步
什么是线程同步?线程冲突现象同步问题的提出现实生活中,我们会遇到“同一个资源,多个人都想使用”的问题。 比如:教室里,只有一台电脑,多个人都想使用。天然的解决办法就是,在电脑旁边,大家排队。前一人使用完后,后一人再使用线程同步的概念处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象。 这时候,我们就需要用到“线程同步”。 线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面的线程使用完毕后,下一个线程再..
2022-05-28 09:51:10
1255
原创 Java中的多线程(二)---线程的使用
一、线程的使用1.终止线程如果我们想在一个线程中终止另一个线程我们一般不使用JDK提供的stop()/destroy() 方法(它们本身也被 JDK 废弃了)。通常的做法是提供一个 boolean 型的终止变量,当这个变量值为 false 时,则终止线程的运行。package 包1;import java.io.IOException;/** 终止线程* */public class StopThread implements Runnable{//设置线程开始/终止标识符
2022-05-23 23:21:14
167
原创 Java中的多线程(Thread)(一)概念篇
学习目标 知识点 要求 多线程介绍 了解 线程的创建 掌握 线程的使用 掌握 线程的优先级 掌握 守护线程 掌握 线程同步 掌握 线程并发协作 掌握 一、 多线程介绍 多线程的基本概..
2022-05-22 23:45:34
2363
原创 Java:IO流综合案例(大礼包)
1.第一个简单的IO流当程序需要读取数据源的数据时,就会通过 IO 流对象开启一个通向数据源的流,通过这个 IO 流对象的相关方法可以顺序读取数据源中的数据。
2022-05-04 14:15:35
1862
1
原创 Java中的IO流(一)
从本篇开始我们就开始系统的IO流学习了:学习目标 知识点 要求 IO简介 了解 IO流入门案例 了解 File类的使用 掌握 常用流对象 掌握 Apache IO包 掌握 本章总结 掌握 一、IO简介...
2022-05-03 16:05:15
223
原创 Java中的集合(五)双例集合Map
Map接口介绍1.1Map接口特点Map 接口定义了双例集合的存储特征,它并不是 Collection 接口的子接口。双例集合的存储特征是以 key 与 value 结构为单位进行存储。体现的是数学中的函数 y=f(x)感念。Map 与 Collecton 的区别:Collection中的容器,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。 Map中的容器,元素是成对存在的(理解为现代社会的夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。...
2022-05-02 13:10:42
198
原创 TreeSet集合(五)容器类
TreeSet 是一个可以对元素进行排序的容器。底层实际是用 TreeMap 实现的,内部维持了一个简化版的 TreeMap,通过 key来存储 Set 的元素。 TreeSet内部需要对存储的元素进行排序,因此,我们需要给定排序规则。排序规则实现方式:通过元素自身实现比较规则。 通过比较器指定比较规则。TreeSet的使用1.基本用法:在元素自身实现比较规则时,需要实现 Comparable 接口中的 compareTo 方法,该方法中用来定义比较规则。TreeSet 通过调...
2022-04-27 20:47:02
866
原创 Java中集合(四)之LinkedList类的概述和实现(Java中的双向链表)
1.LinkedList容器类LinkedList底层用双向链表实现的存储。特点:查询效率低,增删效率高,线程不安全。双向链表也叫双链表,是链表的一种,它的每个数据节点中都有两个指针,分别指向前一个节点和后一个节点。 所以,从双向链表中的任意一个节点开始,都可以很方便地找到所有节点。1.1双向链表的介绍class Node<E> { E item; Node<E> next; Node<E> prev.
2022-04-25 18:13:12
1220
原创 集合(三):Java中的栈(stack):概述以及应用
1.栈容器的介绍:stack栈容器,是Vector容器的一个子类,它实现了一个标准的后进先出(LIFO:last in first out)2.操作栈的方法:3.栈在Java中的使用:package 栈;import java.util.Stack;public class StackTest { public static void main(String[] args) { Stack<String> stack = new Stack&
2022-04-25 17:10:32
1919
原创 Java中的容器类(二):List接口下的ArrayList、Vector容器类的介绍和使用
1.ArrayList容器类ArrayList 是 List 接口的实现类。是 List 存储特征的具体实现。ArrayList 底层是用数组实现的存储。 特点:查询效率高,增删效率低,线程不安全。1.1添加元素package Container;import java.util.ArrayList;import java.util.List;public class ArrayListTest01 { public static void main(String...
2022-04-23 19:02:48
1771
原创 Java中的容器集合(一)(初识容器)
一、容器简介容器,是用来容纳物体、管理物体。生活中,我们会用到各种各样的容器。如锅碗瓢盆、 箱子和包等。程序中的“容器”也有类似的功能,用来容纳和管理数据。比如,如下新闻网站的新闻 列表、教育网站的课程列表就是用“容器”来管理:视频课程信息也是使用“容器”来管理:开发和学习中需要时刻和数据打交道,如何组织这些数据是我们编程中重要的内容。我 们一般通过“容器”来容纳和管理数据。事实上,我们前面所学的数组就是一种容器,可以 在其中放置对象或基本类型数据。数组的优...
2022-04-23 17:41:05
359
原创 Java中的泛型
目录一、泛型(Generics)1.泛型简介1.1泛型基本概念1.2泛型的好处1.3类型擦除2.泛型的使用2.1.定义泛型2.2泛型类2.2.1语法结构2.2.2代码示例:2.3泛型接口2.3.1语法结构2.3.2代码示例2.4泛型方法2.4.1非静态方法2.4.2静态方法2.4.3 泛型方法与可变参数2.5通配符和上下界限定2.5.1泛型-无界通配符2.5.2通配符的上线限定3.泛型总结1.基本类型不能用...
2022-04-18 23:42:03
1029
1
原创 Java中的常用类
常用类介绍——包装类基本用法基本数据类型的包装类我们前面学习的八种基本数据类型并不是对象,为了将基本类型数据和对象之间实现互相转化,Java为每一个基本数据类型提供了相应的包装类。包装类基本知识Java是面向对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象。但是我们在实际应用中经常需要将基本数据转化成对象,以便于操作。比如:将基本数据类型存储到Object[ ]数组或集合中的操作等等。为了解决这个不足,Java在设计类时为每个基本数据类型设计了.
2022-04-18 11:37:19
424
原创 java中的异常处理机制、代码案例、我们该怎样更好的百度我们的异常、Debug调试
目录整体内容大纲:导引问题异常机制本质异常(Exception)的概念异常分类ErrorExceptionRuntimeException运行时异常【示例】NullPointerException异常【示例】ClassCastException异常【示例】ArrayIndexOutOfBoundsException异常【示例】NumberFormatException异常处理异常的方式之一:(捕获异常)try:注意事项catch:...
2022-04-16 14:22:15
389
原创 考研算法必备:Java中的排序和查找算法
Comparable接口排序多个对象做比较,就要有“比较规则”,然后实现排序。事实上,java中排序算法的底层也依赖Comparable接口。Comparable接口中只有一个方法:public int compareTo(Object obj) obj为要比较的对象方法中,将当前对象和obj这个对象进行比较,如果大于返回1,等于返回0,小于返回-1. (此处的1也可以是正整数,-1也可以是负整数)。 compareTo方法的代码也比较固定:package com.Comparab
2022-04-16 10:27:35
344
2
原创 Java中的数组
学习大纲一维数组一维数组的概念数组的定义:数组是相同类型数据的有序集合。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。数组的四个基本特点:1、长度是确定的,数组一旦被确定,长度就不可以被改变;2、其元素类型必须是相同类型的元素,不允许出现混合类型。3、数组类型可以是任何数据类型,包括基本类型和引用类型。4、数组变量属于引用类型,数组也是对象,数组中的元素相当于对象的属性。数组的使用创建数组以及初始化//数组声明方式,...
2022-04-13 16:46:49
1929
原创 Java中的内部类(innerClass)
我们把一个类放在另一个类的内部定义,称为内部类(inner class)。内部类的两个要点:内部类提供了更好的封装。只能让外部类直接访问,不允许同一个包中的其他类直接访问。 内部类可以直接访问外部类的私有属性,内部类被当成其外部类的成员。但外部类不能访问内部类的内部属性。注意内部类只是一个编译时概念,一旦我们编译成功,就会成为完全不同的两个类。对于一个名为Outer的外部类和其内部定义的名为Inner的内部类。编译完成后会出现Outer.class和Outer$Inner.class
2022-04-11 23:41:28
2008
原创 equals和==的区别和联系(从小白到大师,只需要几分钟)
1.==代表比较双方是否相同。如果是基本类型则表示值相等,如果是引用类型则表示地址相等即是同一个对象。2.equals()提供定义“对象内容相等”的逻辑。比如,我们在公安系统中认为id相同的人就是同一个人、学籍系统中认为学号相同的人就是同一个人。3.在Object类中equals()默认是比较两个对象的hashcode。但,可以根据自己的要求重写equals方法。(我们可以认为hashcode就是对象的地址,因为这里面涉及到存储方面的知识点,我会抽时间以后单独出一篇讲解)4.总体来说在引....
2022-04-10 15:57:14
2278
原创 Java中的接口(interface)
概述接口就是一组规范(就像我们人间的法律一样),所有实现类都要遵守。面向对象的精髓,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如C++、Java、C#等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。接口的作用· 为什么需要接口?接口和抽象类的区别?接口就是比“抽象类”还“抽象”的“抽象类”,可以更加规范的对子类进行约束。全面地专业地实现了:规范和具体实现的分离。接口是两个模块之间通信的标准,通信的规范。如果能把你要设计的模块之间的
2022-04-09 18:09:02
1658
原创 Java中的继承详解:instanceof Override final toString 组合
概述你将通篇学习到继承的所有基础内容!1、继承的作用:更容易实现类的扩展,实现代码的重用。2、instanceof关键字,如果对象a是A创建的对象则返回一个boolean类型的值true,否则为false。3、在继承中父类还可被称为超类、基类,子类还可被称为派生类。4、重写(override):这是继承中的关键部分,它是实现多态的必要条件。它需要注意以下几个特点:(1)重写和重载是不同的,不要混淆概念。重写是子类继承父类方法时对父类方法的覆盖,即重新定义父类方法,而重载则
2022-04-09 00:03:41
913
原创 toString()方法的概念、应用、重写toString方法
toString归属于Object类,而Object类是默认被所有Java类继承的。toString方法就是此类(Object)中的一个用于返回对象地址的方法。具体应用如下:package com.chen;public class TestObject {//在此处定义TestObject类的用户名和密码属性 String id; String pwd;//含两个参数的构造方法 public TestObject(String id, String pwd) {
2022-04-03 15:57:29
5983
基于java的CRM客户关系管理系统的设计与实现
2022-07-21
java mysql j前端 学生成绩管理系统
2022-07-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人