Java知识点
主要是基础的java知识点
梵高话葵
这个作者很懒,什么都没留下…
展开
-
Java静态块、静态变量加载
public class test { //1.第一步,准备加载类 static int num = 4; //2.第二步,静态变量和静态代码块的加载顺序由编写先后决定 static { // 3.第三步,静态块,然后执行静态代码块,因为有输出,故打印a System.out.println("a"); }原创 2020-10-23 10:51:07 · 185 阅读 · 0 评论 -
Java基础知识点
学习Java前提位(bit) :一个数字或者一个数字1代表一位。字节(Byte) :每逢8位是一个字节,这是数据存储的最小单位。1Byte=8bit1 KB = 1024 Byte1 MB =1024KB1 GB =1024 MB100Mbps的宽带,传输速率应该为100/8=12.5MB/s命令行的操作:进入文件夹 cd 文件夹名称进入多级文件夹 cd 文件夹1文件夹2\文件夹3返回上一级 cd . .真接回根路径 cd \查看当前内容 dir清屏 cls退出 exi原创 2020-08-26 21:58:57 · 135 阅读 · 0 评论 -
Java基础问题
Q:面向对象编程的四大特性及其含义?封装就是把描述同一类对象的属性和行为的代码封装在一个类中,属性用变量定义,行为用方法进行定义,方法可以直接访问同一个对象中的属性Q: String. StringBuffer和StringBuilder的区别?Q: String a=“和String a=new Strig(”)的的关系和异同?Q: Object的equal0和= =的区别?Q:装箱、拆箱什么含义?Q: int和Integer的区别?Q:遇见过哪些运行时异常?异常处理机制知道哪些?Q:什原创 2020-05-27 16:43:35 · 220 阅读 · 0 评论 -
Java IO(一)
Java 的 I/O 大概可以分成以下几类:磁盘操作:Filejava.io.File类文件和目录路径名的抽象表示形式。java把电脑中的文件和文件夹(目录)封装为了一个File类我们可以使用File类对文件和文件夹进行操作我们可以使用File类的方法:创建一个文件/文件夹;删除文件/文件夹;获取文件/文件夹;判断文件/文件夹是否存在;对文件夹进行遍历;获取文件的大小.File类是一个与系统无关的类, 任何的操作系统都可以使用这个类中的方法重点:记住这三个单词 file:文件 director原创 2020-05-28 19:01:19 · 165 阅读 · 0 评论 -
Java IO(二)
对象操作:Serializable序列化就是将一个对象转换成字节序列,方便存储和传输。序列化:ObjectOutputStream.writeObject()反序列化:ObjectInputStream.readObject()不会对静态变量进行序列化,因为序列化只是保存对象的状态,静态变量属于类的状态。对class文件进行修改后若直接进行反序列化会报错,因为UID会被重新赋值解决办法 在class文件中定义一个UID 这样保证永远不变网络操作:Socket新的输入/输出:NIO原创 2020-05-31 18:36:10 · 135 阅读 · 0 评论 -
Java IO 模型及复用
IO模型一个输入操作通常包括两个阶段:等待数据准备好从内核向进程复制数据对于一个套接字上的输入操作,第一步通常涉及等待数据从网络中到达。当所等待数据到达时,它被复制到内核中的某个缓冲区。第二步就是把数据从内核缓冲区复制到应用进程缓冲区。Linux的五种IO模型:阻塞式IO应用进程被阻塞,直到数据从内核缓冲区复制到应用进程缓冲区中才返回。在阻塞的过程中,其它应用进程还可以执行,因此阻塞不意味着整个操作系统都被阻塞。因为其它应用进程还可以执行,所以不消耗 CPU 时间,这种模型的 CPU 利用原创 2020-06-03 18:10:43 · 115 阅读 · 0 评论 -
Java IO异常处理
原创 2020-06-03 10:04:22 · 150 阅读 · 0 评论 -
Java容器
参考链接:Java容器参考链接fail-fast 异常:多个进程对同一个集合的内容进行操作时出现的错误。foreach 底层其实也是利用 iterator 来进行遍历的,modcount 是用来防止多个线程同时操作集合时发生线程安全问题的,Iterator iterator = list.Iterator(); 其实是复制了一份集合的数据,每次进行操作时就会判断一次 iterator内部的modcount和list 的modcount 是否相等,若不相等则会抛出ConcurrentModificat原创 2020-05-28 11:21:55 · 419 阅读 · 0 评论 -
Java HTTP
基础概念概念:Hyper Text Transfer Protocol 超文本传输协议* 传输协议:定义了客户端和服务器端通信时,发送数据的格式* 特点:1. 基于TCP/IP的高级协议2. 默认端口号:803. 基于请求/响应模型的:一次请求对应一次响应4. 无状态的:每次请求之间相互独立,不能交互数据URI URL URNURI着重于强调资源,定义抽象概念 /ServletDemo/mydemo3URL着重强调如何找到资源,定义具体概念,含有具体地址http://loca原创 2020-06-01 18:53:36 · 176 阅读 · 0 评论 -
Java抽象类和接口
抽象类抽象方法:加上abstract关键字去掉大括号,直接分号结束。抽象类:抽象方法所在的类必须是抽象类 class之前加上abstract即可抽象类中可以存在抽象方法和非抽象方法,也可以只存在非抽象方法或抽象方法抽象类不能被实例化,可以定义一个对象变量,但是只能引用非抽象类子类的对象例如:Person p= new student(' zhangsan",123);子类必须覆盖重写抽象父类中所有的抽象方法,除非该子类也是抽象类接口语法区别1.抽象类可以有构造方法,接口中不能有原创 2020-05-27 16:31:13 · 105 阅读 · 0 评论 -
Java内部类
内部类基础内部类可以分为静态内部类和非静态内部类。非静态内部类分为成员内部类和局部内部类(包括匿名内部类)访问规则: A:可以直接访问外部类的成员,包括私有 B:外部类要想访问内部类成员,必须创建对象//基本格式.pub1ic class body { public class heart { }}如何使用成员内部类?有两种方式:1.间接方式:在外部类的方法中使用内部类(变量或方法),然后main调用外部类方法2.直接方式:外部类名称. 内部类名称 对象名 = new 外部类名原创 2020-05-27 15:39:51 · 111 阅读 · 0 评论 -
Java虚拟机
借鉴链接:https://www.jianshu.com/p/cd93567ed868一、JVM内存区域划分JVM执行Java程序的过程:Java源代码文件(.java)会被Java编译器编译为字节码文件(.class),然后由JVM中的类加载器加载各个类的字节码文件,加载完毕之后,交由JVM执行引擎执行。JVM会用一段空间来存储执行程序期间需要用到的数据和相关信息,这段空间就是运行时数据区...原创 2020-05-27 12:15:29 · 152 阅读 · 0 评论 -
Java虚拟机二
Java虚拟机二三、内存分配与回收策略Minor GC 和 Full GC内存分配策略1. 对象优先在 Eden 分配2. 大对象直接进入老年代3.长期存活的对象进入老年代4.动态对象年龄判定5.空间分配担保Full GC 的触发条件1. 调用 System.gc()2.老年代空间不足3. 空间分配担保失败4. JDK 1.7 及以前的永久代空间不足5. Concurrent Mode Failu...原创 2020-05-27 12:15:40 · 128 阅读 · 0 评论 -
Java异常
异常概念Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception。Throwable在异常类的层次结构的顶层。接下来Throwable分成了两个不同的分支,一个分支是Error,它表示不希望被程序捕获或者是程序无法处理的错误。另一个分支是Exception,它表示用户程序可能捕捉的异常情况或者说是程序可以处理的异常。其中异常类Exception又分为运行时原创 2020-05-27 12:08:28 · 109 阅读 · 0 评论 -
Java反射
1.反射的定义允许java程序获取自身的信息,并且可以操作类或对象的内部属性。通过反射,我们可以在运行时获得程序或程序集中每一个类型的成员和成员的信息。程序中一般的对象的类型都是在编译期就确定下来的,而 Java 反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是未知的。反射的核心是 JVM 在运行时才动态加载类或调用方法/访问属性,它不需要在写代码的时候或编译期知道运行对象是谁反射的主要功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类原创 2020-05-27 10:34:46 · 138 阅读 · 0 评论