摘要: java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域的生命周期与线程相同;栈帧中随着方法的进入和退出有条不紊的执行着出栈和入栈操作,每一个栈帧中分配多少内存在类结构确定下来时就一致的,因此这几个的内存分配和回收都具备确定性,在这几个区域就不需要过多考虑回收的问题,因为方法结 阅读全文
posted @ 2017-07-20 17:48 竹马今安在 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 匿名内部类也就是没有名字的内部类 正因为没有名字,a56爆大奖在线娱乐匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 abstract 阅读全文
posted @ 2017-07-20 15:05 竹马今安在 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 以常用的HotSpot和常用的Java堆为例,深入探讨HotSpot虚拟机在Java堆中对象分配、布局和访问的全过程 1.对象的创建 ①虚拟机遇到一条new指令后,首先将去检查这个指令的参数是否能够在常量池中定位到一个类的符号引用,并检查这个符号引用代表的类是否已经被加载、解析和初始化过,如果没有, 阅读全文
posted @ 2017-07-19 15:31 竹马今安在 阅读(321) 评论(0) 推荐(0) 编辑
摘要: Java与C之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”。 C、C++程序开发在内存管理区域,既拥有每一个对象的“所有权”,又担负着每一个对象声明开始到终结的责任,而Java在虚拟机自动管理机智的帮助下,不需要为每一个new操作去写配对的delete/free操作,不容易发生内存泄漏和内存 阅读全文
posted @ 2017-07-19 09:54 竹马今安在 阅读(262) 评论(0) 推荐(0) 编辑
摘要: Java 技术体系 1.java技术语言 2.各种硬件平台上的java虚拟机 3.Class文件格式 4.Java API类库 5.来自商业机构和开源社区的第三方Java类库 a56爆大奖在线娱乐们把Java程序设计语言、Java虚拟机、Java API类库统称为JDK,JDK是用于支持Java开发的最小环境 可以把 阅读全文
posted @ 2017-07-19 08:53 竹马今安在 阅读(165) 评论(0) 推荐(0) 编辑
摘要: a56爆大奖在线娱乐们并不希望对每一次内存访问都进行分析以确保程序时线程安全的,而是希望将一些现有的线程安全组件组合为更大规模的组件或程序 1.设计线程安全的类 设计过程中,需要包含以下三个基本要素 1.找出构成对象状态的所有变量 2.找出约束状态变量的不变性条件 3.建立对象状态的并发访问管理策略 分析对象的状态, 阅读全文
posted @ 2017-07-17 16:15 竹马今安在 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 1.可见性:a56爆大奖在线娱乐们不仅希望防止某个线程正在使用对象状态而另一个线程在同时修改该状态,而且希望确保当一个线程修改了对象状态后,其他线程能够看到发生的状态 变化。 NoVisibility可能会持续循环下去,因为读线程可能永远都看不到ready的值。还有a56爆大奖在线娱乐情况下,可能会输出0,他看到了ready,却没有 阅读全文
posted @ 2017-07-17 08:59 竹马今安在 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 对象的状态指存储在状态变量(例如实例或者静态域)中的数据,对象的状态可能包括其他依赖对象的域。 要编写线程安全的代码,核心在于要对状态访问操作进行管理,特别是对共享的和可变的状态的访问。“共享”意味着变量可以由多个线程同时访问,“可变”意味着变量的值在其生命周期内可以发生变化 什么是线程安全性? 当 阅读全文
posted @ 2017-07-10 12:06 竹马今安在 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 几乎所有的操作系统都支持运行多个任务,一个任务就是一个程序,一个运行中的程序就是进程,当一个程序运行时,内部可能包含了多个顺序执行流,a56爆大奖在线娱乐顺序执行流就是一个线程,进程是系统进行资源分配和调度的一个独立单位 进程有三个特征: 1.独立性,他有自己地盘,有自己的队伍,他不允许别人进来,别人就进不来 2. 阅读全文
posted @ 2017-06-29 11:57 竹马今安在 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 引言: 对一段看不到明显运行效果的代码,是比较乏味的,但是输入/输出却又是a56爆大奖在线娱乐程序都必须要的。Java的IO通过java.io包下的类和接口来支持,在java.io包下主要包括输入、输出两种IO流,每种输入、输出流又可分为字节流和字符流两大类。除此之外,Java的IO流使用了a56爆大奖在线娱乐装饰器设计模式,将I 阅读全文
posted @ 2017-06-28 11:20 竹马今安在 阅读(352) 评论(0) 推荐(0) 编辑