首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaSE基础 (全网最全知识点)

那么,一个对象改变了静态变量值,那么其他对象读取就是被改变值。...(也可以理解在写匿名内部类时候,是对接口实现/对父类方法重写) 使用场景:一个接口/类方法某个实现方式在程序中只会执行一次 优点:对于使用次数少方法,无需创造新类,减少代码冗余 缺点:...线程锁操作是对设置锁代码块等待、唤醒等操作。...此时先得到hash值得数先进该hash值数组下标,后面的数就以链表形式与前一个数连接,以此类推 二叉排序树 定义:每个节点左子树值小于该节点值,每个节点右子树值大于该节点值 平衡二叉树...这里补充一个知识点:自动装箱、自动拆箱(jdk5后新功能) 没有自动装/拆箱时,包装类运算: Integer i1 = new Integer(1); Integer i2 = new Integer

72210

动态代理,JavaSE最难懂知识点

刘小爱同时是很多明星经纪人,所以他参数为star接口,创建该类对象时候,需要传入star接口实现类。 找那个明星合作,创建刘小爱对象时说明就好了,这是面向接口编程核心思想。...我们使用是缓冲字符流,但是缓冲流底层是由字符流来执行,那么缓冲字符流就是字符流代理。...静态:代理类是创建了,比如例子中刘小爱 动态:代理类是不用创建 在Java里有一个类叫Proxy,翻译过来就是代理意思。...这是具体业务逻辑,根据不同需求编写不同代码,其它代码都是基本不变。...proxy 代理类LiuXiaoAi我们是没有创建,所以用是它父接口star来接受代理类对象,这是多态。

