自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 Java——锁

Java——锁Java中的锁什么是锁锁的三个概念锁的分类乐观锁与悲观锁自旋锁与适应性自旋锁公平锁与非公平锁重入锁与非重入锁共享锁与排他锁读写锁死锁死锁的定义死锁产生的原因死锁产生的4个必要条件死锁的处理方法预防避免检测解除Java中的锁什么是锁在计算机科学中,锁(lock)与互斥(mutex)是一种同步机制,用于在许多线程执行时对资源的限制。​锁通常需要硬件支持才可以有效实施。这种支持通常采用一个或多个原子指令,测试单个线程是否空闲。锁的三个概念锁开销:就是完成一个锁可能额外耗费的资源,比如一

2020-08-09 17:14:54 633

原创 Java——HashMap底层实现原理

Java——HashMap底层实现原理HashMap的实现原理一、JDK1.8中的涉及到的数据结构1、位桶数组2、数组元素NodeHashMap的实现原理首先有一个每个元素都是链表(可能表述不准确)的数组,当添加一个元素(key-value)时,就首先计算元素key的hash值,以此确定插入数组中的位置,但是可能存在同一hash值的元素已经被放在数组同一位置了,这时就添加到同一hash值的元素的后面,他们在数组的同一位置,但是形成了链表,同一各链表上的Hash值是相同的,所以说数组存放的是链表。而当链表长

2020-08-09 16:11:55 407

转载 Java——this和super用法总结

Java——this关键字用法总结this一、普通的直接引用二、区分成员变量和局部变量3.引用构造函数super1、普通的直接引用2、子类中的成员变量或方法与父类中的成员变量或方法同名3、引用构造函数super 和 this的异同thisthis 是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。this 的用法在 Java 中大体可以分为3种:普通的直接引用区分成员变量和局部变量引用构造函数一、普通的直接引用this 关键字用来表示当前对象本身,或当前类的一个实例,通

2020-05-17 11:13:33 227

原创 Java多线程——Thread和Runnable的区别

Java多线程——Thread和Runnable的区别进程和线程的区别一、扩展java.lang.Thread类二、实现java.lang.Runnable接口进程和线程的区别首先讲一下进程和线程的区别:进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。线程和进程一样分为五个阶段:创建、就绪、运行、阻塞、终止。多进程是指操作系统能同时运行多个

2020-05-15 15:05:28 234

原创 Java学习(16)——设计模式

设计模式简介中介模式代理模式责任链模式总结简介设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。本节主要介绍中介模式、代理模式、责任模式。知识点中介模式代理模式责任链模式中介模式简介定义...

2020-04-27 21:54:22 137

原创 Java学习(14)——正则表达式

正则表达式简介匹配总结简介正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE ),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。Java 通过 java.util.regex 包支持正则表达式的的功能。知识点java.util.regex匹配Java 使用正则表达式匹...

2020-04-27 17:22:27 150

原创 Java学习(13)——反射

反射简介什么是反射反射能做什么反射常用类编程实战总结简介Java 反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。本节主要讲解 Java 反射机制中的常用类。知识点反射常用类什么是反射反射是 Java 编程语言的一个特性,它提供了在运行时...

2020-04-27 17:07:30 112

原创 Java学习(12)——JDBC

JDBC简介数据库简介关系数据库非关系型数据库(NoSql)SQL 简介SQL 语法JDBCJDBC 连接数据库简介JDBC 是连接数据库和 Java 程序的桥梁,通过 JDBC API 可以方便地实现对各种主流数据库的操作。本节将重点讲解 JDBC 的内容。知识点SQL 简介JDBC创建数据库数据库操作JDBC 结果集插入数据数据库简介数据库,简而言之可视为电子化的文件...

2020-04-27 16:27:07 358

原创 Java学习(11)——多线程

多线程简介什么是线程多线程实现线程变量线程同步死锁饥饿线程生命周期简介Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。本节主要讲解 Java 多线程的一些概念以及其实现。知识...

2020-04-26 21:04:45 494

原创 Java学习(10)——网络编程

IO简介Socket 简介TCPUDPHttpURLConnectionInetAddress 类SocketServerSocket网络编程实例总结简介网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。java.net 包中 J2SE 的 API 包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。本节重点讲解...

