12 2023 档案
摘要:说说自增自减运算? 看下这几个代码运行结果? ++和--运算符可以放在变量之前,也可以放在变量之后。 当运算符放在变量之前时(前缀),先自增/减,再赋值;当运算符放在变量之后时(后缀),先赋值,再自增/减。例如,当 b = ++a 时,先自增(自己增加 1),再赋值(赋值给 b);当 b = a++
阅读全文
摘要:什么是自动拆箱/封箱? 装箱 :将基本数据类型用它们对应的引用类型包装起来; 拆箱 :将包装类型转换为基本数据类型; Java可以自动对基本数据类型和它们的包装类进行装箱和拆箱。
阅读全文
摘要:自动类型转换、 强制类型转换? 看看这几行代码? Java 所有的数值型变量可以相互转换,当把一个表数范围小的数值或变量直接赋给另一个表数范围大的变量时,可以进行自动类型转换;反之,需要强制转换。 这就好像,小杯里的水倒进大杯没问题,但大杯的水倒进小杯就不行了,可能会溢出。
阅读全文
摘要:需要注意一下,对于布尔类型: 如果 boolean 是单独使用(在编译之后使用 Java 虚拟机中的 int 数据类型来代替),则占 4 个字节;如果 boolean 是以“boolean数组”的形式使用,则占 1 个字节(不过 Java 规范对 boolean 占用的内存空间没有明确的规定,不同的
阅读全文
摘要:为什么说 Java 语言“编译与解释并存”? 高级编程语言按照程序的执行方式分为编译型和解释型两种。 编译型语言是指编译器针对特定的操作系统将源代码一次性翻译成可被该平台执行的机器码。 解释型语言是指解释器将源代码逐行解释成特定平台的机器码并立即执行。 Java 语言既具有编译型语言的特征,也具有解
阅读全文
摘要:什么是字节码? 采用字节码的好处是什么? 所谓的字节码,就是Java程序经过编译之后产生的.class文件,字节码能够被虚拟机识别,从而实现Java程序的跨平台性。 Java 程序从源代码到运行主要有三步: 编译 :将源代码(.java)编译成虚拟机可以识别理解的字节码文件(.class);解释 :
阅读全文
摘要:什么是Java的跨平台性?原理是什么? 所谓跨平台性,是指Java语言编写的程序,一次编译后,可以在多个系统平台上运行。实现原理:Java 程序其实是运行在JVM (Java虚拟机) 上的,使用 Java 编译器编译 Java 程序时,生成的是与平台无关的字节码,这些字节码只面向 JVM。不同平台的
阅读全文
摘要:JVM:Java Virtual Machine,Java虚拟机,Java程序运行在Java虚拟机上。针对不同系统(Windows,Linux,macOS)的实现不同的JVM,因此Java语言可以实现跨平台。JRE:Java Runtime Enviroment,Java 运行时环境。 是运行基于
阅读全文
摘要:面向对象(封装,继承,多态);编译与解释并存;平台无关性,平台无关性的具体表现在于,Java 是“一次编写,到处运行”的语言,因此采用 Java 语言编写的程序具有很好的可移植性,而保证这一点的正是 Java 的虚拟机机制。在引入虚拟机之后,Java 语言在不同的平台上运行不需要重新编译。支持多线程
阅读全文
摘要:接口 在Java中接口不仅仅是程序开发过程中“约定”,更是更加抽象化的抽象类。 接口的声明语法: [修饰符] interface 接口名{[常量];[抽象方法];} 接口实现的语法: [修饰符] class 类名 [extends 父类名] [implements 接口1,接口2,……]{类体部分}
阅读全文
摘要:抽象类抽象类的概念:Java中可以定义没有方法体的方法,该方法的具体实现由子类完成,该方法称为抽象方法,包含抽象方法的类就是抽象类。如:Shape类计算周长和面积的方法无法确定,那么就可以将这样的方法声明为抽象的,以便在具体的子类中进行实现。 抽象类的声明: [修饰符] abstract class
阅读全文
摘要:Java只支持单继承,不支持多继承。一个类只能有一个父类,不可以有多个父类。Java支持多层继承(继承体系)。Java继承了父类非私有的成员变量和成员方法,但是请注意:子类是无法继承父类的构造方法的。 注意:不要仅为了获取其他类中某个功能而去继承 ,类与类之间要有所属(“is a” )关系 方法的重
阅读全文
摘要:封装 封装指隐藏对象的状态信息(属性),不允许外部对象直接访问对象的内部信息(private实现)。但是可以提供一些可以被外界访问的方法来操作属性。 将类中成员变量private,提供public的get和set方法来控制属性的存取动作,以保证对私有属性操作的安全性: 继承 继承extends:多个
阅读全文
摘要:final关键字: final 关键字,意思是最终的、不可修改的,最见不得变化 ,用来修饰类、方法和变量,具有以下特点: 修饰类:类不能继承,final 类中的所有成员方法都会被隐式的指定为 final 方法;修饰符变量:该变量为常量,,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;
阅读全文
摘要:super关键字:super代表的是父类对象, 使用方式:super.属性名、super.方法名();用于在子类中调用父类被隐藏的同名实例变量super([参数列表])用于在子类的构造方法中调用父类的构造方法 每一个子类的构造方法在没有显示调用super()系统都会提供一个默认的super(),su
阅读全文
摘要:静态内部类(static 修饰类的话只能修饰内部类): 静态内部类与非静态内部类之间存在一个最大的区别: 非静态内部类在编译完成之后会隐含地保存着一个引用,该引用是指向创建它的外围类,但是静态内部类却没有。没有这个引用就意味着:1. 它的创建是不需要依赖外围类的创建。2. 它不能使用任何外围类的非
阅读全文
摘要:static关键字: 静态变量: 使用static修饰的成员变量叫做静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。stati
阅读全文
摘要:对象与类对象:客观存在能够相互区分的个体,比如这辆汽车、这个人、这间房子、这张桌子、这株植物、这张支票、这件雨衣。概括来说就是:万物皆对象。 类:若干具有相同属性和行为的对象的群体或者抽象,类是创建对象的模板,由属性和行为两部分组成 类是对象的概括或者抽象,对象是类的实例化。
阅读全文
摘要:Java EE 以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented arch
阅读全文
摘要:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
阅读全文
摘要:Spring为什么可以解决set + singleton模式下循环依赖? 根本的原因在于:这种方式可以做到将“实例化Bean”和“给Bean属性赋值”这两个动作分开去完成。 实例化Bean的时候:调用无参数构造方法来完成。此时可以先不给属性赋值,可以提前将该Bean对象“曝光”给外界。
阅读全文
摘要:Layui的设计理念是简洁、直观和高效,旨在提供轻量级且易于上手的前端解决方案。它提供了丰富的UI组件,如按钮、表格、表单、导航、分页等,以及强大的模块化功能,例如弹层、日期选择器、上传组件等。使用Layui,你可以轻松构建出具有现代化风格和友好交互的Web界面。 Layui还提供了灵活的扩展机制,
阅读全文
摘要:Layui 属于轻量型框架,采用自身极简的模块化规范,并遵循原生 HTML/CSS/JS 的开发模式,极易上手,开箱即用。但是这也就意味着虽然 layui 框架很容易操作,但也不是一点门槛都没有。在学习 layui 之前我们需要先学习 HTML、CSS 和 JavaScript 的基础知识,最好是达
阅读全文
摘要:JSP 和 Servlet 是本质相同的技术。当一个 JSP 文件第一次被请求时,JSP 引擎会将该 JSP编译成一个 Servlet,并执行这个 Servlet。如果 JSP 文件被修改了,那么 JSP 引擎会重新编译这个 JSP。 JSP 引擎对 JSP 编译时会生成两个文件分别是.java 的
阅读全文
摘要:JSP页面本质上是一个servlet程序,第一次访问JSP页面时(运行Tomcat服务器后在浏览器地址栏输入路径),Tomcat服务器会将此JSP页面翻译成为一个Java源文件,并对其进行编译成为.class字节码文件
阅读全文