37910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JavaSE 】方法使用

    目录 前言 方法基本用法 定义语法 注意事项 实参和形参 方法重载 什么是重载 重载要解决问题 方法递归 什么是递归 递归执行过程分析 递归练习 总结递归特点 ---- 前言 ---- 本章我们主要讲解...: 方法基本用法 方法重载 方法递归 方法基本用法 简单来说方法:方法就是一个代码片段,类似于 C 语言中函数 存在意义: 能够模块化组织代码 做到让代码被重复使用,一份代码可以用在多个位置...(Java 中没有“函数声明”概念) 方法调用需要开辟栈帧,方法结束栈帧就随即结束 实参和形参 同样与C语言一样是:当方法被调用时,会将实参赋值给形参(一份临时拷贝) 示例: public...---- 什么是重载 定义:同一个方法名字相同,提供不同类型实现,称为重载 规则: 方法名相同 参数列表不同(参数个数或者参数类型不同) 返回值不作要求 重载要解决问题 示例:两个数据求和...->效率 3.调用栈可能会溢出,其实每一次函数调用会在内存栈中分配空间,而每个进程容量是有限,当调用层次太多时,就会超出栈容量,从而导致栈溢出。->性能

    26430

    JavaSE - 多态本质

    多态 **场景:**创建一个Animal类,有Dog和Cat类继承Animal类,并重写say( )方法,创建一个Woman类,该类有个Animal类型成员变量和一个pet( )方法调用对应say(...经发现,womanA.Pet();本质上调用是运行时类say()方法而不是引用类型say() 探究多态本质 - 动态绑定 Human human = new Man();虽然我们new对象是一个...Man()但是它调用却是Animal()Say()方法 package com.sukai.test01; public class Human { public static void...此时实际上在父类内部有一个指向Say( )方法指针,在程序运行期间,你new是哪个对象,指针就指向哪个对象Say( )方法,这就是动态绑定,通过这种动态绑定方式就可以实现多态了 ?...总结 总结动态绑定(多态):动态绑定是指在“执行期间”(而非编译期间)判断所引用实际对象类型,根据其实际类型调用其相应方法

    39610

    JavaSE总结

    JavaSE总结 java语法规则 字面量和常量 程序中固定不变化值。定义了就不能再去修改,比如:整数常量1,2,3,小数常量3.14,布尔常量false,true等。....相同数组类型 有序组成在一起 规则 /** * 数组:帮我们存放相同类型东西。...栈中存放是堆中地址 栈中存取速度要快于存储在堆中对应包装类实例对象。...注意点 同一个包中类名不能相同,不同包中名字是可以相同, 当同时调用两个不同包中相同类名类时,应该加上包名加以区别。因此,包可以避免名字冲突。...只有方法存在覆盖概念,字段没有覆盖. 什么时候进行方法覆盖 当父类某一个行为不符合子类具体特征时候,此时子类需要重新定义父类方法,并重写方法体. 方法重载和方法覆盖区别?

    38410

    JavaSE语法

    Java通过定义变量类型来规定变量内存空间大小,通过阶梯式定义,既有满足小数值运行byte类型,也有支持大数值运算long类型。...(就是多了一个表示数,计算机就特殊处理了) 4.2 数据变量&类型定义 变量是内存中一个存储区域。而数据类型定义决定了这块存储区域大小。...整这么弯弯绕绕!首先,我承认,面向对象思路相对于面向过程来说,是有一定难度。因为面向对象所思考问题和面向过程最大区别是问题复杂度程度完全不一致。...现在市场上大部分用都是面向对象,巨大市场需求催生了面向对象火爆,但究其根本只是一种软件开发思想,软件开发是没有银弹,若干年后,也一定会有更好更先进思维解决问题。...final int x =5; x=6;//报错 修饰引用类型变量,固定栈,不固定堆,也就是引用变量地址是不可变,但是引用地址指向堆中内容是可变

    80410

    JavaSE - 异常

    Throwable 总接口 Exception 运行时异常(RuntimeException) java.lang.NullPointException 空指针异常,出现原因:调用了未经过初始化对象...(尤其是原生数据类型)或者是不存在对象 2)java.lang.ClassNotFoundException 指定类找不到,出现原因:类名字和路径加载错误,通过程序通过字符串来加载某个类是时引发错误...java.lang.NumberFormatException 字符串转为数字异常,出现原因:字符串中包含非数字型 4)java.lang.IndexOutOfBoundsException 数组角标越界异常,出现原因:数组长度限制,常出现在遍历数组时候...org.apache.ibatis.binding.BindingException:Invalid bound statement(not found) batis中方法名绑定异常,出现原因:Mapper.xml中id...和Dao层接口中定义方法不一致 检查时异常(checkedException) 在日常编译过程中ide会提示报红错误,可以通过提示自己加try-catch捕获,常见有IO Exception

    69130

    JavaSE学习】Day1JavaSE环境配置

    前言         Java是一门面向对象编程语言,不仅吸收了C++语言各种优点,还摒弃了C++里难以理解多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。...Java语言作为静态面向对象编程语言代表,极好地实现了面向对象理论,允许程序员以优雅思维方式进行复杂编程 一、下载JDK 下载后点击安装即可。...java -version javac -version 所有操作如下图所示: 三、安装IDEA 下载 IntelliJ IDEA:JetBrains 功能强大、符合人体工程学...; } } 总结 以上就是本次文章内容,上述步骤一次执行就可以正确配置好JavaSE环境和编写第一个Java程序了,要是觉得小编写得不错了可以点点赞关注一下,不懂可以评论区留言一起讨论

    27610

    JavaSE学习】Day2 JavaSE基础语法

    系列文章目录         Day1 JavaSE环境配置         Day2 JavaSE基础语法         Day3 JavaSE数组         Day4 JavaSE...面向对象(上)         Day5 JavaSE面向对象(中)         Day6 JavaSE面向对象(下)         Day7 JavaSE面向对象          Day8... JavaSE异常处理         Day9 JavaSE多线程         Day10 JavaSE集合         Day11 JavaSE泛类         Day12 JavaSEIO...流         Day13 JavaSE反射 文章目录 前言 一、标识符 1.java关键字使用 2.标识符使用 二、代码使用 1.变量分类 2.定义变量格式: 3.变量使用注意点:...总结         本次文章是对JavaSE基础语法学习,看懂本次文章可以很好学好标识符、变量、条件语句、分支语句、循环语句等重要语句,如果觉得文章对您有帮助,可以点点关注和收藏,有疑问也可以在评论区一起讨论

    42520

    JavaSE异常

    JavaSE异常 一、异常概念 在Java中,将程序执行过程中发生不正常行为称为异常 常见逻辑异常: 算数异常 System.out.println(10 / 0); // 执行结果 Exception...注:finally中代码一定会执行,一般在finally中进行一些资源清理扫尾工作 关于异常处理方式 异常种类有很多, 我们要根据不同业务场景来决定 对于比较严重问题(例如和算钱相关场景...), 应该让程序直接崩溃, 防止造成更严重后果对于不太严重问题(大多数场景), 可以记录错误日志, 并通过监控报警程序及时通知程序猿 对于可能会恢复问题(和网络相关场景), 可以尝试进行重试 在我们当前代码中采取是经过简化第二种方式...我们记录错误日志是出现异常方法调用信息, 能很快速让我们找到出现异常位置....以后在实际工作中我们会采取更完备方式来记录异常信息 异常处理流程总结 程序先执行 try 中代码 如果 try 中代码出现异常, 就会结束 try 中代码, 看和 catch 中异常类型是否匹配

    29620

    JavaSE(三)

    变量就是指用来保存程序中某些特定值,而且在程序运行期间其值可以发生改变,将其就称之为变量。 ​    本质上变量可以当成是一个盒子,这个盒子可以用来存储一定值,方便后期快速定位使用这个值。...3.6.1 如何使用变量 例如: ​    要求计算圆面积。而公式则为 πr^2 ,假设 r = 5 ,此时 r 就是一个变量。 ​    不同大小盒子承载内容是不同。...声明变量格式则是:date_type name = value (数据类型 变量名 = 字面值) ​    tips:java中变量名要遵循驼峰原则--->首字母小写,其后每个单词首字母均大写。...转移字符对应英文是escape character  , 转义字符串(Escape Sequence)。 ​    字母前面加上捺斜线""来表示常见那些不能显示ASCII字符,称为转义字符。...三、数据类型转换: 1.自动类型转换 2.强制类型转换

    41110

    JavaSE笔记

    内存分析 Java虚拟机内存可以分为三个区域:栈stack、堆heap、方法区method area 栈特点 栈描述是方法执行内存模型。...多态好处:提高了程序扩展性 具体体现:定义方法时候,使用父类型作为参数,将来在使用时候,使用具体子类型参与操作 多态弊端:不能使用子类特有功能 多态转型 向上转型 Animal a...类名作为形参和返回值 方法形参是类名,其实需要是该类对象 方法返回值是类名,其实返回是该类对象 抽象类名作为形参和返回值 方法形参是抽象类名,其实需要是该抽象类子类对象 方法返回值是抽象类名...,其实返回是该抽象类子类对象 接口名作为形参和返回值 方法形参是接口名,其实需要是该接口实现类对象 方法返回值是接口名,其实返回是该接口实现类对象 内部类 在类中定义一个类 访问特点 内部类可以直接访问外部类成员...它可以是存在,也可以是不存在。将来是要通过具体操作把这个路径内容转换为具体存在

    1.3K21

    JavaSE(一)

    汇编语言:通过各种各样助记符来完成一些常见操作,比如add 代表是 加法、load代表加载等等,通过这些指令完成代码编写,然后通过计算器将指令转为对应机器码,完成当前功能。...整个过程中需要记忆大量助记符,也不太利于编写以及维护。 高级语言:通过人习惯自然语言进行编写,比较利于后期维护和编码。...但是同样在执行过程中需要一个逆推过程,所以效率同比汇编以及机器而言较差。...语言在整个过程中通过不同维度可以进行不同分类: 按照看待问题角度不同: 面向对象和面向过程中 按照当前语言对于数据类型强度不同:强类型和弱类型语言 1.3 单位换算问题 1b 一位 8b...2.1.3 java体系结构和分类 JavaSE: java基础版本 包含了一些java基础性知识。(目前) JavaEE:企业开发版本,以后Web应用程序都是通过这个方向lib库进行编写

    54830

    JavaSE(二)

    ASCII码划分为两个集合:128个字符标准ASCII码和附加128个字符扩充和ASCII码。...正确方式就是将123每位上数字转换为其相应ASCII码,然后传送。这里'1'、'2'和'3'对应ASCII码用16进制表示,分别为0x31、0x32和0x33。...UTF是unicode传送码,即unicode编码后编码。UTF编码方法很简单,用算术表达式计算就可以了,看3字节utf-8数据没有意思。...编程上乱码就是出现错误,在应用程序上显示不出来,通俗来说就是你应用识别不了你代码,你看到是一堆乱七八糟编码。相当于用两本不同字典寻找同一页码位置上显示符号内容,就会出现错误,变成乱码。...因为windows操作系统上cmd命令行用编码是ANSI,所以在上面编译和运行程序时候要使用相同字符集。 ?

    69920

    JavaSE】异常

    异常介绍 异常,顾名思义,就是指非正常,在预期之外情况。 生活中:比如邮寄一个快递可收件人联系不上,这就是生活中一个异常。...注意:异常指的是在程序运行中出现错误,而不是语法问题导致编译错误。 异常分类 在Java面向对象世界中,异常当然也是对象,众多异常对象就描述了各种不同异常情况。...这里错误往往代表JVM在运行过程中出了问题,比如:栈溢出错误、内存不足错误 Exception类即其子类是指程序中可以处理异常,我们平时最常打交道就是这种异常。...,而你上级碰到问题时,也会面临同样选择:要么他自己解决,要么他将问题抛给更上级。...//要是你没有捕捉异常,你就会被保安打到shi(程序终止) 使用情况 如果遇到了会影响正常逻辑情况,基本就这三大类处理方式 知道各个方式特点后,其实就能根据自己需求,来做响应处理了。

    35820

    JavaSE】内部类分类

    基本介绍 一个类内部又完整嵌套了另一个类结构。被嵌套类称为内部类(inner class),嵌套其他类类称为外部类(outer class)。...类第五大成员,内部类最大特点就是可以直接访问私有属性,并且可以体现类与类之间包含关系。 后面看底层源码,有大量内部类。...类五大成员:【属性、方法、构造器、代码块、内部类】 [在这里插入图片描述] 2....m1()"); } {//代码块 System.out.println("代码块"); } class Inner {//内部类,在 Outer 类内部...内部类分类 定义在外部类局部位置上(比如:方法内/代码块内) 1)局部内部类(有类名) 2)匿名内部类(没有类名) 定义在外部类成员位置上(比如:方法内/代码块内) 1)成员内部类(没有用 static

    24220

    JavaSE内部类

    前言 在学习Java过程当中,不难发现Java全是由类与对象构成,所以在一个类当中定义和使用一个另外一个类是我们学习过程中必须要学会使用,而这种类,被称之为内部类。...实例内部类 class A{ void a(){ } class B{ void a(){ } } } 一般情况下,不能有static修饰属性方法...(使用static final 可以修饰属性,final修饰常量在编译时已经确定); 实例化实例内部类:  外部类名.内部类名 变量名 = 外部类对象引用.new 内部类名();                                          ...public void a1(){} } //在某个main方法中 new B(){ @override public void a1(){} }.a1(); 在匿名内部类当中,使用变量是不可以被改变过...结语 关于内部类,以上就是今天内容,本文仅仅简单介绍了一下。 这篇博客如果对你有帮助,给博主一个免费点赞以示鼓励,欢迎各位点赞评论收藏⭐,谢谢!!! 如果有什么疑问或不同见解,欢迎评论区留言哦。

    14640
    领券