2020-04-25 17:18:22 188

原创 Java学习(9)——IO

IO简介文件文件流FileReader随机读写文件操作拷贝移动和重命名删除文件属性目录读取IO流字节流简介整个 Java.io 包中最重要的就是 5 个类。指的是 File、OutputStream、InputStream、Writer、Reader;本节将重点讲解 Java.io 的相关内容。知识点文件随机读写文件操作文件拷贝文件属性目录读取IO 流字节流字符流文件...

2020-04-25 15:31:18 324

原创 Java学习(8)——Lambda

Lambda简介什么是函数式编程Lambda 表达式作用域方法引用函数式接口java.util.function相关的接口及描述编程实例PredicateStream 流相关的方法介绍编程实例FlatMap总结简介Lambda 表达式是 Java SE 8 中一个重要的新特性。Lambda 表达式允许你通过表达式来代替功能接口。本节将重点讲解 Lambda 相关知识内容。知识点Lambd...

2020-04-24 16:48:56 327

原创 Java学习(7)——异常

异常简介异常概述异常分类声明及抛出捕获异常捕获多个异常自定义异常异常堆栈总结简介任何一个程序都有可能发生异常,本节将主要讲解关于 Java 的异常处理。主要内容包含异常的基础理论以及如何捕获异常。知识点异常分类声明及抛出捕获异常自定义异常异常堆栈异常概述异常指不期而至的各种状况,它在程序运行的过程中发生。作为开发者,我们都希望自己写的代码永远都不会出现 bug,然而现实告诉...

2020-04-24 15:15:51 161

原创 Java学习(6)——排序与查找

排序与查找算法排序算法插入排序冒泡排序归并排序快速排序搜索算法线性搜索二分查找算法算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令。算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,则执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同...

2020-04-22 17:43:45 833

原创 Java学习(5)——泛型和集合

常用类简介泛型定义泛型类使用泛型方法CollectionListArrayListMapHashMapSet 和 HashSetCollections常用方法简介Java 使用集合来组织和管理对象,本节我们重点讲解泛型和集合。主要介绍 Collection、List、ArrayList、Map、HashMap、Set 和 HashSet、Collections、算法等内容。知识点泛型C...

2020-04-22 17:21:12 619

原创 Java学习(4)——常用类

常用类简介ArraysArrays 常用方法Arrays 编程实例StringBuilderCalendarCalendar 编程实例DateDate 编程实例MathMath 编程实例SystemSystem 使用示例RandomRandom 编程实例简介Java 类库提供了不少常用类,可以在编程中直接调用使用。本节讲重点讲解 Arrays、StringBuilder、Calendar、Da...

2020-04-21 21:05:19 347

原创 Java学习(3)——面向对象

面向对象简介面向对象基本概念类对象构造方法引用与对象实例staticfinal权限修饰符简介Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心。本节讲重点讲解面向对象的相关内容,主要围绕 Java 类和对象展开。知识点类对象构造方法引用与对象实例staticfinal封装继承方法重载与重写多态抽象类接口内部类面向对象基本概念对象,从字面...

2020-04-21 16:06:31 747

原创 Java学习(2)——基础语法(下)

基础语法(上)简介流程控制if语句switch语句while 和 do-while 语句跳转语句数组二维数组用户输入操作简介本节内容接上节内容,继续讲解 Java 基础语法的剩余内容。主要包括流程控制中的条件语句、循环语句以及跳转语句、数组的相关操作以及用户输入的操作。知识点1、流程控制2、数组3、用户输入操作流程控制流程控制对任何一门编程语言都是至关重要的,它为我们提供了控制程序...

2020-04-20 20:57:53 166

原创 Java学习(1)——基础语法(上)

基础语法(上)简介Java 概述及版本HelloWorld变量常量数据类型String运算符算术运算符位运算符逻辑运算符关系运算符关键字和语句方法IDE简介Java 概述及版本HelloWorld变量常量数据类型String运算符算术运算符位运算符逻辑运算符关系运算符关键字和语句方法IDE#简介本节内容讲解 Java 基础语法内容。主要包含变量、常量、数据类型、S...

2020-04-20 18:04:21 218

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除