- 博客(17)
- 收藏
- 关注
原创 Windows10和linux双系统安装
近期由于大数据课程需要安装win10+linux双系统,找了网上许多文章,发现了2篇最靠谱的文章,在此记录一下,以防以后再用到,也为了其他安装双系统的人提供一个链接地址:https://blog.csdn.net/qq_42815188/article/details/90301712?depth_1-utm_source=distribute.pc_relevant.none-ta...
2020-03-26 10:06:09
275
原创 软件构造lab3——电子跃迁设计之state和memento模式设计
电子跃迁时,保存每一次跃迁的状态,当需要回退时,直接输出需要回退的步数即可回到之前的状态。设计如下:UML图每个类的具体设计如下:1.Original类**2 Memento类3State类4Storage类具体介绍如下:每一个state代表原子结构系统的一个状态,每次进行电子跃迁时,Original的对象将会将当前的state深层拷贝一份放入memento中,进行深层...
2019-06-23 16:34:00
192
原创 软件构造---Java重载和重写应用举例
重载举例main函数运行的结果是第一个调用int型,第二个调用double型如果此时将参数为int型的方法Addthem注释掉,则编译器会报错,因为main函数中调用语句int result = a.addThem(b,c)中的b和c都是int型,不能自动进行类型转换_2.重载和重写综合运用举例只要掌握了us编译时看前面的的类型,运行时看后面的new的具体对象的类型,即可判断出第...
2019-06-21 00:44:43
235
原创 软件构造---Java方法的重载举例
Java中的方法可以重载,重载要求函数名相同,参数列表不同(类型或数量),返回值可以相同,也可以不同举例如下:1.当pattern有float,double,int和Integer4中类型时,运行main函数,结果为cccbbbb可见0是int型,0.0是double型当注释掉pattern为int型的方法时,再次运行main函数,结果为aaabbbb此时0被转换为float...
2019-06-20 23:58:49
198
原创 软件构造---Java子类中super和this的调用总结
构造函数:1.如果父类的构造函数只有有参数的构造函数子类的构造函数则需要显式地调用父类的构造函数且放置在构造函数的第一行,否则编译器会提示报错如下图:2.父类构造函数有2中,一种有参数,一种无参数3.this指调用本身的的构造函数...
2019-06-20 22:57:20
342
原创 软件构造-----java接口的实现与继承
参考文章https://www.cnblogs.com/chengdabelief/p/6204281.htmlhttps://www.cnblogs.com/Anidot/articles/7680375.htmlJava中的接口是一种比较特殊的抽象类按原理来说,接口中可以定义成员变量,默认声明为public static final为什么变量要用final 和static修饰?fi...
2019-06-20 21:19:50
145
原创 软件构造----多线程
线程的5种状态1.创建状态(New)通过new方法新创建了一个线程对象。2.就绪状态(Runnable)线程对象创建后,通过调用该线程对象start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。3.运行状态(Running)就绪状态的线程获取了CPU,执行程序代码。4.阻塞状态(Blocked) 阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行...
2019-06-19 15:44:50
122
翻译 软件构造----JVM的垃圾回收
本文参考文章https://blog.csdn.net/ctwy291314/article/details/84872271https://blog.csdn.net/qq_18344939/article/details/52224185JVM管理的内存可以总体划分为两部分:Heap Memory和Native Memory。Heap Memory及其内部各组成的大小可以通过JVM的一系...
2019-06-18 22:16:06
100
原创 软件构造实验----迭代器模式和equals重写总结
迭代器模式在使用HashSet集合时,如果想要按不同规则遍历集合中的元素,最方便的方式是重写迭代器中的方法并采用迭代器模式来组织多个自定义的迭代器类以实验3为例:以下构造3个迭代器,分别按轨道从小到大,日期从早到晚,位置从小到大的顺序遍历集合。l 生成迭代器的接口Aggregate的设计l 3个实现Aggregate接口的子类的设计如下² TrackAggregate² D...
2019-06-18 15:52:21
257
原创 软件构造复习-----Java内存分配
Java内存分配方式主要分为静态分配和动态分配其中静态分配发生在程序编译的时候动态分配发生在程序运行的时候动态内存分配的2个例子是栈和堆内存管理的模式主要取决于 Entity怎样attach一个object**静态内存分配1.在程序运行期间一个 Entity最多attach一个运行时对象2.静态内存分配在编译时可以确定每个数据在运行时所有要的内存空间,3.静态内存分配要求程序代码...
2019-06-18 10:10:30
136
原创 多线程安全问题
在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况,如果对于修改数据的代码不采用一定的措施,则多个线程可能在写入数据时出现脏数据的问题。 因为每个线程执行的过程是不可控的,所以很可能导致最终的结果与实际上的愿望相违背或者直接导致程序出错。 基本上所有的并发模式在解决线程安全问题上,都采用“序列化访问临界资源”的方案。 通常来说,是在访问临界资源的代码前...
2019-06-13 00:52:47
176
原创 软件构造实验6遇到的问题
1读取配置文件问题使用this.getClass().getClassLoader().getResourceAsStream(“xxx.properties”)方法读取配置文件总是报异常,如下:原因:程序找不到你的配置文件解决:上述代码使用的方法是找到所加载的类的路径,所以找到的是java工程下默认的bin目录,而该目录下没有配置文件更改代码为in = this.getClass...
2019-06-03 16:51:36
204
原创 软件构造实验5的一些感受和经验
1git创建分支push并返回主分支问题a:checkstyle之后的项目推送到分支后发现包名和类名都没有改变,还是最开始的,这是由于git缓冲区本来存在相应的文件,所以push后的包名和类名还是更改之前的解决办法:删掉原来的缓冲区(git rm --cached)后重新执行add和commit命令,再push即可待更……...
2019-05-28 19:20:02
146
原创 多线程的一道例题
有如下一道例题当2个进程同时执行这段程序时,当进程1执行语句1时,进程2执行语句2时,问进程2是否可以影响进程1对if语句中结果的判断?public class Pin{private static Pin simulator = null;public static Pin getInstance(){if(simulator == null){simulator = new P...
2019-05-28 15:28:25
135
原创 软件构造实验1 part2
P31.1 SocialNetwork该问题主要根据一个朋友圈的关系网建立一个无向图,并且计算出任意给定的两个人之间的距离。主要考察了数据结构中有关图方面的知识,如广度优先搜索,邻接表的建立,以及Java中关于对象,类和方法的应用。1.1.1 设计/实现FriendshipGraph类l 设计思路:² 要实现向图中添加点和边以及计算图中任意两点距离的方法;² 其中需要注意不能...
2019-04-04 15:31:52
217
原创 软件构造实验1 part1
写在前面的话----------记软件构造的6次实验以及学习过程的一些经历和知识点记录新接触软件构造这门课对于一个零Java基础的人来说确实有点困难,不过希望在慢慢摸索中逐渐进步~~实验1之前的准备工作,包括下载jdk,git以及eclipse和一些环境的设置。三者的下载没什么难度,lab0的实验说明上给出了下载地址,比较麻烦的是环境变量的设置。对于第一次接触这些软件的人来说比较生疏...
2019-03-06 22:56:48
1005
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人