java 串讲_Java知识串讲
一、JDK个版本之间的区别:
1.JDK1.5的新特性:
泛型ArrayList list = new ArrayList();-->ArrayList list = new ArrayList();
自动装箱/拆箱
for - each
static import(静态导入) 以前是:Math.squrt() --》squrt();
边长参数: int sum(int ... int list)有任意个参数,把它看做数组,通过...来表示
枚举
元数据(Meradata)
2.JDK1.6的新特性:
增强的for循环
监视器和管理:JavaSE6中内存泄漏增强了分析以及诊断能力。。当遇到java.lang.OutOfMemory异常的时候,可以得到一个完整的堆栈信息,并且当堆已经满了的时候,会产生一个Log文件记录这个致命错误,另外JVM还添加了一个选择,允许你在堆满的时候运行脚本。
插入式注解处理:插入式直接处理API(JSR 269)提供了一套标准API来处理Annotations(释文)
安全性
Desktop类和SystemTray类
使用JAXB2来实现对象域XML之间的映射
StAX
使用Compiler API
轻量级HTTPServer API
用console来发控制台程序
3.JDK1.7的新特性:
模块化特性:Java7也是采用了模块的划分出来提速,一些不是必须的模块并没有下载和安装,当虚拟机需要的时候,再下载相应的模块,同时对启动速度也有了很大的改善。
多语言支持:Java7的虚拟机对多种动态程序语言增加了支持,比如:Rubby,Python等等
开发者的开发效率得到了改善:switch中可以使用字符串。在多线程并发与控制方面:轻量级的分离与合并框架,一个支持并发访问的HashMap等等。通过注解增强程序的静态检查。提供了一些新的API用于文件系统的访问,异步的输入输出操作,socket通道的配置与绑定,多点数据包的传递等等。
执行效率的提高:对象指针由64为压缩到与32位指针相匹配的技术使得内存和内存带块的消耗得到了很大的降低,因而提高了执行效率。提供了新的垃圾回收机制来降低垃圾回收的负载和增强垃圾回收的效果。
堆积和类的语言支持Connections.sort();
自动资源管理
改进的通用实例创建类型推断
数字字面量下划线支持
二进制字面量
简化可变参数方法调用。
4.JDK1.8
接口的默认方法default方法名
Lambda表达式
函数式接口
方法与构造函数引用
Lambda作用域
访问局部变量
访问对象字段与静态变量
访问接口的默认方法
5.JDK1.9
Jigsaw项目;模块化源码
简化进程API
轻量级JSON API
钱和货币API
改善锁争用机制
代码分段缓存
智能Java编译,第二阶段
HTTP2.0客户端
kulla计划:Java的REPL实现
二、继承出现的目的?
提高代码的复用性让类与类之间产生关系,给多态提供了前提
降低代码的冗余度
三、子类继承父类的哪些资源?
子类用用父类非private的属性和方法
子类可以拥有自己的属性和方法,即子类可以父类进行扩展
子类可以用自己的方式实现父类的方法
Java的继承时单继承,但是可以多实现,单继承就是一个子类只能继承一个父类
提高了代码的耦合度,同时缺点也就随之而来,耦合度越高,代码联系越紧密,代码的独立性就越差
四、抽象类的特点?
抽象方法和抽象类使用abstract修饰
只要有抽象方法的类,一定是抽象类
抽象类中不一定有抽象方法
没有抽象方法的抽象类有意义,防止外界创建对象,防止外界实例化的方式:a)构造私有化b)抽象类c)内部类d)接口
抽象类不能实例化,得使用多态或者继承
抽象类是服务类,成员变量一般使用public或者protected
五、接口出现的目的?特点?
1.目的:
接口的目的是为了实现类的功能高度集中而存在的。一般情况下,实现类必须要实现接口的全部方法,可是有些情况却显得多余,为了避免这样的现象,出现了抽象接口。
2.特点:
接口使用interface关键字修饰
接口是常量和抽象方法的集合,在JDK1.8以后还可以有静态方法和默认方法
接口中的创两默认省略public static final 方法默认省略public abstract
接口不能够实例化
想要“实例化”一个接口,必须使用多态【接口的实现】
六、实现多态的几种方式:
利用继承,让子类重写父类的方法
抽象类的抽象方法实现多态
接口实现多态
七、设计原则:
1.开闭原则:对扩展开放,对修改关闭
在原有项目中添加新的文件,实现新的功能,还不改动原有的代码
2.里氏替换原则:父类出现的地方,可以用子类替换,子类出现的地方可以用父类替换。
父类出现的地方可以用子类替换:使用架构或者模版
子类出现的地方可以用父类替换
里氏替换原则,是对开闭原则的补充(只要出现里氏替换原则必然会出现开闭原则)
3. 依赖倒转原则:
依赖于抽象而不依赖于实现
依赖于约束(形参和返回值)而不依赖于过程
依赖于标准而不依赖于实现细节
4. 接口隔离原则:==单一只能原则(一个接口只干一件事情)
作用:奖励依赖降低耦合
5. 迪米特法则:多用继承,少用组合
6. 合成复用原则:多用组合,少用继承
八、单例模式:
懒汉式:
public class Singleton{
//私有化构造方法,提供一个公共的方法来实例化
private static Singleton instance = null;
private Singleton(){}
//提供公共的方法
public Object getSing(){
if(instance == null){
instance = new Singleton;
}
return instance;
}
}
饿汉式:
public class Singleton{
//私有构造方法,提供一个公有的方法
private Singleton(){}
private static Singleton instance = new Singleton();
//公有的方法
public Object getSing(){
return instance;
}
}
持续更新中...
java 串讲_Java知识串讲相关推荐
- java虚拟机精讲_Java虚拟机精讲 (高翔龙著) 带书签目录 中文PDF扫描版[63MB]
<Java虚拟机精讲>内容简介:HotSpot VM是目前市面上高性能JVM的代表作之一,它采用解释器+JIT 编译器的混合执行引擎,使得Java 程序的执行性能从此有了质的飞跃.本书以极 ...
- java写值日表_Java知识之JVM
类加载器 类装载器ClassLaoder负责加载class文件,class文件开头有特定的文件标识,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构,并且ClassL ...
- Java基础知识第二讲:Java开发手册/JVM/集合框架/异常体系/Java反射/语法知识/Java IO
Java基础知识第二讲(Java编程规范/JVM/集合框架/异常体系/Java反射/语法知识/Java IO/码出高效) 分享在java学习及工作中,常使用的一些基础知识,本文从JVM出发,讲解了JV ...
- java jdom格式_Java全面解析XML格式串(JDOM解析)
搜索热词 Java全面解析XML格式串(JDOM解析) import java.io.IOException; import java.io.StringReader; import java.uti ...
- 视频教程-Java进阶高手课-Spring精讲精练-Java
[ [这里是图片001] Java进阶高手课-Spring精讲精练 中国科学技术大学硕士研究生,丹麦奥尔堡大学访问学者,先后就职于eBay.蚂蚁金服.SAP等国内外一线互联网公司,在Java后端开发. ...
- 内核知识第九讲,32位下的分页管理,36位下的分页管理.以及64位下的分页管理
内核知识第九讲,32位下的分页管理,36位下的分页管理.以及64位下的分页管理 一丶熟悉WinDbg的常见命令. dd 虚拟地址 显示内存. !dd 加上!, ! dd 物理地 ...
- Linux的slab和nginx的区别,Nginx核心知识100讲》nginx Slab管理器
极客专栏<Nginx核心知识100讲>38小节的笔记 nginx 不同的worker之间需要共享信息的时候,只能通过共享内存.共享内存会使用链表,红黑树这样的数据结构.但是每个红黑树上有很 ...
- java 转json_Java转JSON串的几种方式
昨天在与对端系统调接口的时候,对端系统对我们传过去的json串老是处理不了,后来查原因是应为我们传过去的json串里有json对象数组,因为我们的json串存在表里的,取出来是作为json字符串放到j ...
- c语言串的存储操作完整,c语言中关于串的相关知识以及操作
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 1 串的基本概念 串,即是字符串,由零个或者多个字符组成的有限序列,是数据元素为单个字符的特殊线性表.一般记为:S1=' ...
最新文章
- 辞去美国终身教职回国的帅教授,拟增列为顶尖985大学博导
- 已解决:Error downloading packages: libnetfilter_queue-1.0.2-2.el7_2.x86_64: [Errno 256] No more xxx
- 【Hibernate3.3复习知识点二】 - 配置hibernate环境(annotations)
- 2020收官--Filter4Go
- 是什么让你萌发了跳槽的念头?
- 【考试记录】20181003
- 写论文的一点经验小记
- java删除文件夹或文件
- 通信系统是如何收发复数信号的:IQ 调制原理
- jq ui datepicker添加时分秒
- xp系统搭建iscsi服务器,配置Microsoft Windows XP对MDS/IPS-8的iSCSI主机
- 常用的免费英文电子书
- 高德地图Amap绘制路线首尾相连问题
- python爬虫下载恩智浦智能车竞赛技术报告
- 淘宝6.18叠猫猫赚猫币自动生成
- M2增速8%处于历史地位——解读10月货币数据
- html消除自带边距,CSS3中清除外边距、内边距margin,padding使用方法
- 《设计模式修炼真经》15 — 模板方法模式
- CAS单点登录-密码管理(十三)
- OpenGL入门教程之 深入理解