javase
文章平均质量分 63
心之所向...
这个作者很懒,什么都没留下…
展开
-
java学习完整路线
https://jingyan.baidu.com/article/c1a3101e110864de656deb83.html原创 2019-08-12 16:48:41 · 175 阅读 · 0 评论 -
hashCode()方法和equals()区别与联系
一、hashCode()和equals()是什么?hashCode()方法和equals()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致。二、hashCode()和equals()的区别下边从两个角度介绍了他们的区别:一个是性能,一个是可靠性。他们之间的主要区别也基本体现在这里。1、equals()既然已经能实现对比的功能了,为什么还要hashCode()呢?...原创 2019-05-22 16:14:04 · 574 阅读 · 0 评论 -
Date、DateFormat、Calendar之间的联系与区别
在计算机世界,我们把1970 年 1 月 1 日 00:00:00定为基准时间,每个度量单位是毫秒(1秒的千分之一)System.currentTimeMillis(); //得到现在时间减去基准时间的毫秒数Date类Date类(java.util)。它的对象表示一个特定的瞬间,精确到毫秒。构造方法源码:public Date() { this(System.current...原创 2019-05-28 22:45:58 · 1729 阅读 · 0 评论 -
java异常与error
异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。异常机制本质就是当程序出现错误,程序安全退出的机制。Java是采用面向对象的方式来处理异常的。处理过程:1. 抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给JRE。2. 捕获异常:JRE得到该异常后,寻找相应的代码...原创 2019-06-03 21:28:13 · 463 阅读 · 0 评论 -
java跨平台原理
一句话解释java跨平台原理:在不同的平台上安装不同版本的jvm,jvm可以运行java源文件编译好的.class文件,从而达到跨平台的目的。不同平台指:windows系统、Linux系统、Mac系统等.class文件:就是字节码文件Java运行过程• Java程序的运行分为两步:先编译再解释执行• 通过“编译器”将Java源程序编译成Java 字节码文件(.class)(字节码...原创 2019-09-02 19:01:45 · 316 阅读 · 0 评论 -
java中的枚举类型
先说一下枚举的一些相关概念。枚举是JDK1.5引入的。所有的枚举类型隐性地继承自 java.lang.Enum。枚举实质上还是类!还是会被编译成字节码文件而每个被枚举的成员实质就是一个枚举类型的实例,他们默认都是public static final修饰的。可以直接通过枚举类型名使用它们。例如:enum Season { SPRING, SUMMER, AUTUMN, WIN...原创 2019-09-16 18:03:18 · 189 阅读 · 0 评论 -
int i=3; i=i++; System.out.println(i);结果是3?
我相信有很大一部分人(特别是一些自学java的),认为i++是先赋值再加;或则++i是先加再赋值。例如:int b = a++; //先给b赋值,再自增。b = ++a; //a先自增,再给b赋值但是遇到这个题呢?int i=3; i=i++; System.out.println(i);打印结果是?相信有一部分人的答案会是:4.理由就是:i++,先赋值,所以i=3,再++...原创 2019-09-05 18:55:36 · 3042 阅读 · 1 评论 -
java 产生随机数的四种方式
直接见代码吧!!public static void main(String[] args) { /* * Math类 * 产生规定范围内的整数 如[40,50} * 方法:(int)(Math.random()*(最大值-最小值))+最小值 */ System.out.println((int)(Math.random()*(50-40))+40); ...原创 2019-09-20 19:43:08 · 281 阅读 · 0 评论 -
包装类(整型,Char)的缓存问题
public class Test { public static void main(String[] args) { Integer f1 = 100, f2 = 100, f3 = 150, f4 = 150; System.out.println(f1 == f2); System.out.println(f3 == f4); ...原创 2019-07-20 11:42:45 · 280 阅读 · 0 评论 -
javase之Arrays类
JDK提供的java.util.Arrays类,包含了常用的数组操作,方便我们日常开发。Arrays类包含了:排序、查找、填充、打印内容等常见的操作。打印数组: Arrays.toString(a)此处的Arrays.toString()方法是Arrays类的静态方法,不是Object中的toString()方法。String[] str = {"阿里","百度","京东","搜狐","网易"};System.out.println(Arrays.toString(str));.原创 2021-07-05 10:52:58 · 94 阅读 · 0 评论 -
数组的拷贝,删除和扩容
数组的拷贝,删除和扩容都可以使用System类中的一个arraycopy方法来实现。/***src:源数据--数组*srcPos:指定从src数组的第几个元素开始赋值* dest:被赋值的数组* destPos:指从dest数组的那个位置开始赋值* length:指定将src数组的多少个元素赋给dest数组的元素*/public static native void arraycopy(Object src,intsrcPos,...原创 2021-07-05 10:49:27 · 153 阅读 · 0 评论 -
javase之数组
定义: 数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。数组的三个基本特点: 1. 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。 2. 其元素必须是相同类型,不允许出现混合类型。 3. 数组类型可以是任何数据类型,包括基本类型和引用类型。 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因...原创 2021-07-05 10:43:32 · 187 阅读 · 0 评论 -
javase之内部类
定义:把一个类放在另一个类的内部定义,称为内部类(innerclasses)。内部类可以使用public、default、protected 、private以及static修饰。而外部顶级类(我们以前接触的类)只能使用public和default(final、abstract)修饰。注意:内部类只是一个编译时概念,一旦我们编译成功,就会成为完全不同的两个类。Outer.class和Outer$Inner.class两个类的字节码文件。所以内部类是相对独立的一种存在,其成员变..原创 2021-07-05 10:37:02 · 93 阅读 · 0 评论 -
java之抽象类
抽象类: 包含抽象方法的类就是抽象类。通过abstract方法定义规范,然后要求子类必须定义具体实现。通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。(为子类提供统一的、规范的模板。)抽象类的使用要点: 1. 有抽象方法的类只能定义成抽象类 2. 抽象类不能实例化,即不能用new来实例化抽象类。 3. 抽象类可以包含属性、方法、构造方法。但是构造方法不能用来new实例,只能用来被子类调用。 4. 抽象类只能用来被继承。...原创 2021-06-29 19:22:17 · 1024 阅读 · 1 评论 -
java之多态
多态:同一个方法调用,由于对象不同可能会有不同的行为。(编译和运行时类型不一致;编译看左边是什么类型,运行看右边是什么类型)就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。多态的要点: 1. 多态是方法的多态,不是属性的多态(多态与属性无关)。 2. 多态的存在要有3个必要...原创 2021-06-29 19:14:17 · 200 阅读 · 2 评论 -
java之继承
继承:实现了代码的重用,不用再重新发明轮子。继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。继承要点:1.父类也称作超类、基类、派生类等。2.Java中只有单继承,没有像C++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。3.Java中类没有多继承,接口有多继承。4.子类继承父类,可以得到父类的全部属性和方法 (除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属原创 2021-06-29 19:11:51 · 85 阅读 · 1 评论 -
java之参数传值机制
参数传值机制: Java中,方法中所有参数都是“值传递”,也就是“传递的是值的副本”。也就是说,我们得到的是“原参数的复印件,而不是原件”。因此,复印件改变不会影响原件。· 基本数据类型参数的传值 传递的是值的副本。副本改变不会影响原件。基本数据类型的存储原理:所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的内存栈上的。· 引用类型参数的传值 传递的是值的副本。但是引用类型指的是“对象的地址”。因此,副本和原参数都指向了同一个“地址”,改变“副本原创 2021-06-29 12:39:19 · 266 阅读 · 0 评论 -
java关键字之static
static的含义: 在类中,用static声明的成员变量为静态成员变量,也称为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。它有如下特点: 1. 为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化。 2. 对于该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享!! 3. 一般用“类名.类属性/方法”来调用。(也可以通过对象引用访问静态成员但不建议。因为最终都是类名去调用的) 4. 在static方法中不可直接访...原创 2021-06-29 12:36:40 · 270 阅读 · 0 评论 -
java关键字this
对象创建的过程:构造方法是创建Java对象的重要途径,通过new关键字调用构造器时,构造器也确实返回该类的对象,但这个对象并不是完全由构造器负责创建。创建一个对象分为如下四步: 1. 分配对象空间,并将对象成员变量初始化为0或空 2. 执行属性值的显示初始化 3. 执行构造方法 4. 返回对象的地址给相关的变量this的本质:就是“创建好的对象的地址”! 由于在构造方法调用前,对象已经创建。因此,在构造方法中也可以使用this代表“当前对象” 。thi原创 2021-06-29 12:32:40 · 114 阅读 · 3 评论 -
java对象与类
面向过程和面向对象:面向过程(Procedure Oriented)和面向对象(Object Oriented,OO)都是对软件分析、设计和开发的一种思想,它指导着人们以不同的方式去分析、设计和开发软件。面向过程:C语言是一种典型的面向过程语言;它强调步骤。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象:是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为原创 2021-06-23 18:36:41 · 126 阅读 · 1 评论 -
java之重载、重写
重载(Overload):指一个类中可以定义多个方法名相同,但参数不同的方法。调用时,会根据不同的参数自动匹配对应的方法。重载的方法,实际是完全不同的方法,只是名称相同而已!构成方法重载的条件: 1.不同的含义:形参类型、形参个数、形参顺序不同 2.只有返回值不同不构成方法的重载 如:inta(Stringstr){}与voida(Stringstr){} //报错 3.只有形参的名称不同,不构成方法的重...原创 2021-06-23 18:34:47 · 1914 阅读 · 0 评论 -
java选择之switch
switch语句:只允许使用可转换为int的值、字符串/字符或枚举变量,以及byte、short、int、char相应的包装类型;case标签在JDK1.5之前必须是整数(long类型除外);在JDK1.7之后允许使用字符串(String)。为什么就支持String了?原因:底层是直接将字符串变为hashcode的,最终还是数字。可通过反编译验证,实例代码如下:switch(str.hashCode()) {case 3321: if (str.equals("ha")) { .原创 2021-06-23 18:33:14 · 240 阅读 · 1 评论 -
java算术运算符
算术运算符优先级表:注意点: 整数运算: 1. 如果两个操作数有一个为Long, 则结果也为long。 2. 没有long时,结果为int。即使操作数全为char,short,byte,结果也是int。 浮点运算: 1. 如果两个操作数有一个为double,则结果为double。 2. 只有两个操作数都是float,则结果才为float。 逻辑运算符: ...原创 2021-06-23 18:29:00 · 450 阅读 · 0 评论 -
java类型转换
自动类型转换:指的是容量小的数据类型可以自动转换为容量大的数据类型。如下图:黑色的实线表示无数据丢失的自动类型转换,而虚线表示在转换时可能会有精度的损失。强制类型转换:又被称为造型,用于显式的转换一个数值的类型。在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。当将一种类型强制转换成另一种类型,而又超出了目标类型的表数范围,就会被截断成为一个完全不同的值。常见面试题: char 不能和byte、short 相互自动转换为什么?原创 2021-06-23 18:24:32 · 150 阅读 · 1 评论 -
java数据类型
Java是一种强类型语言。 • 常量是有数据类型的 • 变量必须声明其数据类型数据类型分类: 8大基本数据类型:引用数据类型的大小统一为4个字节,记录的是其引用对象的地址! boolean 0字节 1bit(true、false) char 2字节 16bit(0 ~65535) float 4字节 32bit(3.4e-038 ~3.4e+038) dou...原创 2021-06-23 18:16:26 · 99 阅读 · 2 评论 -
java变量及常量
变量本质:就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。Java变量是程序中最基本的存储单元。其要素包括变量名、变量类型和作用域。变量分类:局部变量在使用前必须先声明、初始化(赋初值)再使用。类变量:使用static定义。从属于类,生命周期伴随类始终,从类加载到卸载。如果不自行初始化,与成员变量相同会自动初始化成该类型的默认初始值。 intString...原创 2021-06-23 18:13:46 · 172 阅读 · 1 评论 -
java注释、标识符、字符集
注释主要分为单行注释、多行注释和文档注释:示例:单行注释://// ClientGlobal.init(CONF_FILENAME);多行注释 :/* *//*ClientGlobal.init(CONF_FILENAME);TrackerClient tracker = new TrackerClient();*/注意:多行注释不能嵌套使用。文档注释:以“/**”开头以“*/”结尾,注释中包含一些说明性的文字及一些Javadoc标签(后期写项目时,可以...原创 2021-06-23 18:11:16 · 242 阅读 · 1 评论 -
java入门了解、安装jdk及软件的选择
学习编程,一些必要的dos命令还是需要掌握的。以下只是列出常用的; cd 目录路径:进入一个目录cd..进入父目录dir查看本目录下的文件和子目录列表cls清除屏幕命令上下键 查找敲过的命令Tab键 自动补齐命令Java的三个版本: JAVASE:Java的标准版本 (Java2 Standard Edition) 定位在客户端,主要用于桌面应用软...原创 2021-06-23 18:06:26 · 366 阅读 · 0 评论 -
java特点了解及JDK初谈
java特性: 1.跨平台:主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。 2.简单:相比与C、C++不再有#include 和#define 等预处理功能、不再有指针、不再有多重继承、不再有手动内存管理。。。 3.安全:Java取消了强大但又危险的指针、 Java提供了自动内存管理机制,由垃圾回收器在后台自动回收、 Java在字节码的传...原创 2021-06-23 17:12:45 · 254 阅读 · 0 评论 -
深入了解String、StringBuffer、StringBuilder之间的区别与联系
前言来说说为什么要讲String、StringBuBuffer、StringBuilder,相信正在求职的小伙伴们一定对这个问题耳熟能详,一般这三个类在面试时百分之八十的面试官会拿这个问题,并且在实际开发中灵活运用和区分这三个类更是为我们的开发省了不少时间,所以把它们理解透彻会对你的java之路大有裨益。String介绍 String类又称作不可变字符序列,本质就是一个字符串常量,是Java中基础且重要的类,用法广细节多。位于java.lang包中,Java程序默认就会导入java.lang包下的原创 2020-05-13 10:28:48 · 304 阅读 · 0 评论 -
#聊聊java中的异常及使用
前言在编程中异常报错是不可避免的。特别是在学习某个语言初期,看到异常报错就抓耳挠腮,常常开玩笑说编程1分钟,改bug1小时。今天就让我们来看看什么是异常和怎么合理的处理异常吧!异常与error介绍下面还是先让我们来看一下基本概念吧! 异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。异常机制本质就是当程序出现错误,程序安全退出的机制...原创 2020-04-21 18:22:12 · 272 阅读 · 0 评论 -
今天我们来谈谈javaSE中的==和equals的联系与区别
前言==和equals是我们面试中经常会碰到的问题。那么它们之间有什么联系和区别呢?今天我们就来聊聊吧!问题这里先抛出一些比较典型笔试问题:int x = 10;int y = 10;String str1 = new String("abc");String str2 = new String("abc");String str3 = "abc";String str...原创 2020-06-01 21:06:37 · 209 阅读 · 0 评论 -
JAVA入门
java简述java语言历史java是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言,是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。近几年java都是官方排名第一的高级语言。可以用它来做软件、web网站、微信小程序等后台开发。同时java简单易学,...原创 2020-04-17 16:20:54 · 327 阅读 · 0 评论