栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java知识day2

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java知识day2

一、面向过程与面向对象

面向过程:注重事情的每一个步骤及顺序,直接高效

面向对象:注重事情有哪些参与者(对象)及各自需要做什么,易于复用、扩展和维护

二、面向对象特性

①封装:内部细节对外部调用透明,外部调用无需修改或关心内部实现

②继承:子类共性的方法或者属性直接使用父类的,而不需要自己再定义,只需扩展自己个性化的

③多态:维承,方法重写,父类引用指向子类对象

三、JVM

堆:new出来的对象优先存放在此处

栈(线程):局部变量表,操作数栈,动态链接,方法出口(确定返回main方法后的执行位置),具有先进后出的特点

程序计数器:当前要运行的代码所在行的位置,在线程切换时可以使用

方法区(元空间):常量、静态变量、类信息

本地方法栈:本地方法

其中栈,本地方法栈、程序计数器是线程私有的,堆和方法区是所有线程共享的

调优工具:JDK自带的调优命令 jstack找出占用cpu最高的线程堆栈信息

                     Arthas:thread查看线程详细情况、. thread加上线程ID查看线程堆栈、thread -b查看 线程死锁

调优目的:减少STW(stop the world)的时间
四、JDK、JRE、JVM三者区别和联系

JDK(Java Develpment Kit):Java开发工具

JRE(Java Runtime Environment): java运行时环境JVM
JVM(java Virtual Machine): java虚拟机

JDK(JRE(bin(jvm)、lib(类库))、java工具)
五、重载和重写的区别
重载:发生在同一个类中,方法名必须粗同,参数类型不同、个数不同、顺字不同,方法返回值和访问修饰符可以不同。发生在编译时。与返回值无关。
重写:发生在父子类中,方法名、参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类。访问修饰符范围大于等于父类;如果父类方法访问修饰符为private则子类就不能重写该方法。
六、字节码:供虚拟机理解的代码叫做字节码(.class文件)好处:实现了跨平台,Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以Java程序运行时比较高效。而且,由于字节码并不专对一种特定的机器,因此,Java程序无须重新编译便可在多种不同的计算机上运行。
七、GC判断对象可以被回收

①引用计数法   python语言使用,效率高

②可达性分析法   Java语言使用    GC Roots的对象:虚拟机栈(线帧中的本地变量表)中引用的对象、方法区中类静态属性引用的对象、方法区中常量引用的对象、本地方法栈中Native方法引用的对象

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/685423.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号