随笔分类 -  java基础

java基础
摘要:之前的博客说了,类加载分为五个阶段 加载->链接(验证+准备+解析)->初始化(使用前的准备)->使用->卸载 今天,遇到一个很有趣的现象: class Base { private String name = "base"; public Base() { tellName(); printNam 阅读全文
posted @ 2016-09-13 15:41 麦子TMAC 阅读(382) 评论(0) 推荐(0)
摘要:switch后面如果有一条case不加break的话,那么会将后面的case全部执行,不管是不是满足case的条件 如: 阅读全文
posted @ 2016-09-13 11:34 麦子TMAC 阅读(395) 评论(0) 推荐(0)
摘要:BigDecimal可以用来解决精度问题 阅读全文
posted @ 2016-09-12 21:12 麦子TMAC 阅读(166) 评论(0) 推荐(0)
摘要:JVM有三种类加载器:bootstrap负责加载系统类,extclassloader负责加载扩展类,appclassloader负责加载应用类。他们主要是分工不一样,各自负责不同的区域,另外也是为了实现委托模型。什么是委托模型呢,其实就是当类加载器有加载需求的时候,先请示他的父类使用父类的搜索路径来 阅读全文
posted @ 2016-09-12 16:30 麦子TMAC 阅读(1525) 评论(0) 推荐(0)
摘要:首先,要了解一下这些东西的存放位置 堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令) 2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身 栈区: 1.每个线程包含一个栈区,栈中只保存基础数据类型 阅读全文
posted @ 2016-09-12 16:28 麦子TMAC 阅读(152) 评论(0) 推荐(0)
摘要:1.继承Thread 2.实现Runnable 1和2的比较,1可以创建不同的任务,每个任务互不干扰,对于2,相当于只执行一个任务,多个任务之间互相影响,比如售票系统,每售出一张票,票数都要减1,这个时候应该用runnable,因为当其操控的是一个实例的时候,所有实现runable的类共用这个实例资 阅读全文
posted @ 2016-09-11 21:08 麦子TMAC 阅读(190) 评论(0) 推荐(0)