java内存分析.
下面开始面向对象的内存分析:
堆和栈的区别
堆存放的是不确定的大小值(只有在运行的时候才知道)。
栈的存取速度快 堆的存取数速度慢一些存储空间大。
除了基本类型剩余的都是引用类型。
基本类型
在栈中开辟一块新的空间,将值放在开辟好的栈当中。
先声明[......]
java内存分析.
下面开始面向对象的内存分析:
堆和栈的区别
堆存放的是不确定的大小值(只有在运行的时候才知道)。
栈的存取速度快 堆的存取数速度慢一些存储空间大。
除了基本类型剩余的都是引用类型。
基本类型
在栈中开辟一块新的空间,将值放在开辟好的栈当中。
先声明[......]
数组的排序
1.使用util[......]
String separator = File.separator;
String path =
“dir1″+separator+”dir2″;
String filename = “Test.txt”;
File file = new
File(path,filename);
if[......]
Java容器类

从上图可以看出容器类的结构。
Collection 接口定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式。
Java中的流(IO流.
java.io包中定义了多个流类型(类或抽象类)来实现 输入 / 输出功能,可以从不同的角度对其进行分类:
按单位可分为: 字节流 (一个字节一个字节的读取) 字符流 (一个字符一个字符的读取『一个字符是两个字节』)
按功能不同可以[......]
java线程的同步并发。两个线程在同时的访问同一个资源。
这时需要将这个资源锁定(synchronized),否则可能会出现并发问题。
例子:
public
class TestSync implements Runnable {
Timer timer = new Timer();[......]
java线程死锁实例代码。
线程1正在执行,锁住对象1,如果还能够锁住对象2则完成执行。
线程2正在执行,锁住对象2,如果还能够锁住对象1则完成执行。
此时对象1已经被线程1锁住,他在等待锁定对象2,
由于这两个线程是同时运行的
但是对象2已经被线程2锁住,他在等待锁定对象1。[......]
java生产者消费者问题。public class Test {
public static void main(String[] args) {
Basket basket = new Basket();
Create create = new
Create(basket);
Eat[......]
java ThreadLocal 的使用。/**
* 演示 ThreadLocal 的使用
*/
public class ThreadLocalTest {
//
ThreadLocal 是一个泛型容器
private static ThreadLocal<String>[......]
Java中的Set,List,Map引出的排序技巧。
一。关于概念: List接口对Collection进行了简单的扩充,它的具体实现类常用的有ArrayList和LinkedList。你可以将任何东西放到一个List容器中,并在需要时从中取出。ArrayList从其命名中[......]