java
一纸折鸢。
陈帆
展开
-
JVM概述
JVM 所谓虚拟机(Virtual Machine),就是一台虚拟的计算机。它是一款软件,用来执 行一系列虚拟计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。jvm作用以及特点 Java 虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对 应平台上的机器码指令执行,每一条 java 指令,java 虚拟机中都有详细定义 .特点: 一次编译到处运 自动内存管理原创 2021-09-14 17:14:27 · 102 阅读 · 1 评论 -
EL ,JSTL
一、EL1.什么是EL表达式2.EL表达式的特点3.EL表达式的方法二、JSTL1.什么是JSTL2.JSTL环境搭建3.条件标签4.迭代标签(1)循环数组(2)循环列表5.格式化日期一、EL1.什么是EL表达式简化页面代码在JSP开发中对对象的引用用来获得四个作用域对象中的属性2.EL表达式的特点EL表达式可以包含获取对象中的数据,自动类型转换,并且输出获取数据强制类型转换响应输出数据3.EL表达式的方法只可完成加减法不可与字符串一起加减${str1+str原创 2021-07-14 17:39:03 · 104 阅读 · 0 评论 -
Servlet简单整理(javaWeb)
一、Servlet1.什么是Servlet2、servlet生命周期是什么(1)服务器启动时创建(2)初始化(3)提供服务器(4)关闭3.get和post请求的区别是什么4.什么是请求转发和重定向(1)请求转发request(2)重定向response(3)请求转发和重定向的区别二、JSP1.jsp和servlet的联系与区别2.说一说静态包含和动态包含的区别3.九大内置对象是什么?4.Session(1)什么是Session对象?(2)session对象的原理是什么?原创 2021-07-14 17:35:29 · 94 阅读 · 0 评论 -
throw和throws的区别
throws和throw异常类型:throw表示抛出的异常的实例,throw (异常对象)throws表示抛出的异常的类型,[修饰符] 返回值类型 方法名 ([参数列表])[throws 异常类 ],异常类可以声明多个,用逗号分割。使用的位置:throw出现在方法体throws出现在方法参数列表的后面使用方式:throw要么和try-catch-finally语句配套使用捕获异常,要么与throws配套使用抛出异常。throws由处理异常的方法捕获作用不同:throw用于自行产出并抛出原创 2021-03-13 16:47:33 · 102 阅读 · 0 评论 -
java 异常
异常异常的概念异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。Java程序在执行过程中所发生的异常(运行时一切不正常情况)事件可分为两类: Error: Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。一般不编写针对性的代码进行处理。 Exception: 其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。例如:访问数组下标越界,试图读取不存在的文件,网络连接中断等等public static void原创 2021-03-13 16:46:04 · 74 阅读 · 0 评论 -
final
final关键字final 修饰 属性,方法,类,方法参数•属性:定义就必须直接赋值或者在构造方法中进行赋值,并且后期都不能修改。•方法:子类里不可被覆盖。•类:不能被定义为抽象类或是接口,不可被继承。•对参数做final修饰 在方法参数前面加final关键字,为了防止数据在方法体中被修改。//final 用于声明属性,方法,方法的参数和类//final修饰类,不能被定义为抽象类或是接口,不可被继承。public final class FinalDemol { stati原创 2021-03-13 16:43:07 · 66 阅读 · 0 评论 -
java 多态
多态多态:同一种事物,在不同时刻表现不同的状态多态存在的三个必要条件:–要有继承(包括接口的实现)(前提条件)–要有重写(前提条件)–父类引用指向子类对象public abstract class Animal { //成员方法 public abstract void sleep(); public abstract void eat(); //静态方法 public static void teststatic(){ S原创 2021-03-13 16:41:32 · 54 阅读 · 0 评论 -
java 接口
接口抽象类: 包含抽象方法,非抽象.接口: 理解为是一个纯粹的抽象类 接口中定义抽象方法作为上层的设计需要,设计功能.特性:–接口不可以被实例化–实现类必须重写接口的所有方法–实现类可以实现多个接口–接口中的变量都是静态常量 /* 接口是特殊的抽象类 interface关键字修饰的是接口 一个接口可以继承多个接口 * */public interface Animal { //接口修饰的属性是一个常量 // 默认属原创 2021-03-13 16:40:17 · 54 阅读 · 0 评论 -
抽象类
抽象类如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法。用abstract修饰的类就是抽象类。如果某个类中包含有抽象方法,那么该类就必须定义成抽象类。特点:抽象类不能被实例化,但可以有构造函数,因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。抽象类只能用作基类,表示的是一种继承关系。继承抽象类的非抽象类必须实现其中的所有抽象方法,而已实现方法的参数、返回值要和抽象类中的方法一样。否原创 2021-01-15 20:15:42 · 85 阅读 · 0 评论 -
关联与依赖
关联,依赖public class Connect { // 关联 has的关系 一个类做为另一个类的属性类型存在(另一个类用来做属性) private Dog dog; // 单向关联 一对一 private Dog[]doo; //单向关联 一对多 //依赖 use的关系 一个类使用了另外一个类(另一个类用来做方法参数) public void dog(Dog d){ System.out.println(d); }}原创 2021-01-15 20:14:38 · 110 阅读 · 0 评论 -
继承
继承继承是面向对象程序设计不可缺少的设计思想,是实现代码可重用的根基,是提高代码可扩展性的主要途径。继承是从已有的类中派生出新的类,新的类能吸收已有类的属性和行为,并能扩展新的能力。–在JAVA中使用extends关键字来表示继承关系。–JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一个直接父类。–继承之后子类可以调用父类的所有非私有属性和非私有方法/* * 用 extends 表示继承 * java 中只能直接继承一个父类 * 继承后子类能直接调用父类的非私有的内原创 2021-01-15 20:13:46 · 81 阅读 · 0 评论 -
java 封装
封装/* 封装: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问 封装的好处: 只能通过规定方法访问,隐藏类的实现细节,方便加入控制语句,方便修改实现**/public class Packaging { //通过访问权限修饰符进行封装 private String name;//隐藏name public void getName() { name = "周周";原创 2021-01-15 20:12:34 · 63 阅读 · 0 评论 -
访问权限修饰符
访问权限修饰符 /*访问权限修饰符public 修饰类,属性,方法 都能被访问protected 修饰属性,方法 在同一包内可以被访问,或者在不同包不同类中继承了父类,也可以被访问(default)默认 修饰属性,方法 在同一包内可以被访问private 修饰类,属性,方法 只能在同一个包中的同一个类中被访问*/ public int pub; protected double pro;原创 2021-01-15 20:11:14 · 387 阅读 · 0 评论 -
java中的包
包的概念:就是文件夹包的作用:避免类重名,按照不同功能管理类,控制访问权限// 包的地址package com.ff.javaoop.day3;/*若要用其他包里的内容,则需要 import 来导入 若导入的不同包的类名相同,自第二个开始需要使用全类名来调用(import用不成了)*/import java.util.Date;//全类名:包名+类名的简称public class Car { Date c=new Date(); java.sql.Date v原创 2021-01-15 20:09:50 · 75 阅读 · 0 评论 -
代码块
代码块public class Kuai { /*代码块:类似于一个没有名称的方法体*/ static String bianliang="变量"; //实例块 与成员方法类似 属于对象,每次在创建对象时调用,先于构造方法执行 可以有多个 { System.out.println("实例"); } //静态块 属于类 类加载时执行,只加载一次,多个静态块按顺序执行 static{ System.o原创 2021-01-15 20:09:01 · 87 阅读 · 0 评论 -
static简述
staticstatic被称为静态,可以用来修饰类的属性,方法,代码块,内部类。在内存中只有一份随着类的加载而加载 ; 优先于对象存在; 修饰的成员,被所有对象所共享 ; 可不创建对象,直接被类调用static方法可以使用对象调用,也可以直接用类名调用,建议用类名直接调用在static方法内部只能访问类的static属性,不能访问类的非static属性,static属性先加载。public class Chinese { String name;原创 2021-01-15 20:08:10 · 380 阅读 · 0 评论 -
对象及引用
对象及引用Java 语言中除基本类型之外的变量类型都称之为引用类型。Java中的对象是通过引用对其操作的1)右边的“new Car()”,是以Car类为模板,调用Car类的构造方法,在堆空间里创建一个Car类对象。2)左边的“Car bm”创建了一个Car类型引用变量。所谓Car类的引用,就是以后可以用来指向Car对象的对象引用。3)操作符使对象引用指向刚创建的那个对象。public static void main(String[] args) { /* *原创 2021-01-15 20:06:53 · 104 阅读 · 0 评论 -
变量与方法
变量分类按照位置变量分为:•成员变量: 成员变量是定义在类中,方法体之外的变量。 成员变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)。 在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。 成员变量在创建对象的时候会从类中复制一份到对象中。 成员变量可以被类中方法、构造方法和特定类的语句块访问。 成员变量的原创 2021-01-15 20:05:56 · 287 阅读 · 0 评论 -
Java类与对象
Java类•什么是类? 类是一个模板,它是描述一类事物的属性和行为的集合. 类是表示一个客观世界某类群体的一些基本特征抽象.•类的结构 变量:事物属性的描述; 方法:事物的行为;(可以做的事情) 构造方法:用于创建对象; 内部类: 即在类体中声明的类。 块:一段没有名称的代码块/* * 发现类 人类 * [访问权限修饰符][修饰符] class 类名{ * * } * */publ原创 2020-12-17 15:27:52 · 78 阅读 · 0 评论 -
面向过程和面向对象的设计思想
面向过程和面向对象的设计思想•面向过程:procedure oriented programming 缩写 POP 分析出解决问题所需要的步骤,然后把步骤一步一步实现。 面向过程直接关注流程•面向对象:object oriented programming 缩写 OOP面向对象的编程语言 以分类的方式进行思考和解决问题。 面向对象先对整体关系作出分类,然后根据不同的类深入细节的处理。 面向对原创 2020-12-17 15:26:44 · 96 阅读 · 0 评论 -
二维数组与稀疏数组
二维数组 /* 二维数组 数组中的每一个元素又是一个数组 声明 int[][] a; */ public static void main(String[] args) { /* new int[3][3] 创建一个二维数组,二维数组的长度为3,二维数组中的一维数组长度也是3 {{0,0,0},{0,0,0},{0,0,0}}原创 2020-12-16 23:16:50 · 56 阅读 · 0 评论 -
数组排序--插入排序
插入排序/*插入排序 ①、基本思想:在要排序的一组数中,假定前n-1个数已经排好序,现在将第n个数插到前面的有序数列中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 ②、算法描述: 从第一个元素开始,该元素可以认为已经被排序; 取出下一个元素,在已经排序的元素序列中从后向前扫描; 如果该元素(已排序)大于新元素,将该元素移到下一位置; 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置; 将新元素插入到该位置原创 2020-12-16 23:15:32 · 358 阅读 · 0 评论 -
数组排序-选择排序
选择排序 /* *选择排序(Selection Sort) ①、基本思想:选择排序(Selection-sort)是一种简单直观的排序算法。 ②、工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置, * 然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。 * 以此类推,直到所有元素均排序完毕。 * */原创 2020-12-16 23:14:27 · 238 阅读 · 0 评论 -
数组排序--冒泡排序
数组排序冒泡排序 /* * 冒泡排序(Bubble Sort) ①、基本思想:两个数比较大小,较大的数下沉,较小的数冒起来。 ②、算法描述: 比较相邻的元素。如果第一个比第二个大,就交换它们两个; 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数; 针对所有的元素重复以上的步骤,除了最后一个; 重复原创 2020-12-16 23:13:07 · 74 阅读 · 0 评论 -
数组的基本概念
数组数组的基本概念及作用•数组是相同数据类型元素的集合是一组数据是一种线性结构的数据结构.线性结构在内存中是连续数组特点 :连续 每个元素都有下标 可以快速查找 但是从中间添加,删除就比较麻烦•数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类型。创建数组/*数组声明方式*/ int v[]; int[]m;/*创建数组 new 数据类型[长度]; java中数组在原创 2020-11-30 18:57:44 · 186 阅读 · 0 评论 -
Java中的方法
Java中的方法 /* 方法==其他语言中的函数 封装完成某个功能的一段代码 包含于类或对象中 [访问权限修饰符 修饰符] [返回值类型]/void 方法名([参数类型 参数名称]){ 语句 [return 值] } */ public static void main(String[] args) {原创 2020-11-30 18:56:28 · 87 阅读 · 0 评论 -
Java控制语句(if,switch,for,while,do-while)
控制语句条件语句•条件语句 - 根据不同条件,执行不同语句。–if–if … else–if … else if–if … else if … else if … else–switch//if语句Scanner s=new Scanner(System.in); int x=s.nextInt(); if(x==100){ System.out.println("牛逼"); }else if(x>=80){原创 2020-11-27 15:08:31 · 88 阅读 · 0 评论 -
Java控制台输入(Scanner)
控制台输入使用标准输入串System.in使用Scanner取得一个字符串或一组数字 在新增一个Scanner对象时需要一个System.in对象,因为实际上还是System.in在取得用户输入。Scanner的next()方法用以 取得用户输入的字符串;nextInt()将取得的输入字符串转换为整数类型;同样,nextFloat()转换成浮点型;nextBoolean()转 换成布尔型。在使用Scanner对象时,需要在文件头带入 java.util.Scanner;原创 2020-11-27 15:06:24 · 292 阅读 · 0 评论 -
Java基础语法(运算符)
运算符算术运算符 /* 算术运算符: +,-,*,/,%,++,-- + 表示一个正数 + 字符串 连接 + 加法运算 -,*,/,% 只能进行算数运算 数值与数值(char) */ int y = x++ +2; //x++ 先赋值再运算 int y = ++x + 2; //++x 先运算再赋值比较元素符原创 2020-11-27 15:04:40 · 144 阅读 · 0 评论 -
Java基础语法(注释,关键字,保留字,标识符)
Java基础语法注释以某种特种符号修饰的内容就是注释.功能是用来对代码进行解释说明.程序执行时不运行.public class Demo1 { // 单行注释 int a; /* 多行注释 */ static String b; /** * 文档注释 文档注释为类,属性,方法的功能进行说明,在调用时可以提示 * */ /** * 吃饭的方法原创 2020-11-21 20:09:47 · 88 阅读 · 0 评论