第79节:Java中少量要点

作者 : 开心源码 本文共4074个字,预计阅读时间需要11分钟 发布时间: 2022-05-12 共125人阅读

标题图

第79节:Java中少量要点

前言

少量知识点忘了没,可以通过一个点引出什么内容呢?做出自己的思维导图,看看自己到了哪一步了呢

内容

假如有人问jre,jdk,jvm是什么,你怎样答复呢?

jre的英文是java runtime environment ,包含有java虚拟机,库函数,java运行应用程序和applet的要的文件.java 运行环境功能主要有加载代码,校验代码,执行代码.jre是java运行时环境,有jvm和其余少量java核心api,只需有jre即可以运行java程序.jre含jvm,运行java程序需要jre

jdk的英文是java development kit包含jre,编译器和调式器等.jdk是jre的超集.要进行开发java程序需要安装jdk.

jvm是一种规范,是一个虚拟的用于执行字节码的计算机.jvm是负责java字节码解释运行的,jvm实现了跨平台,可移植的功能.

一次编译,随处运行

源程序(.java文件)->java编译器->字节码(.class文件)

jre,java运行环境,类装载器,字节码校验器,解释器.

什么是变量?

变量是用来操作存储空间中的数据的,是代指存储空间,位置肯定,存储空间中的数据类型不确定,就有了数据类型,放置的值也不确定.类型可以是基本类型,也可以是引用类型.

变量:局部变量(方法或者语句块内部定义的变量),实例变量(方法外部,类的内部定义的变量),静态变量(使用static).

那么讲了java的变量,那么讲究数据类型,在java中,数据类型分为两大类,一为基本数据类型,二位引用数据类型.

数据类型的定义了8种基本数据类型,我们可以分为3类来理解,一种为逻辑类型,一种的文本类型,一种是数值类型:

逻辑类型记住是boolean就行,文本类型记住是char类型就行,而数值类型记住顺序一下子即可以记住,byte,short,int,long,foloat,double,从小到大的顺序.

类型类型分基本数据类型和引用数据类型

基本数据类型分,数值型,字符型,布尔型.

数值型分,整数类型和浮点类型.那么整数类型有byte,short,int,long,浮点类型有float,double.

float为单精度类型,double为双精度类型.

字符型的有char. 布尔型的有boolean.

boolean类型有两个值为true和false.用来判断逻辑条件的,一般用于程序流程控制.

字符型,单引号用来表示字符类型的常量,’a’为一个字符.char类型可以在unicode编码表中的 字符.char可以用来整数运算.

引用数据类型分,类class,接口interface,数组

注意:引用类型指的就是对象的地址

类型占用存储空间表数范围
byte1字节-128到127
short2字节-215到214
int4字节
long8字节
float4字节
double8字节

进制数

十进制整数,八进制整数(以 0 开头),十六进制数(以0x 或者 0X 开头).

字符集

iso8859-1->big5,gb2312,unicode  gb2312->gbk

方法:定义类和对象的动态行为特征的笼统

运算符

算术运算符: +,-,*,/,%,++,--关系运算符: >,<,>=,<=,==,!= instanceof逻辑运算符: &&,||,!位运算符: &,|,^,~ , >>,<<,>>>

面向对象和面向过程

面向过程的思维模式是比较简单的线性思维.
面向对象的思维模式适合解决复杂的问题.

构造器用于构造类的实例.
构造器的作用就是初始化少量数据.

static

用static公告的成员变量为静态成员变量,用static公告的方法为静态方法.

内存

栈:局部变量放在栈中,栈是一种连续的内存空间,由系统分配.

堆:通过new的对象都在,是不连续的内存空间,速度慢.

方法区:用来存放程序中不变和唯一的内容,方法区也是堆,用于存放类的代码信息,static变量,和常量池.

