自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 选择排序

选择排序代码:for(int i = 0;i<ary.length-1;i++){//将数组最前面的数拿出来作为比较的那个数int mixIndex = i;int mix = ary[i];for(int j = i+1;j<ary.length;j++){count++;//与数组中所有的数进行比较将最小的数放在前面if(mix>ary[j]){mix = ary[j];mixIndex = j;}}if(mixIndex != i){ary[mixInde

2021-03-14 18:33:12 101

原创 冒泡排序

数组中前一位元素和后一位元素依次比较,如果前一位元素大于(或小于)后一位元素,就交换两元素的位置,这样就能保证最后在每一轮比较过后,后面的元素值是最大的。根据上面的图例我们可以推断出,当7个数排序时,我们需要进行6轮排序,每一轮排序中都能确定,这一轮中最大的数,而在每一轮排序中,需要比较的次数=数组的长度-当前轮数。解释一下7个数排序为什么需要进行6轮排序:每一轮都能确定在这一轮比较中最大的那个数,所以6轮比较完毕后,会确定出6个数的大小,但是剩余的最后一个数一定是最小的。因为我们在比较的过程中会把小

2021-03-14 18:16:20 101

原创 为什么float的字节小于long的字节数但是存储范围却比long的范围大

进行混合运算的时候 byte short char 不会相互转换 都会自动提升为int取值范围大小如下char < int < long < float <doubledouble的取值范围最大float的取值范围大于long虽然 long的长度为8个字节 float的长度为4个字节 但是他们底层的存储结构不同,所代表的数值大小也不同这是float型的存储方式float型数的存储方式其中,左边第一位为符号位,0表示正,1表示负。上图中sign为0,所以为正数。中间8

2021-03-14 18:11:33 281

原创 为什么Integer a = 127,b = 127;时a==b为true,而Integer c = 128,d = 128;时a==b为false?

可以看到low为-128,即if条件需要i在-128和127之间,那么返回i+128作为整型数组 cache的下标,用来放在缓存中。这样也就是说任意一个相同数值的Integer的数,如果在-128和127之间,那么它们之间的内存地址是相同的。这也就解释了为什么Integer a=127,b=127时候a==b返回true。而如果if条件不满足则返回new Integer(i)。即如果 数在 -128到127之间 就返回池子中的对象。没有的话就创建其实如果问题是这样的话Integer a = new

2021-03-14 18:04:18 1010 1

原创 equals函数、hashCode函数、toString函数的作用

1.equals函数在什么地方在Object类中,写法与==一样,但是我们用的时候要重写这个equals方法String类型中的equals是复写好的2.equals函数的作用==号在比较两个引用类型时,比较的是两个引用是否指向的堆内存中的同一块地址equals比较的是两个对象的内容是否相等,对象的内容相等需要符合两个条件(1.对象的类型相同,可以使用instanceof操作符进行比较;2.两个对象的成员变量的值完全相同)3.复写equals函数class User(){public Str

2021-03-14 15:18:03 304

原创 为什么string被设置成不可更改的常量

1、 字符串池的需要字符串池(字符串内部池) 是在方法区域的特殊区域。当一个string被创建如果这个string已经在内存里面存在了,那个存在的string的引用被返回,而不是创建个新的对象和返回它的引用。2、 缓存哈希值在Java中,string的哈希值经常被用。举个例子,在HashMap中。保持不变,可以保证总是返回相同的哈希值。所以它可以被缓存而不用担心被改变。 这意味这不需要在使用的时候每次都计算哈希值。这将更高效。3、 使其他类的使用更加容易。4、 安全String 在很多java

2021-03-14 10:32:55 204

原创 string的特点

1.不变性不变性是指String对象一旦生成,则不能再对它进行改变。String的这个特性可以泛化成不变(immutable)模式,即一个对象的状态在对象被创建之后就不再发生变化。不变模式的主要作用在于,当一个对象需要被多线程共享,并且访问频繁时,可以省略同步和锁等待的时间,从而大幅提高系统性能。注意:不变性可以提高多线程访问的性能。因为对象不可变,因此对于所有线程都是只读的,多线程访问时,即使不加同步也不会产生数据的不一致,故减小了系统开销。由于不变性,一些看起来像是修改的操作,实际上都是依靠产生新

2021-03-14 10:29:32 1331

原创 常见的final修饰的类

final可以修饰类、成员变量和成员方法被final修饰的类,不能被继承被final修饰的方法,不能被重写被final修饰的成员变量,不能被重新赋值(接口中的成员变量默认为public static final修饰的静态常量)String类为final修饰类,不能被继承常见的final修饰类:1、java.lang包中包装类:Boolean,Character,Short,Integer,Long,Float,Double,Byte,Void(八大类型的包装类型加一个void)    字符串

2021-03-14 10:23:57 2072 1

原创 == 和 equals的 区别

在java中,equals和 == ** 的最大区别就是 (==)他是运算符java中的基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean他们之间的比较,应用双等号(==),比较的是他们的值。当使用==来判断两个变量是否相等的时候,如果两个变量是基本类型变量,且都是数值类型,则只要两个变量的值相等就返回true。2.复合数据类型(类)当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来

2021-03-14 10:20:52 93

原创 二分法查找

/**二分法查找的前提,是数组是一个有序数组。*/public class BinarySearch {public static void main(String[] args) { int[] arr = {1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,9

2021-03-14 10:17:03 358

原创 java跨平台的原理,jvm不可以跨平台的原因

因为java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种中间码-------字节码,然后不同的硬件平台上安装不同的java虚拟机(java)由jvm把字节翻译成所对应的硬件平台能够执行的代码。jvm:jvm在每个系统都不一样,所以不能跨平台。...

2020-12-24 11:52:03 282

原创 java创始人

java 创始人 :James Gosling, Java语言的创始人之一bai,SunMicrosystems公司副总裁

2020-12-22 19:49:55 367

原创 Java的几个版本

一、 Java SE(Java Platform,Standard Edition) Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。二、Java EE(Java Platform,Enterprise Edition) 这个版本以前称为 J2EE。企业版本帮助开发和部署可移植

2020-12-22 19:49:19 5279

原创 java语言特点

简单性、 面向对象、 分布式、 健壮性、 安全性、 体系结构中立、 可移植性 、解释型 、高性能 、 多线程、 开源 、跨平台 1.简单性:Java语言是C++语言的一个“纯净”版本。没有头文件、指针运算、结构、联合、操作符重载、虚基类等。 2.面向对象面向对象即面向数据。Java的面向对象特性与C++旗鼓相当,Java与C++的主要不同点在于多继承,在Java中,取而代之的是更简单的接口概念。 3.分布式Java有一个丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java

2020-12-22 19:48:47 304

原创 java跨平台原理

JAVA源代码->JAVA字节码->JVM解释执行我们写的JAVA源代码会被编译为字节码,然后被JVM虚拟机解释执行,我们可以看到JVM虚拟机在跨平台的过程中发挥了重要的作用,就是由它解释字节码并执行的,对应于 每一个平台都有一个JVM虚拟机,而字节码只有一份,windows的JVM虚拟机可以将字节码解释为能在windows平台上执行的指令并执行,Linux的JVM虚拟机可以将字节码解 释为能在Linux平台上执行的指令并执行,他们执行的字节码都是同一份。这样就实现了跨平台。...

2020-12-22 19:48:04 66

原创 jvm jre jdk他们有什么作用,之间的关系是什么。

JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心,具体的下文会详细说明。JRE :英文名称(Java Runtime Environment),我们叫它:Java 运行时环境。它主要包含两个部分,jvm 的标准实现和 Java 的一些基本类库。它相对于 jvm 来说,多出来

2020-12-22 19:44:45 216

原创 each的用法

each的用法//这是原生js对象 var arr =[1,5,6,"小","牙",true] // 将原生对象转换为jquery对象 :把原生对象用括号括起来 加上$即可 var $arr = $(arr) //每一个便利出来的元素都会执行一次callback函数 //i就是数组的角标 //a 就已经是遍历出来的元素 $arr.each(function(i,a){ console.info(a) })var arr = [ "one"

2020-12-18 08:26:51 955

原创 jquery

Jquery 层级选择器 有嵌套关系用层级选择器 ancestor descendant :在给定的祖先元素下匹配所有的后代元素 parent > child :在给定的父元素下匹配所有的子元素 prev + next :匹配所有紧接在 prev 元素后的 next 元素 prev ~ siblings :匹配 prev 元素之后的所有 siblings 元素 基础选择器 没有嵌...

2020-12-16 19:02:56 63

原创 杨辉三角

2020-12-13 21:30:35 79

原创 js 基础

js基础j s使用: 在 body head 中使用通过标签 document.writedocument: 文档write: 写入alert(b)弹窗输出内容alert(‘hello world’)confirm 确认弹窗 有确认和取消按钮 点击确认返回true点击取消按钮 会返回falsejs 注释 让大家更好地理解//单行注释{不影响代码,又可以注明代码的用途}/**这里是多行注释...

2020-12-13 21:28:01 442

原创 dom

查询浏览器兼容 https"//www.dom 的定义 文档对象模型当浏览器载入html文档,它就会成为document 对象document 作用 : 它能让我们可以访问 html 页面中的所有元素document.body 获取body元素document.cookie 获取cookiedocument.documentElement 获取HTML元素document.title 获取文档的标题常用方法创建一个元素jsdocument.creatElement(‘标签名

2020-12-13 21:24:24 283

空空如也

空空如也

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

TA关注的人

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