Java basic

This is my personal study notes for quick revision of Java basic skills. Each single images and each paragraph are from internet and they are free sources of open to the public.


JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: 
@Before:初始化方法   对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)
@After:释放资源  对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次)
@Test:测试方法,在这里可以测试期望异常和超时时间 
@Test(expected=ArithmeticException.class)检查被测方法是否抛出ArithmeticException异常 
@Ignore:忽略的测试方法 
@BeforeClass:针对所有测试,只执行一次,且必须为static void 
@AfterClass:针对所有测试,只执行一次,且必须为static void 
一个JUnit4的单元测试用例执行顺序为:
@BeforeClass -> @Before -> @Test -> @After -> @AfterClass; 
每一个测试方法的调用顺序为:
@Before -> @Test -> @After;



Java basic

Java basic

Java basic

Java basicJava basicJava basicJava basicJava basicJava basic

Java basic

Java basicJava basicJava basic

Java basic


Java basicJava basic

Java basic

Java basicJava basicJava basic


Java basic


自定义线程的创建方式:

方式一 :

                1. 自定义一个类继承Thread类。

                2. 重写Thread类的run方法,把自定义线程的任务代码写在run方法上。

                3. 创建Thread的子类对象,并且调用start方法启动一个线程。       

                注意:千万不要直接调用run方法,调用start方法的时候线程就会开启,线程一旦开启就会执行run方法中代码,如果直接调用

                run方法,那么就 相当于调用了一个普通的方法而已。

 

方式二:

                1. 自定义一个类实现Runnable接口。

                2. 实现Runnable接口 的run方法,把自定义线程的任务定义在run方法上。

                3. 创建Runnable实现类对象。

                4. 创建Thread类 的对象,并且把Runnable实现类的对象作为实参传递。

                5. 调用Thread对象 的start方法开启一个线程。

 

问题1: 请问Runnable实现类的对象是线程对象吗?

                Runnable实现类的对象并 不是一个线程对象,只不过是实现了Runnable接口 的对象而已。

                只有是Thread或者是Thread的子类才是线程 对象。

问题2: 为什么要把Runnable实现类的对象作为实参传递给Thread对象呢?作用是什么?

                作用就是把Runnable实现类的对象的run方法作为了线程的任务代码去执行了。

 

推荐使用: 第二种。 实现Runable接口的。

原因: 因为java单继承,多实现的。

Java basic

Images are from youtuber(Edward Shi)-> https://www.youtube.com/watch?v=B6j2Wi3f9OI



Seriealizable 用法 http://blademastercoder.github.io/2015/01/29/java-Serializable.html