自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

想吃一口西多

甜甜的西多

  • 博客(10)
  • 收藏
  • 关注

原创 三个线程吃苹果

class Apple implements Runnable{ private int num=50; public void run() { for(int i=0;i<50;i++) { if(num>0) { System.out.println(Thread.currentThread().getName()+"吃了编号为"+num--+"的苹果");...

2018-03-31 22:34:17 357

原创 启用匿名内部类创建并启用线程

public class AnonyousInnerClassDemo { public static void main(String[] args) { for(int i=0;i<50;i++) { System.out.println("打游戏"+i); if(i==10) { new Thread(){ public void run() {...

2018-03-31 21:20:03 268

原创 进程&线程

多任务系统,该系统可以运行多个进程,一个进程也可以执行多个任务,一个进程可以包含多个线程。进程和线程的区别:进程:有独立的内存空间,进程中的数据存放空间(堆空间和栈空间)是独立的,至少有一个线程。线程:堆空间是共享的,栈空间是独立的,线程消耗的资源也比进程小,相互之间可以影响的,又称为轻型进程或者进程元。Java程序的进程至少包含主线程和垃圾回收线程(后台线程)(java支持多线程是个亮点呢)(软...

2018-03-30 23:49:02 104

原创 并行和并发

并行和并发是既相似又有区别(微观概念):并行:指两个或多个事件在同一时刻点发生并发:指两个或多个事件在同一时间段内发生在操作系统中,在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单CPU系统中,每一时刻却只能有一道程序执行(时间片),故微观上这些程序只能是分时交替执行。如果计算机有多个CPU,那这些并发执行的程序就可以被分配到多个处理器上,实现多任务并行执行。单核处理器的...

2018-03-30 10:28:34 144

原创 7.0异常的新特性以及原则

Java7的异常新特性:1)增强的throw2)多异常捕获3)自动资源关闭处理异常的原则:1.异常只能用于非正常情况,try-catch的存在也会影响性能2.需要为异常提供说明文档,比如java doc,如果自定义了异常或某一个方法抛出了异常,我们应该记录在文档注释中(写清楚这些干嘛,人家调用的时候就能看到)3.尽可能避免异常 如NullPointerException4.异常的粒度很重要,应该为...

2018-03-29 22:50:02 107

原创 异常转译和异常链

class CarWrongException extends Exception{ private static final long serialVersionUID = 1L; public CarWrongException(String message, Throwable cause) { super(message, cause); } public CarWro...

2018-03-29 18:37:19 290

原创 自定义异常

为什么需要自定义异常:SUN没有定义好,所以我们根据自己业务来定义怎么定义:(1)定义一个受检查的异常(编译异常)继承于java.lang.Exception(2)定义一个运行时期的异常类(运行异常) 继承于  java.lang.RuntimeException简单例子:public class loginException extends RuntimeException{ priva...

2018-03-29 10:41:14 174

转载 Java 数组在内存中的结构

Java中的数组存储两类事物: 原始值(int,char,...),或者引用(对象指针).当一个对象通过 new 创建,那么将在堆内存中分配一段空间,并且返回其引用(指针).对于数组,也是同样的方式.1. 一维数组[java] view plain copyint arr[] = new int[3];  int[] arr 指向 包含3个整数的数组. 假设创建的是包含10个整数的数组,也是同样的...

2018-03-28 22:26:57 166

转载 String字符串内存分析

字符串对象在创建的时候有两种方式:String str1 = "abc";String str2 = new String("abc");123这两种方式都是我们经常用到的,尤其是第一种方式。不管是哪一种创建字符串对象的方式,最终我们在程序中展现出来的效果是一样的。但这两种创建方式有什么不同呢,下面我们来从内存分析角度说明一下。这两种实现其实存在着一些性能和内存占用的差别。这一切主要是源于JV...

2018-03-28 22:21:41 4366

原创 大概的内存分析

今天收拾下沮丧心情,重新上网课学习。解决下自己遗忘久的内存分析。程序计数器程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,可以理解为是当前线程的行号指示器。字节码解释器在工作时,会通过改变这个计数器的值来取下一条语句指令。分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。由于Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来...

2018-03-28 21:57:26 122

空空如也

空空如也

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

TA关注的人

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