java基础知识点总结

本文介绍了Java基本数据类型的内存占用,如byte、boolean占一个字节等。还阐述了Java 7和8的新特性,如Java 7后switch支持String、常量池转移,Java 8后HashMap结构变化、方法区被元空间替代。此外,讲解了对象初始化、类加载过程、静态与动态绑定、多态、抽象类和接口等内容。

java基本数据类型占用内存大小:
占用一个字节:byte,boolean
占用两个字节:short,char
占用四个字节:int,float
占用八个字节:long,double
从java7以后:
1.switch语句可以支持String字符串了
2.常量池从方法区转移到堆上
JVM基本的内存结构:JVM虚拟机栈,堆,方法区
从java8以后:
1.HashMap底层的链式哈希表,链表的节点(产生哈希冲突的节点)如果小于8个,
用链表来组织;如果大于8个,把链表更改成红黑树了。随着元素删除,如果节点个数
小于6个,红黑树结构又改成链表了
2.方法区Method Area去掉了,被元空间波MetaSpace替代,元空间和本地内存相关,可以通过参数改变大小

 

对象初始化(static成员和static块,实例成员和实例块,构造函数)
        继承:基类static成员和static块,派生类static成员和static块
             基类实例成员和实例块,构造函数;派生类实例成员和实例块,构造函数
类的加载过程:
1.加载
 用类加载器,在制定的路径上,加载对应的class字节码文件 =》类型的Class对象
2.链接   准备,验证,引用
 a.验证上面的字节码文件,是否能够在当前的jvm上运行;
 b.给static成员开辟内存
 c.它如果有基类,那么重复上面的步骤,加载基类
3.初始化
 给static静态成员进行初始化工作

 

静态绑定:在静态绑定中,绑定可以在运行时或编译时解析。所有static,final和private方法的绑定过程都在编译时完成(方法重载)
动态绑定:在Java中重写可以被认为是动态绑定的最佳示例,因为父类和子类具有相同的方法 - 也就是说,它不决定要调用的方法

 

多态:多态是同一个行为具有多个不同表现形式或形态的能力。
      多态就是同一个接口,使用不同的实例而执行不同操作
多态存在的三个条件:继承,方法重写,父类引用指向子类对象

抽象类:含有抽象方法的类是抽象类 (abstract)  
抽象类不一定含有抽象方法
抽象类不能实例化对象,仍然含有构造方法
父类是抽象类:子类重写父类的抽象方法或者把子类定义成抽象类
接口(interface):全部是抽象方法和常量,无构造方法→不能直接实例化对象
extends→类和类之间是继承关系
implements→普通类实现接口中的抽象方法
抽象类和接口的区别??1.抽象类只能继承一个,接口可以实现多个  2.接口成员变量只有final  3.从java8开始接口也可以实现方法 4.接口只是功能的约束

无论是工作学习,不断的总结是必不可少的。只有不断的总结,发现问题,弥补不足,才能长久的进步!!Java学习更是如此,知识点总结目录如下: 目录 一、 Java概述 3 二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 20 四、 面向对象★★★★★ 21 五、 封装(面向对象特征之一)★★★★ 23 六、 继承(面向对象特征之一)★★★★ 25 七、 接口(面向对象特征之一)★★★★ 28 八、 多态(面向对象特征之一)★★★★ 30 九、 java.lang.Object 31 十、 异常★★★★ 34 十一、 包(package) 37 十二、 多线程★★★★ 39 为什么要使用多线程 39 创建线程和启动 39 线程的生命周期 44 线程管理 45 线程同步 49 线程通信 52 线程池 58 死锁 64 线程相关类 65 十三、 同步★★★★★ 67 十四、 Lock接口 70 十五、 API 71 String字符串:★★★☆ 71 StringBuffer字符串缓冲区:★★★☆ 73 StringBuilder字符串缓冲区:★★★☆ 74 基本数据类型对象包装类★★★☆ 75 集合框架:★★★★★,用于存储数据的容器。 76 Collection接口 77 Iterator接口 78 List接口 78 Set接口 80 Map接口 81 把map集合转成set的方法 82 使用集合的技巧 83 Collections--集合工具类 83 Arrays—数组对象工具类 84 增强for循环 85 可变参数(...) 86 枚举:关键字 enum 86 自动拆装箱 86 泛型 87 System 89 Runtime 90 Math 90 .Date:日期类,月份从0—11 92 Calendar:日历类 93 十六、 IO流:用于处理设备上数据 ★★★★★ 94 IO流的概念 95 字符流与字节流 98 流对象 101 File类 102 Java.util.Properties 103 介绍IO包中扩展功能的流对象 103 十七、 网络编程 110 网络基础之网络协议篇 111 UDP传输 124 TCP传输 126 十八、 反射技术 127 十九、 Ajax原理及实现步骤★★★★★ 130 Ajax概述 130 Ajax工作原理 130 Ajax实现步骤 130 详解区分请求类型: GET或POST 131 $.ajax标准写法 134 二十、 正则表达式:其实是用来操作字符串的一些规则★★★☆ 135 二十一、 设计模式★★★★★ 136 设计模式简介 136 单例设计模式:★★★★★ 156 工厂模式★★★★★ 159 抽象工厂模式★★★★★ 163 建造者模式 170 原型模式 177 适配器模式 182 桥接模式 188 过滤器模式 192 组合模式 193 装饰器模式★★★★★ 196 外观模式 201 享元模式 204 代理模式★★★★★ 208 责任链模式 212 命令模式 216 解释器模式 219 迭代器模式 222 中介者模式 224 备忘录模式 226 观察者模式 230 状态模式 233 空对象模式 236 策略模式★★★★★ 238 模板模式 240 访问者模式 244 设计模式总结★★★★★ 247 二十二、 Java其他总结 248 Java JVM知识点总结 248 equals()方法和hashCode()方法 270 数据结构 273 Array方法类汇总 304 Java数组与集合小结 305 递归 309 对象的序列化 310 Java两种线程类:Thread和Runnable 315 Java锁小结 321 java.util.concurrent.locks包下常用的类 326 NIO(New IO) 327 volatile详解 337 Java 8新特性 347 Java 性能优化 362
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值