上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 27 下一页
摘要: 共享数据的并发处理多线程同时并发访问的资源叫做临界资源。多个线程同时访问对象并要求操作相同资源时分割了原子操作就会出现问题。(原子操作,不可再分的操作)会出现数据的不一致或数据不完整,为避免这种现象采用对访问的线程做限制的方法。互斥锁机制,利用每个对象都有一个monitor(锁标记),当线程拥有这个锁标记时才能访问这个资源,没有锁标记便进入锁池。任何一个对象系统都会为其创建一个互斥锁,这个琐是为了分配给线程的,防止打断原子操作。每个对象的锁只能分配给一个线程。1.Synchronized修饰代码块(同步代码块),publicvoidpush(charc){synchronized(this){ 阅读全文
posted @ 2011-05-03 15:32 BuildNewApp 阅读(581) 评论(0) 推荐(0) 编辑
摘要: Java多线程编程这里要先回忆一下进程,即运行中的程序,多任务操作系统中并发的一个任务(CPU是分时间片执行多个进程的),线程,其本质是进程中顺序的执行流程,进程有独立的进程空间进程中的数据存放空间(对空间和栈空间)是独立的。线程没有独立的存放数据的空间,他们的数据存储空间(堆空间)是共享的,线程间的栈空间是独立的,线程消耗的资源也比进程小。线程,是进程(运行中的程序)中顺序的执行流程,进程可以划分出多个线程。JVM(java虚拟机)本身就是一个进程,java只能够申请创建线程。操作系统决定线程是否有优先级,独占式的操作系统中系统会有优先级的概念,共享式的操作系统则不会优先级的。Java中的线 阅读全文
posted @ 2011-05-03 15:18 BuildNewApp 阅读(756) 评论(0) 推荐(0) 编辑
摘要: 例子如下:importjava.util.*;//事件源类classA{privateStringtest;privateListli=newArrayList();publicA(Stringtest){this.test=test;}publicStringgetTest(){returnthis.test;}publicvoidaddB(B b){this.li.add(b);}publicvoidremoveB(B b){this.li.remove(b);}publicvoidfire(){Cc=newC(this);Iteratorit=li.iterator();while(it 阅读全文
posted @ 2011-05-03 15:15 BuildNewApp 阅读(407) 评论(0) 推荐(0) 编辑
摘要: java中的图形界面GUI,图形化的用户接口,为了人机交互使用的。构造图形界面的步骤1,选择一个容器2,设置容器的布局管理器3,向容器添加组件4,添加事件的监听容器(Container)用于管理其他的组件的对象,组件必须放到容器里。JFrame,这是一个最顶层的窗体容器,所有其他的组件必须放在顶层容器里。JDialog对话框容器,他要依附于其父组件,他不是一个顶层容器。JPanel,他不是顶层容器,必须放在顶层容器中,任何一个容器都有add()方法,Panel面板是透明的(默认),他也是一个组件。布局管理:对于任何一个容器类中都有setLayout()方法,用容器对象调用这个方法,来设置容器的 阅读全文
posted @ 2011-05-03 14:59 BuildNewApp 阅读(1017) 评论(0) 推荐(0) 编辑
摘要: 集合类集合(集合类的对象)是用来管理其他若干对象的,它类似于C++标准模板库中的容器,不过在JAVA的集合类的对象中可以用来存放多种类型的对象。接口和类共同构成了一个集合框架,集合的概念,一个对象可以装载多个对象,这个对象就是集合对象。集合框架接口Collection用来管理多个对象,集合中的每个元素都是对象。Map,Map中没有对象,而是键值对,由Key,value组成的键值对,Key是不可重复的。value是可以相同的,一个Key和一个value一一对应。集合中用到的类,接口在java.util包中,在使用时注意将其引入import。Collection接口(以下介绍其子接口)1)List 阅读全文
posted @ 2011-05-03 14:19 BuildNewApp 阅读(875) 评论(0) 推荐(0) 编辑
摘要: Exception(例外/异常)对于程序可能出现的错误应该做出预案。例外是程序中所有出乎意料的结果。(关系到系统的健壮性)java会将所有的异常封装成为一个对象,其根本父类为Throwable。异常的分类Error和Exception。一个Error对象表示一个程序错误,指的是底层的、低级的、不可恢复的严重错误。此时程序一定会退出,因为已经失去了运行所必须的物理环境。对于Error错误我们无法进行处理,因为我们是通过程序来应对错误,可是程序已经退出了。我们可以处理的Throwable类中只有Exception类的对象(例外/异常)。Exception有两个子类:Runtimeexception 阅读全文
posted @ 2011-05-03 13:40 BuildNewApp 阅读(921) 评论(0) 推荐(0) 编辑
摘要: 内部类内部类也就是定义在类内部的类。内部类的分类1,成员内部类、2,局部内部类、3,静态内部类、4,匿名内部类(图形是要用到,必须掌握)。成员内部类四个访问权限修饰符都可以修饰成员内部类。内部类和外部类在编译时时不同的两个类,内部类对外部类没有任何依赖。内部类是一种编译时语法,在编译时生成的各自的字节码文件,内部类和外部类没有关系。内部类中可以访问外部类的私有成员。作为外部类的一个成员存在,与外部类的属性、方法并列。内部类和外部类的实例变量可以共存。在内部类中访问实例变量:this.属性在内部类访问外部类的实例变量:外部类名,this.属性。在外部类的外部访问内部类,使用out.inner。/ 阅读全文
posted @ 2011-05-02 20:01 BuildNewApp 阅读(407) 评论(0) 推荐(1) 编辑
摘要: java中的根类Objectjava中所有的类的父类或直接或间接的或隐含的都是Object类。java不允许循环继承,也就是互相继承是不可以的。Object类中的finalize()一个对象被垃圾收集的时候,最后会由JVM调用这个对象的finalize方法Object类中有一个StringtoString()方法,返回该对象的字符串表示。Object类中的toString()方法他返回的是类名加上他的地址的一个字符串。在子类中推荐覆盖toString()方法。Object类中的booleanequals(Objecto)方法是用来比较对象的内容是否相等,其返回值是boolean类型的值,相同为 阅读全文
posted @ 2011-05-02 20:00 BuildNewApp 阅读(628) 评论(0) 推荐(0) 编辑
摘要: Java中的接口接口是一种程序结构,是特殊的抽象类。接口中的方法必须都是公开的抽象方法(publicabstract),接口中的属性都是公开静态常量(publicstaticfinal)。声明一个接口用interface关键字,接口也是一种类型,编译之后也有生成相应字节码,他的声明规范也要符合类型的定义(一个源文件中只能有一个publicinterface,接口名和源文件名相同,有publicinterface,就不能在写publicclass了)。接口中的属性可以不加修饰符,方法也不用加修饰符。接口也可以继承,但是只能由接口继承,在用类去继承时要换用implements关键字,这时类和接口也 阅读全文
posted @ 2011-05-02 19:56 BuildNewApp 阅读(314) 评论(0) 推荐(0) 编辑
摘要: java中的修饰符static表示静态,它可以修饰属性,方法和代码块。1,static修饰属性(类变量),那么这个属性就可以用类名.属性名来访问,也就是使这个属性成为本类的类变量,为本类对象所共有。这个属性就是全类公有。(共有的类变量与对象无关,只和类有关)。类加载的过程,类本身也是保存在文件中(字节码文件保存着类的信息)的,java会通过I/O流把类的文件(字节码文件)读入JVM(java虚拟机),这个过程成为类的加载.JVM(java虚拟机)会通过类路径(CLASSPATH)来找字节码文件。类变量,会在加载时自动初始化,初始化规则和实例变量相同。注意:类中的实例变量是在创建对象时被初始化的 阅读全文
posted @ 2011-05-02 19:20 BuildNewApp 阅读(455) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 27 下一页