自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Threadlocal相关问题

​ 原理:每个线程有一个与之绑定的容器:Map,这个Map中保存着当前线程的所有的本地变量,这个Map​ 叫ThreadLocalMap,这个map的键为当前ThreadLocal对象,值为放进去的值线程内部的存储类,赋予了线程存储数据的能力。线程内调用get方法都可以从ThreadLocal中获取同一个对象。多个线程中ThreadLocal数据相互隔离threadlocal核心方法有三个:set(存储数据)、get(获取数据)、remove(删除数据,避免内存溢出)

2023-03-18 00:14:59 534

原创 linux-install

1 、Docker官网:https://www.docker.com 2 、Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用, 支持周期 24 个月。3 、Docker CE 分为 ` stable ` ` test ` 和 ` nightly ` 三个更新频道。

2023-03-18 00:07:28 2408

原创 java 状态修饰符

final(最终态) static(静态)① 被类的所有对象共享,这也是我们判断是否使用静态关键字的条件。关键字是最终的意思,可以修饰成员方法,成员变量,类。② 可以通过类名调用,当然,也可以通过对象名调用,关键字是静态的意思,可以修饰成员方法,成员变量。静态成员方法只能访问静态成员。案例:静态在工具类中的使用。

2022-10-24 19:59:17 476

原创 java注解

Data注解:在JavaBean中使用,这个注解包含范围最广,它包含getter、setter、toString、equals、hashCode方法,即当使用当前注解时,会自动生成@Data包含的所有方法;@Slf4j:在需要打印日志的类中使用,当项目中使用了slf4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用info方法即可;@Log4j:在需要打印日志的类中使用,当项目中使用了log4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用info方法即可;

2022-10-23 18:30:00 457

原创 java时间日期类

Date类概述Date 代表了一个特定的时间,精确到毫秒Date类构造方法方法名说明创建一个Date对象,表示默认时间创建一个Date对象,表示指定时间把当前时间封装成一个Date对象把从时间原点开始,过了指定毫秒的时间,封装成一个Date对象需要考虑时差问题。案例:示例代码。

2022-10-22 19:30:00 657

原创 java包装类

基本类型包装类的作用:将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据常用的操作之一:用于基本数据类型与字符串之间的转换Integer:该对象中包装了一个基本数据类型int的值* 装箱:把基本数据类型转换为对应的包装类类型* 拆箱:把包装类类型转换为对应的基本数据类型注意:在使用包装类类型的时候,如果做操作,最好先判断是否为 null 我们推荐的是,只要是对象,在使用前就必须进行不为 null 的判断

2022-10-21 19:55:14 459

原创 java基础英语单词

