自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 关于等价性的分类

关于等价性的分类java中的对象分为immutable的和mutable的对象,课上说不可变对象的等价性分为引用等价性和对象等价性,可变类型分为观察等价性和行为等价性私以为对于所有对象都分为引用等价性和对象等价性引用等价性就是 ==对象等价性就是 equals然后只是对于可变类型的对象的equals实现起来比较复杂,所以在实现equals的思路又分了两种观察等价性和行为等价性观察等价性:在不改变状态的情况下,两个mutable对象是否看起来一致但是在集合类有关hashcode的时候可能会出现问

2020-07-09 18:45:50 528

原创 关于软件构造的三维度八视图

关于软件构造的三维度八视图三维度:Build-time(构造阶段):idea→ requirement→design→ code→installable/executable packageCode-level view: source code–how source code are logically organized by basic program blocks such as functions,classes,methods,interfaces, etc,and the depende

2020-07-09 15:55:25 302

原创 关于多线程中的中断和sleep

关于多线程中中断与sleep的理解课堂上讲只有sleep的时候才能对中断信号做出相应反应,我认为这个说法是老师为了好让我们理解而做的一个解释为此我专门找了一些资料来探究这个问题。每个线程中有一个标志位用于表示是否中断在其他线程中通过t.interrupt();这个函数向t线程发出中断信号,将标志位置为true;如果线程在sleep之前或者sleep的时候接收到这个信号,就会在sleep的时候抛出异常,之后程序员就可以用catch语句进行相关的处理但是也不一定非要用sleep也可以用t.

2020-07-09 09:47:56 959

原创 关于java中重载和重写的相关

java中override(重写)和overload(重载)是不同的,具体的不同我想其他博客什么的已经说的很清楚了,这里主要想探讨一下关于方法调用的具体选择上在软件构造课上学到:对于Overload而言,选择哪种方法是在编译阶段根据引用(栈中)的类型而确定的。对于Override而言,选择哪种方法是在运行阶段根据在堆中的具体对象实例的类型决定的。由于好奇,做了以下试验public class Super { public void print() { System.

2020-06-29 22:22:23 77

原创 关于java中集合类的不可变包装的一些思考

众所周知,java中的各种集合类,比如List,Set,Map等都是mutable的类,为了安全性,经常会利用到Collection类中的不可变包装的方法将其包装成不可变类型的变量,比如Collections.unmodifiableList()方法。但是倘若进行如下代码,会发现尽管使用了该方法进行包装但是内部数据还是可以发生变化,于时,针对这个问题我展开了思考。 List<Date> dateList = new ArrayList<>(); Date dat

2020-06-27 19:39:14 140

原创 关于java中变量存储位置

关于java中变量存储位置class A{ static int a; Date b; void do(){ Calendar c; }}同学给我了上面的代码,问了我这样一个问题,a、b、c分别都在哪里分配内存?我一时发懵,于时查阅资料并且进行总结有五个不同的地方可以存储数据:1)寄存器。这是最快的存储区,因为它位于不同于其他存储区的地方———处理器内部。但是寄存器的数量极其有限,所以寄存器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象(另一

2020-06-16 20:52:42 199

原创 有关多线程的一些问题

课上所学多线程部分出现的问题下面是一段上课时ppt上的线程public class Test { public static int x = 1; public static void main(String[] args) { Thread thread1 = new Thread(new Runnable() { @Override public void run() { x *= 2;

2020-05-23 14:13:47 81

原创 Java 流(Stream)、文件(File)和IO

Java 流(Stream)、文件(File)和IOjava.io几乎包含了所有的关于输入输出所需要的类在java中,流的概念可以理解为一个数据的序列java中任何由Inputstream和Reader派生而来的类都有read()的方法,但是为何就连想要实现一个简单的从控制台输入都要创建多个对象,通过多个对象叠合提供这个功能,比如BufferedReader br = new Buffe...

2020-03-21 22:05:25 53

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除