day2 javaee的入门知识「建议收藏」

day2 javaee的入门知识「建议收藏」1、面向对象与面向过程的区别?面向过程的语言拥有封装、继承、多态的特性,使得整个代码灵活性高,比如Java,C++。容易维护,容易扩展。面向过程的语言直接跟内存打交道,性能要更好,比如java是需要跟虚拟机做交互,先编译解释成机器码。再跟操作系统打交道。大多数面向过程的语言基本都是直接编译成机器码在操作系统上进行执行。所以性能更好。但是java经过多年的发展,性能提升了很大,各位读者要记住javayyds!2、成员变量和局部变量的区别与c++不同的是java中没有全局变量的概念。成员变量:也称

大家好,又见面了,我是你们的朋友全栈君。

1、面向对象与面向过程的区别?
面向过程的语言拥有封装、继承、多态的特性,使得整个代码灵活性高,比如Java,C++。容易维护,容易扩展。
面向过程的语言直接跟内存打交道,性能要更好,比如java是需要跟虚拟机做交互,先编译解释成机器码。再跟操作系统打交道。大多数面向过程的语言基本都是直接编译成机器码在操作系统上进行执行。所以性能更好。
但是java经过多年的发展,性能提升了很大,各位读者要记住java yyds!

2、成员变量和局部变量的区别
与c++不同的是java中没有全局变量的概念。
成员变量:也称为类变量,是定义在类中的变量。
局部变量:是定义在形参,或者是方法体内,或者是代码快中的变量。
**注意:静态代码块中只能给静态变量赋值
关于静态方法,静态变量的内容可以参考文章
https://blog.csdn.net/xxlovect/article/details/7455813

接上:关于成员变量与局部变量的赋值问题
如果一个变量被定义为static那么他就被称之为静态成员变量,简称为静态变量。如果是static,finnal修饰那么就称之为全局常量。
对于finnal修饰的变量,是在编译的时候就分配内存,对于其初始化,是在类加载过程中的链接环节里面的准备环节进行赋值。对于局部变量,系统不会为其分配初始值。除了final修饰的变量,其他变量是在链接阶段的准备环节进行默认赋值,在类加载过程中的初始化过程完成显式赋值。

对于类加载过程,博主会在后续更新一些jvm的知识总结,可以关注博主。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3、 关于try-catch-finanl
IDEA中可以使用快捷键Alt+Shift+Z 来对一块代码进行异常处理。
try模块用来捕获异常,catch模块处理异常,finally模块中的代码不管什么情况下都会执行(在正常捕获异常的情况下,或者没有异常的情况下)。
如果finnal中的代码不执行一定是做了一下三件事:

  • 在 try 或 finally 块中用了 System.exit(int)退出程序。但是,如果 System.exit(int) 在异常语句之后,finally 还是会被执行。
  • 线程死亡
  • cpu死亡(close CPU)

4、在多线程中,线程的sleep(),yield(),wait(),join()有什么区别?
Thread.sleep():此方法使线程进入
阻塞状态*,让cpu交出执行权,但是不会释放锁。
Thread.yield():此方法使线程进入可运行状态,让cpu交出执行权,同样不会释放锁
Thread.wait():使线程从运行状态转为阻塞状态释放线程的同步锁
Thread.join():此方法可以保证一个线程在Thread线程执行前结束(优先级大于自己的线程)。

5、推荐将数组转化为Arraylist的方式
在这里插入图片描述
图片来源:https://gitee.com/SnailClimb/JavaGuide/blob/master/docs/java/basis/Java%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E7%96%91%E9%9A%BE%E7%82%B9.md

6 遍历集合的方式

  • 使用foreach
  • 使用迭代器
  • 使用用法如下图
  • 在这里插入图片描述

在foreach中不能使用remove来移除元素,在迭代器方式中可以。
原理:如果要进行remove操作,可以调用迭代器的 remove 方法而不是集合类的 remove 方法。因为如果列表在任何时间从结构上修改创建迭代器之后,以任何方式除非通过迭代器自身remove/add方法,迭代器都将抛出一个ConcurrentModificationException,这就是单线程状态下产生的 fail-fast 机制。

fail-fast 机制 :多个线程对 fail-fast 集合进行修改的时,可能会抛出ConcurrentModificationException,单线程下也会出现这种情况,上面已经提到过。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156826.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python和pycharm安装包(附网盘地址)「建议收藏」

    python和pycharm安装包(附网盘地址)「建议收藏」「pycharm-community-2017.3.4.exe」等文件https://www.aliyundrive.com/s/kNz92RwkFTK提取码:dq74点击链接保存,或者复制本段内容,打开「阿里云盘」APP,无需下载极速在线查看,视频原画倍速播放。

  • 如何用 JavaScript 下载文件

    如何用 JavaScript 下载文件简介我们知道,下载文件是一个非常常见的需求,但由于浏览器的安全策略的限制,我们通常只能通过一个额外的页面,访问某个文件的url来实现下载功能,但是这种用户体验非常不好。幸好,HTML5里面为  标签添加了一个 download 的属性,我们可以轻易的利用它来实现下载功能,再也不需要用以前的笨办法了。原理我们先看看 download 的使用方法:

  • 一点想法

    一点想法

  • 数学建模:方差分析模型[通俗易懂]

    数学建模:方差分析模型[通俗易懂]数学建模:方差分析模型1.方差分析模型引入考虑的模型,它的自变量是只能取0,1两个值的示例变量。这种变量往往比较两个多个因素的某种效益存在与否。比如考试及格为0,不及格为1.方差分析的实质:假设检验问题一个复杂的事物,其中往往有许多因素互相制约又互相依存。方差分析的目的是通过数据分析找出对该事物有显著影响的因素,各因素之间的交互作用,以及显著影响因素的最佳水平等。方差分析是在可比较的数组中,把数据间的总的“变差”按各指定的变差来源进行分解的一种技术。对变差的度量,采用离差平方和。方差分析方法就

    2022年10月15日
  • Using MSAgent to Scan the Start Menu 选择自 wm_ni 的 Blog

    Using MSAgent to Scan the Start Menu 选择自 wm_ni 的 BlogNotethiscodewillignoreduplicateshortcuts.ForexampleIhave4or5shortcutsinmyStartMenuthatarenamed”Readme.txt.”Onlythefirstinstanceofthesewillgetaddedtothecommandsallot

  • 谷歌地球Google Earth打不开的解决办法[通俗易懂]

    谷歌地球Google Earth打不开的解决办法[通俗易懂]从2020年11月20号左右,谷歌地球中国服务器全部关停,所有原来可以使用的hosts,全部不能使用了,导致原来可以在电脑上打开谷歌地球的,现在全部提示无网络,如下图:这个是谷歌地球的最新版,一样打不开:解决办法,尝试了,国内所有的有关谷歌地图的软件。唯一现在可以使用的:BIGEMAP如下图分下下载地址,大家可以安装来试一试,免费可用:http://download.bigemap.com/bmsetup.rar欢迎留言,提供更多谷歌地球的信息…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号