随笔分类 -  javase

摘要:java线程的两个特性:可见性和有序性多个线程之间是不能传递数据交互的,他们之间的交互只能通过共享变量来实现。在多个线程之间共享了count类的一个对象,这个对象时被创建在主内存(堆内存)每个线程都有自己的工作内存(线程栈)工作内存存储了主内存count对象的一个副本,当线程操作count对象时,首先从主内存复制count对象到工作内存中,然后执行代码count.count()该变了num值,最后用工作内存count刷新主内存count。当一个对象在多个内存中都存在副本时,如果一个内存修改了共享变量,其他线程也应该能够看到被修改后的值,此为可见性。由上述可知,一个赋值操作并不是一个原子性操作, 阅读全文
posted @ 2012-05-09 12:08 陕北蜂农 阅读(168) 评论(0) 推荐(0)
摘要:1、sleep()方法会给其他线程运行的机会,而不考虑其他线程的优先级,因此会给较低线程一个运行的机会;yield()方法只会给相同优先级或者更高优先级的线程一个运行的机会。2、当线程执行了sleep(long millis)方法后,将转到阻塞状态,参数millis指定睡眠时间;当线程执行了yield()方法后,将转到就绪状态。 3、sleep()方法声明抛出InterruptedException异常,而yield()方法没有声明抛出任何异常 4、sleep()方法比yield()方法具有更好的移植性5、当线程调用了自身的sleep()方法或其他线程的join()方法,就会进入阻塞状态(该状 阅读全文
posted @ 2012-05-09 12:07 陕北蜂农 阅读(469) 评论(0) 推荐(1)
摘要:首先static的成员是在类加载的时候初始化的,JVM的CLASSLOADER的加载,首次主动使用加载,而非static的成员是在创建对象的时候,即new 操作的时候才初始化的; 先后顺序是先加载,才能初始化,那么加载的时候初始化static的成员,此时非static的成员还没有被加载必然不能使用,而非static的成员是在类加载之后,通过new操作符创建对象的时候初始化,此时static 已经分配内存空间,所以可以访问! 简单点说:静态成员属于类,不需要生成对象就存在了.而非静态需要生成对象才产生.所以静态成员不能直接访问. 下面说说静态的特点: 1.随着类的加载而加载也就是,说静态会随.. 阅读全文
posted @ 2012-04-23 13:32 陕北蜂农 阅读(173) 评论(0) 推荐(0)
摘要:通常,派生类继承基类的方法,因此,在调用对象继承方法的时候,调用和执行的是基类的实现.但是,有时需要对派生类中的继承方法有不同的实现. 例如,假设动物类存在"跑"的方法,从中派生出马和狗,马和狗的跑得形态是各不相同的,因此同样方法需要两种不同的实现,这就需要"重新编写"基类中的方法 重写只能用于父类与子类之间! 重写的规则: 子类中的方法必须与父类中的方法一致,并且范围只能扩大不能缩小,例如父类中定义的方法是 public 型的 子类中的就不能写成protected 型否则会报编译错误!父类中的定义为protected 型的子类中的可以定义为public 阅读全文
posted @ 2012-04-22 12:56 陕北蜂农 阅读(228) 评论(0) 推荐(0)
摘要:首先我们了解一下我们要配置的各个变量的含义: bin 可执行文件; lib 是sun官方库文件; src.zip 源代码JAVA_HOME 配置安装目录CLASSPATH lib 目录主要为java 查找类服务PATH 可执行文件的路径,lib 目录可执行文件在所有目录下都能欲行下面我们讲讲具体的配置过程:首先打开我的电脑属性 如下图:点击环境变量:上面的用户变量只知针对当前用户的变量!建议修改下边的系统变量!首先新建 JAVA_HOME 在值里面写上你的jdk 的安装路径 譬如我jdk 安装在f 盘 F:\Program Files\Java\jdk1.6.0_10PATH 里面 F:\Pr 阅读全文
posted @ 2012-04-21 11:49 陕北蜂农 阅读(152) 评论(0) 推荐(0)
摘要:JDK : java development kase java开发工具包,安装后 有JRE JRE 核心 是JVMJRE: java 运行环境JVM :java 虚拟机GC :垃圾回收机制IDE :应用程序接口java 语言的好处: 加快开发速度 一次编写到处执行(跨平台性) 这个在上篇已经解释过了! 多线程 简化开发,降低难度 阅读全文
posted @ 2012-04-21 10:52 陕北蜂农 阅读(199) 评论(0) 推荐(0)
摘要:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。 Java 编程语言的风格十分接近C、C++语言。Java是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心,Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 . 阅读全文
posted @ 2012-04-21 10:46 陕北蜂农 阅读(156) 评论(0) 推荐(0)