去年一年看了好多计科的基础课程,这次找工作面试时很多面试官都不关注这些,计划今年要扎扎实实自学完所有的SE内容和EE周边的一些东西;于是就有了SE系列;只是一些零星的笔记,并不期望能给别人启迪,只求自己不要学差了,也不要误导别人才是。 已经知道一些SE的基本知识,再看这些东西,肯定关注一些我以前不知道的东西,所以这里粗略
转载
2024-09-11 01:00:39
48阅读
提到设计模式的好处,不得不提到面向对象编程与面向过程编程举个例子,在中国的古代最初只有刻版印刷,有一次君王让工匠在石板上刻上"对酒当歌,人生真爽"这几个字
原创
2021-07-13 15:52:57
115阅读
提到设计模式的好处,不得不提到面向对象编程与面向过程编程举个例子,在中国的古代最初只有刻版印刷,有一次君王让工匠在石板上刻上"对酒当歌,人生真爽"这几个字,但是刻出来之后君王觉得不妥认为应该改为"对酒当歌,人生几何",于是工匠重新刻板,之前刻上"对酒当歌,人生真爽"的板子就毫无用处了当有了活字印刷后,可以每个字单独刻板,当需要更改时,则只需替换指定的字即可,实在妙哉我们可以将最初的刻版印刷比作面向过程编程,把活字印刷比作面向对象编程,通过上面的例子就可以比较出面向对象编程比面向过程编程优势的地方:—
原创
2022-01-25 13:37:45
352阅读
学习spring的时候见到了对工厂的配置,但是想不通为什么要使用工厂模式,于是搜索总结了一下。工厂的作用相当于帮助我们完成实例化的操作。
原创
2022-01-10 14:36:03
217阅读
学习spring的时候见到了对工厂的配置,但是想不通为什么要使
原创
2022-01-05 14:48:23
356阅读
首先,我们来明确,为什么要用克隆?克隆的对象可能包含一些已经修改过的属性,为new出来的对象的属性都还是初始化时候的值!所以当需要一个新的对象来保存当前对象的状态的时候,就靠克隆方法了!克隆又分为深克隆和浅克隆浅克隆:当对象被复制的时候,只复制他本身和其中包含的值类型的成员变量,而引用类型的成员对象并没有实现真正意义上的复制,只是引用值传递!深克隆:除了对象本身被复制外,对象所包含的所有成员变量也
转载
2023-09-27 06:36:20
110阅读
日常生活中,两个实体之间进行连接的部分称为接口。如电脑和 U 盘连接的标准 USB 接口。接口可以确保不同实体之间的顺利连接。如不同的电脑厂家和 U 盘厂家只要按照相同的 USB 接口进行生产,那么所有的电脑和 U 盘就可以顺利的连接起来。(1)Java 编程领域中,接口可以为不同类顺利交互提供标准。例如:老师让学生张三和李四一起完成,java 程序来模拟营业员和计算器的行为。张三和李四进行工作分
转载
2024-03-11 09:34:18
20阅读
前言注解也是引入自JDK 1.5,自引入后它就成为了Java平台中非常重要的一部分。开发过程中,我们也时常在应用代码中会看到诸如@Override,@Deprecated这样的注解。 那么,为什么要引入注解,还是以前的答案: 不管是什么,只要是新入的东西,基本都有三个目的:1.使得开发维护更便捷,减少程序员的开发工作量。 2.提高程序运行效率。 3.更加安全 很多人抱怨软件行业技术迭代快速,自己
转载
2023-10-08 01:08:37
103阅读
有大量的文章解释什么是设计模式,如何实现设计模式,网络上不需要再写一篇这样的文章。相反,在本文中我们更多的讨论什么时候用和为什么要用,而不是用哪一个和如何使用。
我将会为这些设计模式描绘不同的场景和案例,和提供一个简短的定义帮助你们中对这些指定的模式不熟悉的人。让我们开始吧。
这篇文章覆盖了Robert C. Martin书中提到的一些敏捷设计模式。这些设计模式都是最初由四人组在199
转载
2014-03-11 21:24:00
44阅读
1.为什么要克隆?新new一个不好吗?new一个的状态是初始值,如果改变了某个属性值,则需要通过相同的改变操作使得new出来的对象和现对象值相同。克隆可直接复制当前对象的任何值。并且初始化可能费时间比较多。克隆有浅克隆和深克隆。 2.浅克隆需要重写Cloneable接口中的clone()方法。package my_test;
public class TestCopy {
转载
2023-07-31 18:45:22
46阅读
这是前几天百度2面的时候,面试官问我的一个问题。说实话当时有点紧张,其实也没去细想,本身react我就学了2个多星期,虽然看过redux这些源码,不过这个问题好像我从来没想过。 那其实react官网本身就是用自身管理state的例子的,所以当时我就回答说:没有人规定一定要用redux,如果应用简单,自身管理完全ok,re
转载
2023-07-10 23:03:46
102阅读
一.这个知识出现的目的是什么解决内存泄露和OOM的问题 解合理的使用引用可以帮助垃圾回收器更好的管理Java内存二.这个知识的应用场合是什么在可能造成内存泄露的场景下 oom 因为软引用、弱引用、虚引用,不会和它关联的对象造成引用,所以不会对和他们关联的对象的生命周期产生影响。特别注意,在世纪程序设计中一般很少使用弱引用与虚引用,使用软用的情况较多,这是因为软引用可以加速JVM对垃圾内存的回
转载
2024-01-03 23:05:12
45阅读
春招在即,时间比较紧迫,所以最近文章可能改为一周一更或者一周两更,希望各位理解。全文脉络思维导图如下:image.png1. 为什么需要包装类在 Java 中,万物皆对象,所有的操作都要求用对象的形式进行描述。但是 Java 中除了对象(引用类型)还有八大基本类型,它们不是对象。那么,为了把基本类型转换成对象,最简单的做法就是将基本类型作为一个类的属性保存起来,也就是把基本数据类型包装一下,这也就
转载
2024-03-11 10:54:27
40阅读
很多人多年从事域名投资,行业特性是门槛低,回报高,因为具有这样的优势,所以深受人们的关注和喜爱。那很多人问我域名是什么?域名到底是干嘛用的呢?
转载
2023-07-31 10:48:54
111阅读
内容:记录单例模式的学习单例模式:单例模式:
保证一个类仅有一个实例,并提供一个访问它的全局访问点。
为什么要用单例模式呢?
在我们的系统中,有一些对象其实我们只需要一个,比如说:线程池、缓存、对话框、注册表、日志对象、
充当打印机、显卡等设备驱动程序的对象。事实上,这一类对象只能有一个实例,如果制造出多个实例就
可能会导致一些问题的产生,比如:程序的行为异常、资源使用过量、或者不一致性的结果
为什么要使用线程池?一个线程的执行过程包括:创建、执行、销毁 三个阶段。我们最关注的是线程执行阶段。创建、销毁线程伴随着系统资源的开销。线程池缓存线程,可以用已有的闲置线程来执行新任务,避免线程创建、销毁过程带来的系统开销。若线程并发数量过多,抢占系统资源会导致阻塞。线程池能有效的控制西安城最大的并发数。对于线程进行一些简单的管理策略。如延迟执行、定时循环执行等策略。1 为什么要用线程池?&nbs
转载
2023-12-24 10:40:37
27阅读
1.线程池为什么要使用线程池:反复创建线程开销大;过多的线程会占用太多内存。 解决以上两个问题的思路:用少量的线程——避免内存占用过多;让这部分线程都保持工作,且可以反复执行任务——避免生命周期的损耗。线程池的好处:加快响应速度;合理利用CPU和内存;统一管理。线程池适合应用的场合:服务器接收到大量请求时,使用线程池技术是非常合适的,它可以大大减少线程的创建和销毁次数,提高服务器的工作效率。 在开
转载
2023-08-11 16:53:21
130阅读
逻辑地址指的是程序自身看到的内存地址空间,它是一个抽象的地址,逻辑地址需要映射到物理内存中才能完成对内存的操作,为什么程序要需要操作虚拟的逻辑地址,而不是直接去操作物理地址,以及直接对内存条进行操作呢?内存中,每个内存单元的大小为一个字节,即8个bit,它们都有对应的物理地址,从小到大排列举个例子,MOVE REGISTER1 5,这个指令的意思是,将寄存器一号的数据移动到地址为5的内存单元中,这
转载
2024-04-02 07:05:42
29阅读
摩尔定律: 我们知道我们的多线程是在多核CPU的硬件条件下。我们现在的电脑一般都是起码四核的。我看一下我的电脑是几核的:没记错的话,插槽的个数应该指的是CPU的个数,而逻辑处理器指的应该是CPU的核心数。所以那为什么要使用多线程呢?1、充分利用CPU的计算能力我们的CPU是多核的,闲着也是闲着,为什么不利用起来呢?我们要把CPU的计算能力发挥到极致。线程是大多数操作系统调度的基本单元,一个程序作为
转载
2023-11-04 23:14:34
94阅读
参考视频教程: SpringBoot2.0不容错过的新特性WebFlux响应式编程.0不容错过的新特性WebFlux响应式编程 (http://www.notescloud.top/goods/detail/1291)缓冲和削峰:上游数据时有突发流量,下游可能扛不住,或者下游没有足够多的机器来保证冗余,kafka在中间可以起到一个缓冲的作用,
转载
2021-09-30 23:28:17
915阅读