自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java中的枚举类型

Java中的枚举类型简介定义格式枚举类的主要方法枚举的好处枚举的实现原理注意事项简介JDK1.5引入了新的类型——枚举。 在JDK1.5 之前,我们定义常量都是: public static fianl… 很难管理。 枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 用于定义有限数量的一组同类常量,例如: 一年的四季: 春、夏、秋、冬。在枚举类型中定义的常量是该枚举类型的实例。定义格式定义和使用基本的枚举是比较简单的,我们来看一个例子。为表示衣服尺寸,我们定义一个枚举类型

2021-09-15 12:30:18 253

原创 JSON基本解析

JSON基本解析什么是JSON?JSON格式JAVA与JSONGSONFastJson什么是JSON?JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。JSON格式{ "name" :

2021-09-13 22:11:46 131

原创 Java多线程---线程池

线程池 Executors在之后的Java开发中,我们会不可避免的创建大量线程,线程完成任务后就被销毁了,这种情况下,线程执行任务的流程是创建线程,创建任务,执行任务,关闭线程,而创建和释放线程会占据整个流程的多数时间。如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程 就会大大降低 系统的效率,因为频繁创建线程和销毁线程需要时间. 线程池就是一个容纳多个线程的容 器,池中的线程可以反复使用,省去了频繁创建线程对象的操作,节省了大量的时间和资源。一个线程池包括以下四

2021-09-12 20:18:46 190

原创 Java多线程---线程同步的三种方法

当多线程并发(指两个或多个事件在同一个时间段内发生)时,容易发生线程不安全的问题,我们希望某一段代码执行的过程中CPU不要切换到其它线程工作,这时就需要同步。线程同步的目的是为了保护多个线程反问一个资源时对资源的破坏。线程同步方法是通过锁来实现,每个对象都有切仅有一个锁,这个锁与一个特定的对象关联,线程一旦获取了对象锁,其他访问该对象的线程就无法再访问该对象的其他非同步方法。同步代码块格式:synchronized(锁对象){执行代码块}synchronized的目的是使同一个对象的多个线程,在某个

2021-09-10 21:02:35 694

原创 java虚拟机的分区

方法区:1.有时候也称为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载2.方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。3.该区域是被线程共享的。4.方法区里有一个运行时常量池,用于存放静态编译产生的字面量和符号引用。该常量池具有动态性,也就是说常量并不一定是编译时确定,运行时生成的常量也会存在这个常量池中。虚拟机栈:1.虚拟机栈也就是我们平常所称的栈内存,它为java方法服务,每个方法

2021-07-24 15:43:18 121

原创 Comparable和Comparator的区别

Java中的排序是由Comparable和Comparator这两个接口来提供的。Comparable表示可被排序的,实现该接口的类的对象自动拥有排序功能,在集合内部定义方法实现。Comparator则表示一个比较器,实现了该接口的的类的对象是一个针对目标类的对象定义的比较器,一般情况,这个比较器将作为一个参数进行传递,是在集合外部实现的排序。所以,如想实现排序,就需要在集合外定义 Comparator 接口的方法或在集合内实现 Comparable 接口的方法。Comparable接口Compa

2021-07-22 14:50:50 56

原创 Java中的finally一定会被执行吗?

finally一定会被执行吗?答案是不一定。有以下两种情况finally不会被执行程序未执行到try代码块在try或catch中停止了JVM,则finally不会执行.例如停电, 或通过如下代码退出JVM:System.exit(0)try-catch-finally 中,如果 try或catch 中 return 了,finally也会执行执行流程:先计算返回值, 并将返回值存储起来, 等待返回执行finally代码块将之前存储的返回值, 返回出去;需注意:返回值是在final

2021-07-08 17:32:24 1838

原创 接口中的方法之静态、默认、私有方法

接口中默认方法接口中默认方法的定义格式:格式:public default 返回值类型 方法名(参数列表){}范例:public default void fun(){}接口中的默认方法的注意事项:默认方法不是抽象方法,所以不强制被重写,但是可以被重写,重写的时候去掉default关键字public可以省略,default不能省略接口中的静态方法接口中静态方法的定义格式:格式:public static 返回值类型 方法名(参数类型){}范例:public static voi

2021-03-22 21:40:59 719

原创 Lambda表达式和匿名内部类的区别

所需类型不同匿名内部类:可以是接口,也可以是抽象类,还可以是具体类Lambda表达式:只能是接口使用限制不同如果接口中有且只有一个抽象方法,可以使用Lambda表达式,也可以使用匿名内部类如果接口中多于一个抽象方法,只能使用匿名内部类,而不能使用Lambda表达式实现原理不同匿名内部类:编译之后,产生一个单独的.class字节码文件Lambda表达式:编译之后,没有一个单位的.class字节码文件,对应的字节码会在运行的时候动态生成。...

2021-03-14 19:06:41 171

原创 Java集合类--List集合概述

集合类包括List集合、Set集合和Map集合,其中List与Set继承了Collection接口,Collection接口虽然不能直接被使用,但提供了操作集合以及集合中元素的方法,且Set接口和List接口都可以调用Collection接口中的方法。List集合、Set接口和Map接口提供了不同的实现类。表1:Collection接口的常用方法及说明方法功能描述add(Object e)将指定的对象添加到集合内remove(Object o)将指定的对象从集合内移除

2021-03-07 20:50:13 236 1

原创 基本排序算法---插入排序、冒泡排序、快速排序

排序(sorting)是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列重新排列成一个按关键字有序的序列。在待排列的文件中,若存在多个关键字相同的记录,经过排序后,这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的;若具有相同关键字的记录之间的相对次序发生变化,则称这种排序方法是不稳定的。插入排序插入排序的基本思想是:每次将一个待排序的记录,按其关键字大小插入前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。示例:void insert_sor

2020-08-04 20:11:29 289

原创 递归算法---汉诺塔问题

程序调用自身的编程技巧称为递归。一个过程或函数在其定义或说明中又直接或间接地调用自身的一种方法,通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。汉诺塔问题参考代码#include <fstream>#include

2020-07-27 21:09:08 456

原创 分治算法---计数问题

分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相对独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。计数问题题目描述给定两个整数a和b,计算出1在a和b之间出现的次数。例如,如果a=1024,b=1032,那么a和b之间的数就是:1024 1025 1026 1027 1028 1029 1030 1031 1032则有10个1出现在这些数中。输入:输入不会超过500行,每一行有两个整数a和b,a和b之间的范围是0<a,b<100 000

2020-07-26 11:52:17 516 1

原创 Java循环的跳转

在Java语言中,有一些跳转的语句,如break、continue以及return等语句。break语句、continue语句和return语句都是用来控制程序的流程转向的,适当和灵活地使用它们可以更方便或更简洁地进行程序的设计。break语句break语句不仅可以用在switch语句中,在while、for、do-while等循环语句结构中的循环体或语句组中也可以使用break语句,其作用是使程序立即退出该结构,转而执行该结构下面的第1条语句。break语句也称之为中断语句,它通常用来在适当的时候退出

2020-07-23 14:40:56 526

原创 JAVA程序流程控制语句---循环语句

循环结构是程序中的另一种重要结构。它和顺序结构、选择结构共同作为各种复杂程序的基本构造部件。循环结构的特点是在给定条件成立时,反复执行某个程序段。通常我们称给定条件为循环条件,称反复执行的程序段为循环体。循环体可以是复合语句、单个语句或空语句。循环结构包括while循环、do…while循环、for循环,还可以使用嵌套循环完成复杂的程序控制操作。while循环while循环语句的执行过程是先计算表达式的值,若表达式的值为真,则执行循环体中的语句,继续循环;否则退出该循环,执行while语句后面的语句。循

2020-07-23 13:42:52 378

原创 JAVA程序流程控制语句---选择语句

选择语句在程序设计时,经常需要使用选择结构在结构在程序中完成逻辑判断和选择功能,这就需要用到选择语句。Java中的选择语句包括if语句、if-else语句和switch语句。if选择语句if语句只有一个选择的语句结构,所以也叫单分支选择结构,执行过程如下:对if后面括号里的条件表达式进行判断。如果条件表达式的值为true,就执行表达式后面的语句或后面大括号里的多条语句。如果条件表达式的值为false,则跳过if语句,执行下一条语句。if(条件表达式) 语句if(条件表达式){ 一条

2020-07-22 16:07:31 364

原创 JAVA---数组2---多维数组

多维数组数组元素除了可以是原始数据类型、对象类型之外,还可以是数组,即数组的元素是数组。所以虽然JAVA不支持多维数组,但是可以通过声明数组的数组来实现同样的功能。声明二维数组变量声明二维数组的语法如下:数组类型[ ][ ] 数组名字;数组类型 数组名字[ ][ ];创建二维数组对象有两种方式可以用来创建二维数组对象。使用new运算符在Java中,数组是引用对象,所以可以使用new运算符来直接创建一个数组对象,如以下代码所示。int[][] year = new int[52

2020-07-21 16:21:30 248

原创 JAVA---数组1---一维数组

什么是数组?数组是用来存储具有相同数据类型的数据的集合,可以使用共同的名字来引用数组中储存的数据,数组可以存储任何类型的数据,包括原始数据类型和对象,但是一旦指定了数组的类型,就只能用来存储指定类型的数据。数组提供了一种数据凤族的便利方法。在数组中,每一项数据都经过编号,可以通过数组的下标(即数据在数组中的索引值,从0开始。例如,数组中第一项数据的下标为0,第二项数据的下标为1,第N项数据的下标为N-1)来方便的访问。Java语言中数组的特点Java中的数组,既能存储原始数据类型,又能存储对象类型

2020-05-24 23:07:18 295

原创 JAVA体系与特性

JAVA三大体系JAVA有三大体系,分别是Java SE(Java Platform Standard Edition),Java EE(Java Plaform Enterprise Editoin),Java ME(Java Platform Micro Eidtion),Java语言只是Java SE中的一部分。想要学习及开发Java其他平台的应用,必须先了解Java SE以奠定基础...

2020-03-19 20:39:35 2338

原创 转义序列和格式化输出、Scanner

变量的命名通过变量名可以简单快速地找到内存中存储的数据Java的变量命名规则变量名只能由字母、数字和下划线和$符号组成第一个字符必须是字母或下划线或$符号,不能是数字变量名不能包含除_和$符号以外的其他特殊字符,如%、#、逗号等不可以使用关键字Java中的转义序列转义序列就是包含反斜杠(\)的字符组合后跟字母或用数字的组合符号字符含义\o空字符\n...

2020-01-05 21:45:07 253

原创 JAVA变量与数据类型

变量是计算机中一块特定的内存空间,由一个或多个连续的字节组成。Java常用的数据类型

2019-12-29 17:08:03 274

原创 开发Java的第一个程序

永远的Hello World!

2019-12-22 21:14:38 158

原创 如何配置JDK环境(详解版)

Java三大体系Java有三大体系,分别是Java SE(Java Platform Standard Edition),Java EE(Java Plaform Enterprise Editoin),Java ME(Java Platform Micor Eidtion),Java语言只是Java SE中的一部分。想要学习及开发Java其他平台的应用,必须先了解Java SE以奠定基础...

2019-12-15 20:57:53 613

空空如也

空空如也

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

TA关注的人

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