// 常量池public class Student { String name; int age; public void study(){  System.out.println("学习"); } public void sayHello(String sname){  System.out.println("大帅哥"); }} 
public class Test{ public static void main(String[] args){  // 类加载器Class Loader  // 堆中创立一个student对象  Student s1 = new Student(); // 创立字符串常量,放入常量池中 s1.name = "大帅哥"; // 通过s1找到student对象 s1.study(); }}

小结

栈自动分配连续的内存空间,后进先出,放入的都是局部变量,堆是不连续的内存空间,不像栈按照子弹夹一样,方法区也是堆,里面存放的都是类的代码信息,static 变量和常量池.

笼统方法

笼统方法用abstract修饰,没有方法体,需要用子类来重写

记住:笼统类不能进行实例化,笼统类可以有属性,方法和构造方法,但构造方法不能用new实例,需要用来被子类调用的.笼统类是用来被继承的,笼统方法必需由子类实现.

定义接口:

格式:

public或者默认 interface 接口名 extends (接口可以多){ public static final 常量 public abstract 方法}

内部类

一个类放在另一个类的内部定义为内部类.

内部类用来干嘛的?

提供更好的封装,让外部类直接进行访问,内部类可以访问外部类的私有属性.而外部类不能访问内部类的内部属性.

内部类分:匿名内部类,成员内部类,非静态内部类

非静态内部类可以使用外部类的成员,而外部类不能访问非静态内部类的成员

静态成员不能访问非静态成员

new InnerClass()
Outer.inner name = OuterObject.new Inner()
this.变量名
外部类名.this.变量名

访问修饰符:

private在同一个类中
default在同一个类中,在同一个包中
protected在同一个类中,在同一个包中,在子类中
public 公共都可以

多态

指不同类的对象对同一件事情进行不同的效果反应

abstract class Student{ public abstract void study();}// 1class Student1 extends Student { @Override public void study(){  System.out.println("学习1"); }}class Student2 extends Student { @Override public void study(){  System.out.println("学习2"); }}

多态的特点:

继承,有方法的重写,父类引用指向子类对象引用

基本数据类型的包装类

基本数据类型包装类
byteByte
shortShort
charCharacter
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean

StringBuilder 与 StringBuffer 区别

StringBuilder 可变字符串,线程不太安全,效率高
StringBuffer 可变字符串,线程安全,效率低
String 不可变字符串,final修饰了string类,所以不能被继承,修饰了char value[],所以字符串的值不可以改变,记住final没有修饰string的引用,就会存在内存空间的白费.

string

String name = "大哥";

io流

io流的分类为输入流和输出流

按数据分

字节流是按照二进制,字符流是按照文本文件.

字节流:输入流 InputStream read(byte[] b)read(byte[] b, int off, int len)FileInputStream()InputStream FileInputStream输出流:OutputStreamwrite(byte[] b)write(byte[] b, int off, int len) FileOutputStreamOutputStream FileOutputStream字符流输入流 Readerread(char[] c)read(char[] c, int off, int len) FileReader()Reader FileReader输出流 Writerwrite(char[] c)write(char[] c, int off, int len) FileWriter()Writer FileWriter解决流缓冲流字节缓冲流BufferedInputStreamBufferedOutputStream字符缓冲流BufferedReaderBufferedWriter输入流:InputStream输出流:OutputStream字节流搞定一切BufferedInputStream -> FileInputStream -> FileBufferedOutputStream -> FileOutputStream -> File通过解码InputStreamReaderOutputStreamWriter通过解码变字符流,只能解决纯文本BufferedReader -> FileReader -> FileBufferedWriter -> FileWriter -> FileReader Writer

线程

Threadsleep()yield()stop()start()interrpet()...

结言

少量你需要重新复习的少量基础内容,写出自己的思维导图看看哦!

达叔小生:往后余生,唯独有你
You and me, we are family !
90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通
简书博客: 达叔小生
https://www.songma.com/u/c785ece603d1

结语

  • 下面我将继续对 其余知识 深入讲解 ,有兴趣可以继续关注
  • 小礼物走一走 or 点赞

上一篇 目录 已是最后

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 第79节:Java中少量要点

发表回复