1, 这是技术是什么? --java是什么?一门编程语言.2, 这个技术有什么用? --java有什么用? 能够编写程序,最后形成软件.软件能卖钱.钱能给我们和家人带来一个幸福的人生.3, 这个技术什么时候用?4, 这个技术怎么用? ***** javaSE javaEE(web开发,android开发)javaMEJava常用英语汇总1.第1天path [ pɑ:θ ] 路径class [klɑ:s] 类 public ['p ʌblik] 公共的,公用的stati

2022-06-07 22:00:00 166

原创 HTML简介

目标◆能够说出网页的基本组成◆能够说出什么是HTML◆能够说出常用的浏览器◆能够说出Web标准的三大组成部分目录◆网页◆常用浏览器◆Web标准我们接下来是进行的网页开发这里首先介绍下网页的相关概念:1.什么是网页?2.什么是HTML?3.网页的形成?网站是指在因特网上根据-定的规则,使用HTML等制作的用于展示特定内容相关的网页集合。网页是网站中的一“页” , 通常是HTML格式的文件,它要通过浏览器来阅读。网页是构成网站的基本元素,它通常由图片、链接、文字音、视频等元素组成。通常我们看到的网页,常见以.h

2022-06-06 23:37:37 371

原创 java异常机制

目录1、什么是异常2、异常体系结构3、Java异常处理机制4、处理异常5、自定义异常6、总结要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常:异常处理框架检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开-个不存在文件时,-个异常就发生了,这些异常在编译时不能被简单地忽略。运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。错误ERROR:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常

2022-06-05 18:00:00 291

原创 java内部类

案例:内部类与外部类案例:Application类 调用 Outer 内部类扩展:

2022-06-04 20:00:00 82

原创 java接口

作用:接口是约束定义一些方法,让不同的人实现~ 如:10个人完成同一个工作接口中默认的方法 public abstract静态常量 public static final接口不能被实例化~ 接口中没有构造方法~implements 可以实现多个接口实现接口的类必须要重写接口中的方法~案例:接口中的方法UserService接口TimeService接口案例:多继承 UserServiceImpl子类 实现 UserService 和 TimeService 接口

2022-06-03 19:00:00 86

原创 java抽象类

abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类。抽象类的特点:抽象的抽象:约柬~存在意义: 抽象出来的~ 提高开发效率案例:抽线类 Action 父类案例:

2022-06-02 22:00:00 202

原创 java多态

动态编译: 类型 : 可扩展即同一方法可以根据发送对象的不同而采用多种不同的行为方式。一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类)多态存在的条件注意:多态是方法的多态,属性没有多态性。instanceof 类型转换 引用类型 判断一个对象是什么类型~当父类 被 final 修饰了 就不能被子类继承了案例:Person父类案例:Student子类 调用 Person父类 的多态案例:Application类 测验 Student子类 调用 Person父类

2022-06-01 17:00:00 82

原创 java继承

继承继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。extends的意思是"扩展”。子类是父类的扩展。JAVA中类只有单继承,没有多继承! 一个儿子只有一个父亲,但是一个父亲可以有多个儿子继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。子类和父类之间,从意义上讲应该具有"is a"的关系. Ctrl + H 查看继承关系

2022-05-31 20:00:00 130

原创 java封装

封装该露的露,该藏的藏我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉; 低耦合:仅暴露少量的方法给外部使用。封装(数据的隐藏)通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。记住这句话就够了:属性私有, get/set案例: Student类 属性块 封装后传递数据//类 private:私有public class Student { //属性私有 private St

2022-05-30 14:00:00 75

原创 java 对象值如何new出来的

