笔记

今天的笔记记得有点多,也有些思考,想配点代码图片发博客,但还是太懒了,现在就发些文字吧



代码块:


代码化块又称为初始化块,属于类中的成员(即是类的一部分),类似于方法,将逻辑语句封装在方法体中,通过大括号围起来。但和方法不同,没有方法名没有返回,没有参数,只有方法体,而且不用通过对象或类显式调用,而是加载类时,或创建对象时隐式调用。

1)相当于另外一种形式的构造器(对构造器的补充机制),可以做初始化的操作

2)场景: 如果多个构造器中都有重复的语句,可以抽取到初始化块中,提高代码的重用

static代码块也叫静态代码块,作用就是对类进行初始化,而且它随着类的加载而执行,并且只会执行一次。如果是普通代码块, 每创建一个对象,就执行。如果只是使用类的静态成员时,普通代码块并不会执行


补充:类什么时候被加载


  1. 创建对象实例时
  2. 创建子类对象实例,父类也会被加载
  3. 使用类的静态成员时(静态属性,静态方法)


创建一个对象时,在一个类中调用的顺序是:


  1. 调用静态代码块和静态属性初始化(静态代码块和静态属性初始化优先级一样,如果有多个静态代码块和多个静态变量初始化,则按他们定义的顺序调用。
  2. 调用普通代码块和普通属性初始化(普通代码块和普通属性初始化优先级一样,如果有多个普通代码块和多个普通变量初始化,则按他们定义的顺序调用。
  3. 调用构造方法


如果是创建一个子类对象是,综合的顺序如下:


  1. 父类的静态代码块和静态属性(优先级一样,按定义顺序执行)
  2. 子类的静态代码块和静态属性(优先级一样,按定义顺序执行)
  3. 父类的普通代码块和普属性初始化(优先级一样,按定义顺序执行)
  4. 父类的构造方法
  5. 子类的普通代码块和普通属性初始化(优先级一样,按定义顺序执行)
  6. 子类的构造方法


个人理解:


  1. new一个对象时,先是进行类的加载。而类的加载就有静态代码块的初始化和静态变量初始化。(方法只有被调用时才会加载,这个不在讨论内)。所以子类的静态成员初始化能在父类普通成员前面。
  2. 类加载完后才是实例的创建,而这就是普通代码块初始化和普通变量的初始化。遵循父类在子类前面的原则,先是父类普通成员的默认初始化,显示初始化,最后是构造器初始化。这个我理解是成员变量有默认值,但我们创建对象时用到构造器,本来就是想用构造器里我们传进来的值,所以设计上就是最后构造器初始化,将传进来的值对默认的值进行覆盖操作。
  3. 父类构造器初始化完成后,就轮到子类,默认初始化,显示初始化,构造器初始化。(这个是不是也有点像构造器初始化在默认初始化后面,子类同名的变量和重写的方法会对父类进行......类似的覆盖效果,虽然通过super关键字还是能访问到父类的同名成员,但真要是用到了变量和方法,只能是从最后一层的子类开始查起(一般情况,这里就不讨论属性是绑定编译类型类的了),也有点......覆盖的意思了吧。
  4. 至于静态代码块和静态变量只能调用静态的成员,到这里也有了解释,因为静态成员加载是在普通成员加载的前面,静态成员里调用普通成员时,普通成员有可能还没被加载出来,这样子当然就不行啦



单例模式-饿汉式:


  1. 构造器私有化 (防止外部直接 new
  2. 在类的内部直接创建static对象
  3. 提供一个公共的static方法,返回对象


理解:有些时候,类只需要一个实例就可以运行,多的反而影响性能或者没必要。这时候私有化构造器,就能禁止在外部实例化。同时只在内部实例化一个对象,用static方法返回。外部想调用类的实例就只有通过这个方法拿到实例。在其他属性和方法也加上static,这样在外面处于方便,可以不用拿到对象,直接 类名.方法名/属性名 直接获取数据或调用方法



单例模式-懒汉式:


  1. 构造器私有化 (防止外部直接 new
  2. 在类的内部声明对象,不 new
  3. 提供一个公共的static方法,判断对象是否为空,是的话就new一个对象。然后在方法最后返回对象。



饿汉式和懒汉式区别:饿汉式是不管外部是否调用实例,都会先创建好一个实例化对象,缺点是可能造成资源浪费。懒汉式是外部调用对象才会创建,缺点是会有线程安全问题

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
鱼友6191
作者分享
回来了!一切都回来了!
9
嘻嘻,失踪半年人员回归 大四上学期期末就找到了工作,资新和线下聊的都还满意。下一个学期除了做毕设,感觉整个人都颓废式开摆了 。好在是后面大家都搞完毕设,然后上岸的上岸,找工作的找到工作,然后一起出去玩。我们去了长沙,吃了臭豆腐,黄兴步行街各种小吃,当当热卤,网红水饺 。去了橘子洲,岳麓书院,杜甫江阁,省博......还爬了衡山,炒鸡开心 后面又去了一个星期的西安 ,去了城墙,钟鼓楼,大唐不夜城,看了兵马俑,还爬了华山......第一次跑这么远,在西安这个地方,能感受到扑面而来的历史文化气息。小时候读书时的大好河山不再是存在纸上的遐想,能够切实的接触和感受到了,真棒!! 感觉要爱上旅行了。希望入职后老板可以多批点假期,有时间多出去看看 然后就是回到学校啦,收拾东西搬到出租屋,回学校大家合影留念。四载的时光已然流去,毕业典礼上还没什么,感觉就是一群人有热热闹闹地聚在了一起,拍拍照。等回到出租屋里,空落落的一人面对四周的墙壁时,才有一种感觉涌上心头:啊,我已经毕业了。回想大学的四载,有欢笑也有遗憾。有些重要的人还没来得及挥手告别,晚上辗转反侧后,决定还是再一次回到学校,跟一些对我意义重要的人再一次相见,认真的告别。总算,这次不留遗憾了 后天就入职啦,打开编程导航发现排版都变样了。得在入职前瞄两眼找点感觉,不然太快被俺上司发现俺是个水货就不好了,嘻嘻 最后,用我抽灵签里的一句诗做结尾:鲲化为鹏一任飞,长安路上好光辉。阳谋阴卜皆如许,顺水行舟定好归 大家,共勉!!!
15
我是真的迷,做OJ项目,走一步跳几个bug,而且还不是和鱼总一样的bug[流泪][流泪][流泪],上到官网看demo,github搜issue,下至GPT加代码助手。中间百度,CSDN和google。怎么都大家都这么顺利,就俺一个悲催捏~ 有一些应该是我用了 java17的原因,但是这报错一个劲地往脸上蹦,就很难绷~ (运行成功的代码都一样,错误的代码各有各的bug
18
面了几家公司,刚好心仪的那家过了技术面[耶],而且线下交流会,听说待遇不错[色]。感觉有了个底吧,心态没有以前焦急,也松懈了一些。不过它是毕业后入职,现在再努努力,努力找一份实习攒点经验,到时候入职应对轻松一点 然后是期末考啦,考完浪了几天,换了副眼镜(国外镜片好贵[流泪],赚钱的心又强烈起来了)。浪完继续补OJ,看b站鱼皮的虚拟机准备视频,真真是踩了好多大坑[晕][晕][晕]。不说刚开始配置时没开管理员权限,每次改一点东西都是改两遍(第一遍没开管理员权限)。然后主机ping不通虚拟机,找了一堆东西,刚开始我以为时没破解VM Player版的原因,破解了结果也不行。然后换成 VM Pro 版,顺带也找到了激活码(中间又是因为没开管理员权限重复操作好多次[心碎])。Pro版的虚拟机网络编辑器里,每改一次选项都要等十多分钟。倒腾一天多终于是定位到问题所在,没法将主机虚拟适配器连接到网络,上网搜了两三个帖子,终于是看到一篇解决方案,下个清理器,把浏览器缓存什么的删掉,磁盘的碎片修复整理一下。历时两天半,终于ping通了[拳头]。后面的就很顺了。不过在maven远程操控虚拟机跑项目时报错,一查我的JDK版本17,ubuntu默认安装的maven版本太低了。想到反正我linux也不怎么会,那就倒腾吧。也不急,然后慢悠地倒腾了一天,中间学习熟悉了很多linux命令。最后装上maven,成功运行。 晚上想着新开第六期视频,又转念一想,感觉挺重要的,应该记点笔记。动笔地时候,不知从何记起,先来这发个小文章吧
16
无聊,小唠几句~ 最近这些天,小摆大摆都有(捂脸~,不过还是把多线程还有JUC基础补完了,看的是狂神的教程,讲的很浅,但基础是够了。很多东西跟着敲一遍,疑惑的上网搜点其他文章,也是弄了个差不多明白吧~ 接下来打算是JVM,跟着黑马最新十月份出的教程,打算每天十集混到实战篇,占个坑,激励一下自己每天试着打卡,坚持下去~ 然后是杂谈吧,看了一个视频,聊到了坚持,最核心的就是抛弃完美主义。人的意志力就和体力一样,总有用完的时候。一些长期的事情如果只靠意志力坚持而没有正向回馈,或者说自己用意志去克服的困难远大于感受到的正向回馈,那意志力一耗完,是很难再坚持下去的。所以在学的时候尽量找一些正向回馈,让自己感受到已经进步了,充实的感觉:就比如分享或者复盘总结(如果这些能给你带来正向反馈的话)。记录学习进度,抛弃完美主义。这样就算中间开摆了一段时间,等精神恢复过来后可以心态平和地继续学习。 然后是阅读吧,我以为我很难再长时间阅读了,但最近一本书看得入迷后,居然一天手机电脑都没这么碰就看完了(如果它更长的话,感觉能连续看更久)。书名是《https://wx.zsxq.com/mweb/views/weread/search.html?keyword=杀死一只知更鸟》,里面小孩描述的视角,描写的情节和表现得精神我都好喜欢,小谈一下~ 对小孩地教育上,以身作则胜过一切言语。就如小孩说脏话,认识到每个小孩成长期都会出现诸如此类地问题,并且能认识到它是正常的,让小孩认识到说脏话是不好的行为,并不是一种很酷,能被众人瞩目的时候,小孩自然而然不会说脏话了。 对待小孩子的问题,无论是多么难以启齿的东西,至少要正面的去回答解释它,避而不谈或者绕开话题,孩子们会比你更敏锐地注意到这一点,然后他们会困惑,不仅是他们提出的问题,而且是你为什么不回答这个问题。 最让我深刻的,莫过于本书地核心了:我们每个人都是善良的,但都活在了自己活偏见里。小说里的杜博斯太太,爱多管闲事,议论是非,歧视黑人,对阿迪克斯为黑人做辩护律师地行为嘲讽挖苦,认为他有损名声,败坏风气。但就是这样的一个人,她信奉上帝,重病缠身多年。在医生告知人生只剩下几个月时,毅然决定一身清净地离开世间:不仅是物质上,还是精神上。她停掉了缓解疼痛的吗啡,承受着病痛与毒瘾的双重折磨,用意志力硬生生抗了四个月,最后,她成功了,用她那九十八磅的身躯成功战胜毒瘾,一身轻松地离开了这个世界~(原文:她是我见过最勇敢的人 还有坎宁安先生,审判时准备带人严刑殴打逼供黑人汤姆,让汤姆屈打成招,甚至杀死汤姆。但另一面,坎宁安先生家很穷,接受别人的帮助时,没办法在金钱上偿还,就想尽办法以自己的方式去感恩:有时候是新鲜的萝卜,一捆砍好整理好的木柴,有时是从湖里打捞出地一尾新鲜的鱼:绝不会让别人有所亏欠,直到他觉得自己偿还完了别人的恩情为止。后面情节的陪审团决议上,也是坎宁安先生被主角父亲所打动,坚持审议判汤姆无罪,可惜没能成功~ 类似的还有斯库特地老师,小镇上地很多人。他们都给了我很深地感触,就如书中所言:人不是非黑即白的,人从心底都是善良的,但人们也都活在了自己的偏见里。就像是,在自己的认知里,自己就是最善良的。我们不用怀疑自己的善良,但问题是,怎么能知道我们的认知是不是正确的呢?我们有怀疑过那是偏见吗? 看完这本书,真的是~回味无穷,也让我找回了长时专注阅读的感觉。下一本书也都定好了,本篇就先到这里吧。下一本看完后如果感触很深的话,再来这里胡乱唠几句,就这样,溜啦~
13
下载 APP