- 博客(54)
- 收藏
- 关注
原创 第六章 6.9 ArrayList
add(E e, Object[] elementData, int s) 是一个私有方法,主要负责具体的添加逻辑,包括检查数组是否需要扩展和更新元素的数量。add(E e) 是公共方法,是外部调用的入口,负责处理一些额外的操作(如修改计数器)并调用私有的添加逻辑方法。拷贝数组,index从哪个位置开始拷贝,index+1,从哪个位置开始放,s-index:拷贝多长 ,这是核心。实例,确保新实例的初始容量足够容纳所有元素,从而提高性能。传入集合进入:通过这个有参构造函数,进入的set方法(实例方法)
2024-11-02 19:16:01 237
原创 Flexism 任务序列
任务序列是Flexism仿真软件的核心机制。各种复杂仿真的实现很大程度取决于怎样实现任务序列。任务序列是由任务执行器执行的一组命令序列。这里的任务执行如操作员、叉车等。
2024-10-27 17:34:15 559
原创 flexsim 全局建模(重点为全局表调用)
模型:创建两种货物,根据货物的不同进行分类加工并送到不同的仓库,在根据设定好的打包类型(全局表),对不同托盘类型进行不同打包方式,最后进行配送。
2024-10-26 16:32:17 313
原创 Flexsim 教程1
在第一个模型中,我们将研究三种产品离开一条生产线进行检验的过程。有三种不同类型的临时实体将按照正态分布的时间间隔到达。临时实体的类型符合1、2、3 的均匀分布。当临时实体到达时,它们进入暂存区待检验。有三个检验台。一台用于检验类型1,另一台检验类型2,第三台检验类型3。教验后的临时实体放到传送带上。通过传送带,送到吸收器离开模型。模型1数据发生器到达速率:normal(20,2)秒暂存区最大容量:25个临时实体检验时间:exponential(0,30)秒传送带速度:1米/秒参数及逻辑。
2024-10-25 15:51:14 495
原创 第六章 6.8 List
List家族特点:有序可重复List接口常用方法: 源码LisrIterator继承Iterator获取光标指向的那个位置的下标获取光标指向的那个位置的上标静态方法重写comparable接口方法自定义排序规则sort()源码:在类user中重写comparable()方法,sort传入user,形参就为 Comparable user = new User(),就调用User中重写的comparable()方法了,就为自定义的排序规则。 使用Comparator自定义排队规则方
2024-10-25 14:13:20 978
原创 第六章 6.6 集合
Collection接口继承iterable接口,父类接口有一个iterator()方法,返回一个接口,所以这个接口相当于Collection的局部变量,有依赖关系。
2024-10-20 11:58:53 406
原创 FLexsim 实体
选择进入触发中的更新合成表列表,选择我们的全局表,然后对发生器1设置一个创建触发,设置标签类型,选择1~3,表明全局表中的三列分布对应订单1,2,3。从第二个输入端口进来,设置数量(因为第一个输入端口作为容器),就说明一个容器装入几个临时实体。Col1相当于订单1,需要一个产品A和一个产品B,所有列都设成1,其它以此类推。选用分解,选取数量,设置大小,根据触发器中选离开触发可以设置分解后的大小。将几种类型的实体可能规则约束为只能一起处理,处理完又分开了。①到达时间间隔:根据数学分布,自定义到达时间间隔。
2024-10-19 14:32:48 373
原创 第六章 6.5 枚举类
反编译之后,发现是一个final修饰的类,不能有子类,默认继承了一个类,变量都是final修饰的常量,还有一个value()方法,返回一个数组。
2024-10-11 12:26:03 265
原创 1.1 flexsim基础入门
(经常用于货物搬运的时候,中间端口连接属于无方向连接)假设有一个任务分配器,用来分配任务。暂存区与任务分配器连接,说明通过任务分配器作为中间商下达任务,任务分配器与操作员A连接,说明下达任务给操作员。
2024-10-09 13:03:40 276
原创 第六章 6.2 StringBuilder
构造方法:默认容量为16;通过StringBuilder的构造方法传给父类的构造方法capacitytruevaluecapacitycoderLATIN1valuecoderUTF16。
2024-09-30 13:33:36 693
原创 第六章 6.1 字符串常用方法
JVM在启动过程中,有一个类加载的过程,会进行一系列的初始化(包括类的加载,静态变量的初始化)会初始化字符串常量池中。String实现comparable接口,重写了compareTo()方法,表示String类是一个可以比较的类。编码字符集设定的是UTF-8,解码设定的是JDK,互补相同,所以用到的规则不同,导致乱码。⑤有的时候我们不知道字符集的编码方式,所以用到⑤的构造方法。正数的原码反码补码都是相同的:例如127的三种码都是01111111;参数:该方法接收一个与当前对象同类型的对象作为参数。
2024-09-29 20:46:27 338
原创 第五章 5.1 异常
自定义异常灵感来源于源码:NullPointerException继承了RunTimeException,一个无参构造,一个有参构造自定义异常代码/*程序主入口*/System.out.println("欢迎本系统,请注册:");System.out.print("请输入用户名:");System.out.print("请输入年龄:");//注册//这里的代码可能出现异常,register方法throws了,交给了调用者main解决//用户业务类。
2024-09-23 15:19:00 267
原创 第四章 4.1 数组/main方法(arg参数)/二维数组
总结:以int为例,局部变量表知道0索引得地址,数组存储得数据类型都是同类型的,int每个占四个字节,计算机通过计算能够得到所需要的地址,很方便。时间复杂度为O(1),1代表固定不变,因为数组在寻找的是通过计算得出的位置,可以理解为一个公式计算。
2024-09-18 15:44:58 355
原创 第三章 3.13 接口
Computer类中使用了HardDriver类,以及Printer类导致Computer类和HardDrive,Printer合度太高Computer类扩展力太差。假如说电脑要连打印机,在定义一个新的类,这部分符合OCP(可扩展原则),但是Computer电脑类的源码改变,不符合OCP原则。System.out.println("连接设备成功");Computer是调用者,剩下的是实现者,分清调用者和实现者,定义接口,Computer类的扩展力差。这个程序没有使用接口。接口与抽象类如何选择。
2024-09-08 13:02:48 508
原创 第三章 3.12 抽象类
private 不能被继承,不能被继承就不能被覆盖,就不能被重写;stastic不能被继承就不能被重写。final最终的不能被重写;
2024-09-05 16:36:08 245
原创 第三章 3.11 final关键字
⑥⑦final 修饰的变量不能重新赋值,pro被final修饰,pro存储的是堆中对象new出来的地址值,所以不能在指向其他对象,但是对象内部的数据还是可以更改的。
2024-09-05 16:12:29 121
原创 第三章 3.10 super关键字
当父类和子类定义了相同的属性或者方法时不能省略,比如:Person 有name属性;Teacher中也有name属性。③。
2024-09-05 12:55:59 513
原创 第三章 3.9 多态及其常见错误
除了基本数据类型之间的类型转换之外,对于引用数据类型来说,也可以进行类型转换。new Cat()只能发生在运行期间开始执行,发生在堆当中开辟空间。因此在编译的时候就会去Animal类中找move()方法。在编译的时候,编译器只知道a2的类型是Animal类型。在运行的时候,堆内存中真实的java对象是Cat类型。找到之后,绑定上去,此时发生静态绑定。因此运行的时候就会调用Cat对象的move()方法。所以move()的行为一定是Cat对象发生的。因为编译阶段是一种形态,运行的时候是另一种形态。
2024-09-02 16:15:36 471
原创 第三章 3.8 继承
java语言中,一个类没有显示继承任何类,默认继承Object类。Object式老祖宗,是JDK类库中的根类。@override注解用来标志方法。
2024-09-02 10:29:03 157
原创 第三章 3.6 JVM体系结构规范
红线为符号引用(本质上是package的绝对路径+名称)在根据符号引用后关联的内存地址寻找和调用方法或属性。启用本地内存的原因:JDK6中永久代中存储的东西太多了,容易产生OOF错误(内存溢出错误)④从规范上来说静态变量存在在方法区,规范只是设定规则,但是静态变量是存在在堆中。⑤字面量:i = 10 10就是字面量;符号引用:类名,属性名,方法名;⑥ Native 方法 是C++写的源码方法;在加载class文件和静态代码块之间干的事情。
2024-08-30 10:42:56 306
原创 第三章 3.5 static关键字
100个对象就应该有100个空问)当一个属性是类级别的(所有对象都有这个属性,并且这个属性的值是一样的),建议将其定义为静态变量,在内存空间上只有一份。将new 的对象 zhangsan等都设为null,但是语法zhangsan.name正确,在运行时,由于zhangsan已经设为null,而name是实例变量,需要一个new的实例出来,导致zhangsan.name指向为空,导致空指针异常。4.所有static修饰的,访问的时候,直接采用“类名.”,不需要new对象。2.静态代码块什么时候执行?
2024-08-29 11:36:27 296
原创 第三章 3.4 this关键字
代码没得到复用-----------------------解决办法this(实参){只能出现在构造方法第一行,前边不能出现代码,而且只能出现一次}------------------>保证了不会重复堆的创建。static 方法中不能出现this,因为static是静态的,不需要实例化能直接调用,内部语法不存在this,this只针对于实例变量。this存储的是对象的地址。因为this是实例对象才能调用。引用. = this.
2024-08-29 10:55:11 150
原创 第三章 3.3 构造方法
new的时候:会直接在堆内存中开辟空间。然后给所有属性赋默认值,完成对象的创建。(这个过程时在构造方法体执行之前就完成了。在构造方法中赋值是对象第一次创建时属性的值,set方法可以在后期的时候调用,来完成属性值的修改。如果所有的构造方法在最开始的时候有相同的一部分代码,不妨将这写到代码块中。构造方法体开始执行,标志着开始进行对象初始化。在一个类当中系统会默认提供一个无参数的构造方法;第二个阶段:对象的初始化;第一个阶段:对象的创建;2.2对象初始化在什么时候完成的?2.1对象在什么时候创建的?
2024-08-28 14:47:57 109
原创 第三章 3.2 封装
解决:第一步属性私有化 private,作用:禁止外部程序对该属性进行随意访问。第二步:为了保证外部的程序仍然可以访问age属性,因此要对外提供公开的访问入口。外部随意访问age属性,很不安全。
2024-08-28 13:25:15 214
原创 数据类型详解
对于取值范围,要理解什么是原码、反码、补码。计算机底层是通过补码来存储的,一个字节8个二进制位,最高位代表正负,0代表正,1代表负,所以一个字节的最小就为10000000,为-128,最大为01111111,为127,所以一个字节的取值范围为-128~127。2的七次方-1的原理。成员变量如果没有赋值,系统会自动赋值。java中任何一个自变量,都会默认当成int类型来处理。int i = 100;程序从右向左执行,先存储100;不知道多大,先分配4个字节空间,也就是int类型;long 8个字节强转 int
2024-07-08 12:15:57 212
原创 原码/反码/补码
128比较特殊,但是也直接套用负数原码规则就行,不用考虑首位位数。计算机底层是用二进制传输数据的,并且计算机底层是用补码来表示的。补码除符号为取反,然后+1(强制类型转化会涉及到精度问题的原理)为:10000000-01111111:即-128-127。:例如127的三种码都是01111111;正数的原码反码补码都是相同的。搞懂三者规则,我们可以推断是。
2024-07-06 17:44:45 336
原创 进制相关知识点
数制:又称为计数制,是一种计数的方法,是用一组固定的符号和统一的规则来表示数值的方法。基数是16,有十六种数字符号,除了在十进制中的0至9外,还另外用6个英文字母a-f来表示十进制数的10至15。基数为10,数值部分用0、1、2、3、4、5、6、7、8、9来表示.将下列十六进制数转换为十进制数。例1:将下列二进制数转换为十进制数。例2:将下列八进制数转换为十进制数。例3:将下列十进制数转换为十六进制。例1:将下列十进制数转换为二进制。例2:将下列十进制数转换为八进制。二、八、十六转换为十进制。
2024-07-06 15:46:09 274
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人