文章目录对象值如何new出来的对象值如何new出来的案例:Application类 调用 Pet类属性public class Pet { public String name; public int age; //无参构造 public void shout() { System.out.println("叫了一声"); }}public class Application { public static void ma

2022-05-29 20:00:00 167

原创 java如何创建与初始化对象

文章目录创建与初始化对象创建与初始化对象使用new关键字创建对象使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化 以及对类中构造器的调用。类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下俩个特点:1.必须和类的名字相同2.必须没有返回类型,也不能写void构造器必须要掌握alt + insscrlk Construtor 生成构造器 ok:生成有产 selsctNone:生成无参案例:以类的方式

2022-05-28 20:00:00 423

原创 java回顾方法

回顾方法方法的定义修饰符:public公共 static静态返回类型break: 跳出switch,结束循环 return:结束方法 返回一个结果方法名: 注意规范就OK 见名知意参数列表: (参数类型, 参数名) …异常抛出: 疑问,后面讲解案例:方法定义//Demo01 就是一个类 因为那是用 class修饰的public class Demo01 { //类里面有一个核心的方法main方法 代码都是写在main方法里面 那么方法也一定是

2022-05-27 22:00:00 55

原创 java面向对象 oop

文章目录面向过程&面向对象什么是面向对象 oop类与对象的关系面向过程&面向对象面向过程思想步骤清晰简单,第一步做什么,第二步做什么…面对过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人协作的问题!对于描述复杂的事物,为了从宏观上把握、从整体.上合理分析,我们需要使用面向对象的思路来分

2022-05-26 20:00:00 65

原创 java稀疏数组 数据结构

文章目录稀疏数组 数据结构稀疏数组介绍稀疏数组 数据结构需求:编写五子棋游戏中,有存盘退出和续.上盘的功能。分析问题:因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据。解决:稀疏数组稀疏数组介绍当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方式是:记录数组-共有几行几列,有多少个不同值把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模如下图:左边是原始数组,右边是稀疏数组

2022-05-25 20:00:00 64

原创 java冒泡排序

文章目录冒泡排序冒泡排序冒泡排序无疑是最为出名的排序算法之一, 总共有八大排序!冒泡的代码还是相当简单的,两层循环,外层冒泡轮数,里层依次比较,江湖中人人尽皆知。我们看到嵌套循环,应该立马就可以得出这个算法的时间复杂度为0(n2)。思考:如何优化?案例:冒泡排序public class Name013 { public static void main(String[] args) { int[] a = {1, 2, 9, 56,4, 85, 4};

2022-05-24 10:49:06 66

原创 java的Arrays类

文章目录Arrays类Arrays类数组的工具类java.util.Arrays由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。查看JDK帮助文档Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是"不用"而不是"不能")具有以下常用功能:给数组赋值:通过fill方法。对数组排序:通过sort方法,按升序。比较数组:通过equ

2022-05-22 22:00:00 93

原创 java的多维数组

多维数组多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一 维数组,其每一个元素都是一个一维数组。二维数组int a[][] = new int[2][5];解析:以上二维数组a可以看成一个两行五列的数组。思考:多维数组的使用?num[1] [0];一维数组二维数组二维数组public class Name10 { public static void main(String[] args) { //[4]行[2]列

2022-05-21 20:00:00 201

原创 java数组的使用

文章目录数组使用数组使用普通的for循环: 用的最多 因为我们要用它里面取出一些数据或下标来进行操作For-Each循环: 一般用来打印写结果数组作方法入参数组作返回值普通的for循环public class Name03 { public static void main(String[] args) { int[] arrays = {1, 2, 3, 4, 5}; //打印全部的数组元素 for (int i

2022-05-20 20:00:00 56

原创 java数组的四个基本特点和数组边界

文章目录数组的四个基本特点数组边界数组的四个基本特点其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。其元素必须是相同类型,不允许出现混合类型。数组中的元素可以是任何数据类型,包括基本类型和引用类型。数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。数组边界下标的合法区间: [0, length-1],如果越界就会报错;public

2022-05-19 22:00:00 94

原创 Java内存分析和三种数组初始化

文章目录内存分析三种初始化内存分析Java内存分析:堆:存放new的对象和数组可以被所有的线程共享,不会存放别的对象引用栈存放基本变量类型(会包含这个基本类型的具体数值)引用对的变量(会存放这个引用在堆里面的具体地址)方法区可以被所有的线程共享包含了所有的class和static变量写代码画图分析内存!三种初始化静态初始化 int[] a = {1,2,3}; Man[] mans = {new Man(1,1),new Man(

2022-05-18 22:00:00 69

原创 java数组声明

数组概述数组是相同类型数据的有序集合.**数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。 **其中,每一个数据称作一个数组元素每个数组元素可以通过一个下标来访问它们.数组声明创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法: dataType[] arrayRefVar; //首选的方法 或 dataType arrayRefVar[]; // 效果相同,但不是首选方法Java语言使用new操作符来创建数组,语法如下:

2022-05-17 10:00:00 2383

原创 java可变参数

可变参数/不定项参数JDK 1.5开始,Java支持传递同类型的可变参数给一个方法。在方法声明中,在指定参数类型后加一个省略号(…)。一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。 public static void printMax(double... numbers) { if (numbers.length == 0) { System.out.println("No argument

2022-05-16 10:00:00 190

原创 java递归

文章目录递归(重点)递归(重点)A方法调用B方法,我们很容易理解!递归就是: A方法调用A方法!就是自己调用自己利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。递归结构包括两个部分:递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。递归体:什么时候需要调用

2022-05-15 20:07:03 82

原创 java方法的重载和命令行传参

文章目录方法的重载方法的重载重载就是在一个类中,有相同的函数名称,但形参不同的函数。方法的重载的规则:方法名称必须相同。参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。方法的返回类型可以相同也可以不相同。仅仅返回类型不同不足以成为方法的重载。实现理论:方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。public class Name06 { public static voi

2022-05-14 22:36:33 82

原创 java方法定义和调用

文章目录方法的定义方法调用方法的定义Java的方法类似于其它语言的函数,是一段 用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法: 方法包含一个方法头和一个方法体。下面是-个方法的所有部分: 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。 返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void。 方

2022-05-12 02:30:00 108

原创 java中何谓方法?

何谓方法?System.out.println(), 那么它是什么呢? 类:System 对象:out 方法:println()Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性, 就是一个方法只完成1个功能,这样利于我们后期的扩展。案例:方法的调用public c

2022-05-11 14:30:00 107

原创 java中break 和 continue 的区别

文章目录break 和 continue 的区别break 和 continue 的区别break在任何循环语句的主体部分,均可用break控制循环的流程。 break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。关于goto关键字goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一 个保留字,但并未在

2022-05-10 19:14:06 630

原创 java循环结构for

文章目录For循环增强for循环For循环虽然所有循环结构都可以用while或者do…while表示,但Java提供了另一种语句一for循环,使一些循环结构变得更加简单。for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环执行的次数是在执行前就确定的。 语法格式如下:for(初始化;布尔表达式条件;更新) {//代码语句}关于for循环有以下几点说明:最先执行初始化步骤。可以声明一种类型, 但可初始化一个或多个循环控制变量,也可以是空语句。

2022-05-09 22:18:17 484

原创 java循环结构之while和do...while

文章目录循环结构while循环do while循环循环结构while循环do…while循环while循环while是最基本的循环,它的结构为: while(布尔表达式) { //循环内容 }只要布尔表达式为true,循环就会一直执行下去。我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。少部分情况需要循环一直执行,比如服务器的请求响应监听等。循环条件一直为 true 就会造成无限循环 [死循环] ,我们正常的业务编

2022-05-08 19:52:21 1107

原创 java选择结构

文章目录选择结构if单选择结构if双选择结构if多选择结构嵌套的if结构switch多选择结构选择结构if单选择结构if双选择结构if多选择结构嵌套的if结构switch多选择结构if单选择结构我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示语法:if(布尔表达式){//如果布尔表达式为true将执行的语句}案例:if单选择结构public class Name1 { public static voi

2022-05-07 23:37:52 199

原创 java顺序结构

文章目录顺序结构顺序结构JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。顺序结构是最简单的算法结构。语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。案例:for循环 1-100的和public class Demo04 { public static void main(String[] args) { int b = 0;

2022-05-06 22:00:00 366

原创 Java中==和equals()的区别

==:equals() :equals方法常用来比较对象的内容是否相同equals() 方法继承于Object类 而Object类是所有类的直接或间接父类默认情况下,比较的是地址,用于比较两个对象是否相等 比较 2 个对象的内存地址是否相等.重写该方法后比较对象的变量值是否相同 其本质还是基于 “==”案例:equals比较案例:equals比较2案例:if判断输入的是否为想要的案例:if单选择结构...

2022-05-05 23:57:55 81

原创 java Scanner类的用法

文章目录Scanner对象之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样-个工具类,我们可以获取用户的输入。java.util.Scanner 是Java5的新特征,我们可以通过Scanner类来获取用户的输入。基本语法: Scanner S = new Scanner(System.in);通过 Scanner 类的 next() 与 nextLine()方法获取输入的字符串,在读取前我们

2022-05-04 23:32:46 128

原创 java包机制和Doc文档

文章目录包机制Java Doc包机制为了更好地组织类, Java 提供了包机制,用于区别类名的命名空间。包语句的语法格式为:package pkg1[. pkg2[. pkg3...]];一般利用公司域名倒置作为包名; 如 //www.baidu.com 建包 com.baidu.www 下面还有包 如 baike为了能够使用某一个包的成员, 我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能import package1

2022-05-03 23:51:55 192

空空如也

空空如也

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

TA关注的人

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