
JAVA基础整合
文章平均质量分 73
基础整合是针对自己系统学习做的一些笔记,以便过后自己忘了某些技术点便于复习。
@zhangzhengyang
星光不问赶路人,功夫不负有心人。
展开
-
JAVA基础整合——反射与注解
反射与注解原创 2021-09-26 20:41:19 · 194 阅读 · 0 评论 -
JAVA基础整合——IO流技术
IO流技术什么是IO流???I 表示input输入(读),O 表示output输出(写)。这里的输入输出表示JAVA程序和外部磁盘文件或者服务器之间的数据交互。输入表示外部文件往JAVA程序输入,输出表示JAVA程序向外输出。1.流的分类从流的方向分为:输入流和输出流从流中传输的数据的单位来分:字节流和字符流流的构造来说分为基本流和包装流2.我们需要掌握的流这里我针对字节流和字符流画了一个图,标红的是我们需要掌握其原理的。字节流如下:字符流如下:这里我把图上几个掌握的流原创 2021-09-04 15:56:39 · 186 阅读 · 0 评论 -
JAVA基础整合——异常
异常 异常是什么???异常是指我们在执行一段程序期间所发生的一些错误。切记:这里是指的执行期间。后面我们也会提到一个“编译期间异常”,但是这个编译期间我是画了引号,后面我们会解释。 从本质上来讲,异常是一个对象,对象一段实在程序执行过程中产生的(new),所以我们把异常的产生认定在运行期,这样认为有问题吗?答:没有问题。 异常的产生和JVM默认的处理过程:对于程原创 2021-08-02 20:57:16 · 132 阅读 · 0 评论 -
JAVA基础整合——集合框架2
Map接口Map接口是一个双列集合(键值对集合),其中这个key要求必须保证唯一性,value可以重复。因为后面需要根据key来从容器中快速获取对应的那个元素。Mao接口下面的实现类由HashMap、TreeMap1.HashMap1>下面是HashMap具体使用过程中会用到的方法:put(key,value) 向Map集合中添加新元素size() 返回当前集合中的元素个数get(key)根据某个key获取对应的valuecontainsKey(key) 判断某个key是否存原创 2021-07-31 16:38:55 · 111 阅读 · 0 评论 -
JAVA基础整合——集合框架1
集合框架这是一个重点内容,是要求我们重点掌握的内容。一、集合框架的概述什么是集合框架呢?集合是一个批量数据的存储容器。与数组类似,但是只是类似而已。数组的长度一般是不可变的,数组的存储数据只是单一类型的。集合就不同,存在集合中的数据都是引用类型的,也就是说可以存储多种多样的数据或者说对象,切记:集合中只能存入引用类型数据。二、 JAVA中集合的体系结构首先我给大家上个图:所以的集合分为两大类:单列集合和双列集合,所谓的单列是指集合中每个元素都是一个值,双列是指每个元素都由两个值组成(key-原创 2021-07-31 15:54:06 · 163 阅读 · 0 评论 -
JAVA基础整合——接口
接口在进入接口学习提几个重要的关键字。一.staticstatic修饰类中的属性(成员变量)static是一个修饰符,可以修饰类中的属性、方法、类中的代码块。1.1 static修饰的属性在内存中只存在一份,可以理解为共享。静态的成员可以通过对象去去访问,也可以用类名.静态成员去访问。如果让代码写的规范,我们对静态成员的调用都采用类名.静态成员去访问。注意:静态成员和非静态成员的区别,静态成员一般都是在类加载的过程中分配内存空间,而非静态成员都是在有了对象之后我们才可以用对象去访问。这里切原创 2021-07-28 20:09:27 · 166 阅读 · 0 评论 -
Double类型四则运算精度问题
Double类型四则运算精度问题今天碰巧遇到一个小问题,在两个double类型相加减的时候遇到了一些精度问题;你看,这个结果为什么会出现这样呢?其实计算机在运算时并不会以十进制的形式去运算,而是以二进制的形式去运算。所以就会出现这种精度问题。那在java中也有对应的方法去解决这种问题。就拿乘法来举个栗子吧。这里我把问题写成一个方法,使用时只需要传两个需要相乘的数最后直接返回一个double类型。BigDecimal:Java在java.math包中提供的API类BigDecimal,用来对超过1原创 2021-07-15 20:44:35 · 495 阅读 · 0 评论 -
JAVA基础整合——String类
String类String是一个对象,是一个引用数据类型,下面介绍一下String类型String和一般引用类型不同,String具有不可变性。例如:Sting s = ”abc“; s=s+“123”; 这里看似字符串s被改变成abc123,其实他是新开辟了一个块空间(补充一个小知识点,String类型定义的字符串都是在常量池中)。在新开辟的内存空间只是把s的指向地址换成了新开辟空间的地址,所以这是String类型拼接的底层过程。所以我们要记住字符串不可变,值的是字符串的内容,一个字符串一旦在内存中原创 2021-07-31 09:20:44 · 101 阅读 · 0 评论 -
Java基础整合——面向对象基础概念
Java基础整合万物皆对象对象是由属性和行为构成。局部变量和成员变量:1.作用范围不一样。成员变量可以在当前类的所有方法中访问,局部变量定义在某个方法的内部,只能在方法体中访问;2.默认值不一样:成员变量在new完对象之后由系统自动初始化,这是由于成员变量在new时会在堆中开辟空间,系统会默认给它初始化。而局部变量在方法体中定义只能手动初始化。3.生命周期不一样:成员变量在new对象的时候分配空间,也可以说它在堆中开辟了空间,而堆中开辟的空间都是引用类型的,程序员不能直接访问,只能通过栈中地址指原创 2021-07-24 17:09:09 · 174 阅读 · 1 评论 -
JAVA基础整合——可变字符串和包装类
一、可变字符串前文我们知道Sting类型是不适合做字符串的频繁拼接,那为什么不适合频繁的字符串拼接呢?原因是因为字符串是不可变的,每次拼接一个新字符串,其实是在内存中新开辟了空间来保存这个新字符串,而就字符串仍然存在在常量池中,如果频繁的拼接,对内存的消耗很大,所以String类型不适合做字符串的频繁拼接。所以下面有两种常见的字符串拼接方式:StringBufferStringBuffer s=new StringBuffer("abc");s.append("123");s.insert(i原创 2021-07-31 10:09:25 · 144 阅读 · 0 评论 -
JAVA基础整合——Object类
Object类Object类时JAVA所有的类的根基类,处于整个继承体系的最上面,因此在该类中定义的方法成员可以被所有的JAVA对象继承使用。对于方法的设计来说Object类型的参数可以接受JAVA中的一切数据,如果将方法的返回类型设计为Object意味着该方法在处理完成后可以返回一切类型的对象一.Object类中常用的方法介绍getClass():用来获取当前对象的实际类型hashCode():用来获取当前对象的哈希码,哈希码时啥玩意???我们知道对象都是引用类型的,在栈中存放的是块指向原创 2021-07-29 20:05:56 · 128 阅读 · 0 评论 -
JAVA基础整合——内部类(累不累)
内部类定义:在一个类的内部可以定义另外一个完整的类,相当于一种嵌套关系;内部类分为:成员内部类、静态内部类、局部内部类、匿名内部类(也是局部内部类一种)一.成员内部类成员内部类和成员属性和成员方法是同级别的。例如:public class Outer { private String name; public void m1() { System.out.println("m1...."); } class Inner{ private int age; public void原创 2021-07-28 20:26:40 · 154 阅读 · 0 评论 -
java中值类型与引用类型
今天遇到一个值类型和引用类型的问题,有点知道是什么意思但是表述不出来的感觉。所有下面我做了一个总结:值类型:值类型表示我们把一个变量传给一个方法时,在方法中改变了这个变量的值后,我们最初的变量没有改变。引用类型:引用类型把变量传给一个方法时,这个方法操作变量时也就是操作这个变量的本身,最初的值会发生改变。值类型:基本数据类型。四类八种。四类:整型,浮点型,字符型,逻辑型。整型:byte(1字节),short(2字节),int(4字节),long(8字节)浮点型:float(4字节),原创 2021-07-17 15:51:01 · 301 阅读 · 0 评论 -
JVM内存
今天给大家分享一下JVM内存的管理:首先先画一个草图:JVM内存分为我门熟悉的两个部分:栈内存:栈内存在JVM中内存很小,但是速度高,最重要的是猿类可以直接去访问;堆内存:堆内存在JVM中占比很大,但是速度慢,猿类不能直接去访问;只能间接访问;注意:在JAVA中数据类型大体可以分为值类型和引用类型。String和int[] 是引用类型。只要出现new关键字时,JVM都是在堆内存给我们分配一块内存存放数据。但是在栈内存变量里边存放的是我们访问堆内存的地址。这种情况叫引用。通俗来讲,当我们需原创 2021-07-21 09:57:22 · 176 阅读 · 1 评论