JAVA基础
文章平均质量分 83
温度的喵
你若盛开,清风自来
展开
-
多线程
Java编写程序都运行在在Java虚拟机(JVM)中,在JVM的内部,程序的多任务是通过线程来实现的。每用java命令启动一个java应用程序,就会启动一个JVM进程。在同一个JVM进程中,有且只有一个进程,就是它自己。在这个JVM环境中,所有程序代码的运行都是以线程来运行。 多线程的目的是为了最大限度的利用CPU资源。 一般常见的Java应用程序都是单线程的。比如,用java命令运行一个最简原创 2014-05-15 21:34:53 · 355 阅读 · 0 评论 -
泛型
Java中集合类对于存入的元素会忘记数据类型,当需要使用时去除的元素变为Object类型。从Java5之后,Java引入参数化类型的概念,允许在创建集合的时候指定集合的元素类型,Java的参数化类型就叫做泛型。 创建这种特殊集合的方法是:在集合接口、类后增加尖括号,尖括号里放一个数据类型,即表明这个集合接口、集合类中只能保存特定类型的对象。 泛型使集合类的使用更加健壮,原创 2014-03-07 09:30:31 · 541 阅读 · 0 评论 -
面向对象(四)—内部类,闭包与回调
把一个类放在另一个类内部定义,这个定义在其他类内部的类称为内部类,当然也可以叫做嵌套类,这是面向对象中重要的一部分。内部类对于程序来说提供了更好的封装效果,外部类完全无法访问内部类的实现细节,因此可以将内部类隐藏在外部类中。而且由于内部类成员可以访问外部类的私有类成员,内部类可以看做是外部类的成员变量。当出现只需要使用一次的类时,可以使用更加灵活方便的匿名内部类。 对于内部类,可原创 2014-02-26 21:57:54 · 731 阅读 · 0 评论 -
Java基础_数组
Java语言的数组变量是引用变量,是静态的,既当Java数组必须经过初始化才可以使用,初始化之后,该数组所占用的内存空间以及数组长度都是不可变的。 数组的初始化有两种方法: 1:静态初始化:初始化时显示指定每个数组元素,系统确定数组长度。 2:动态初始化:初始化时指定数组长度,数组元素由Java提供默认值。 无论采用哪一种初始化方式,长度确定后一定不可再次改变! 当采用动态初始化方式时,原创 2014-02-17 23:38:42 · 500 阅读 · 0 评论 -
内省IntroSpector与JavaBean
内省主要对于JavaBean进行操作,JavaBean是一种特殊的Java类,类内方法符合某种特殊的约定规则。 一个类中的某些方法以set或者get打头,那么这个类就可以称之为JavaBean。它的属性是按照这个类中的set或者get打头的方法来确定的。 JavaBean是一种特殊的Java类,主要用于传递数据信息,这种Java类中的方法主要用于访问私有的字段,且方法名符合某种命原创 2014-05-17 20:54:06 · 468 阅读 · 0 评论 -
集合(一)—集合之间关系
Java集合类是一种工具类,用于存储不定长度的数据。Java集合可以大致分为Set,List和Map三种体系,其中Set代表无序、不可重复的集合;List代表有序、重复的集合;而Map代表具有映射关系的集合。从Java 5之后又增加了Queue体系集合,代表一种队列集合实现。 集合类的出现是为了在编程时保存数量不确定的数据,以及具有映射关系的数据(也就是关系数组),所以也称集合类原创 2014-03-01 22:07:58 · 1091 阅读 · 0 评论 -
交通灯管理系统
一、需求分析 模拟实现十字路口的交通灯管理系统逻辑,具体需求如下: 异步随机生成按照各个路线行驶的车辆。 例如: 由南向而来去往北向的车辆---- 直行车辆 由西向而来去往南向的车辆---- 右转车辆 由东向而来去往南向的车辆---- 左转车辆原创 2014-05-29 19:38:09 · 730 阅读 · 0 评论 -
银行业务调度系统
一、需求分析 模拟实现银行业务调度系统逻辑,具体需求如下: 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。 异步随机生成各种类型的客户,生成各类型用户的概率比例为:原创 2014-05-29 22:00:27 · 579 阅读 · 0 评论 -
Java I/O(一)--字节流,字符流
Java基础:Java I/O系统 一、File类 File类既能代表一个特定文件的名称,又能代表一个目录下的一组文件的名称,它是java.io包下代表与平台无关的文件和目录,也就是说程序中操作文件和目录,都可以通过File类实现。如果指的是一个文件集,我们可以对此集合调用list()方法,这个方法将返回一共为字符串数组,注意这里返回的并不是一个泛型类,这里的元素个数是可以确定的。原创 2014-04-07 15:28:08 · 502 阅读 · 0 评论 -
Annotation(注释)
从Java5开始,java增加了对MetaData的支持,也就是Annotation(注释),这种Annotation与正常的注释有一定区别,也有一定的联系。这种Annotation可以在编译与运行时被虚拟机读取,并执行相应处理。通过Annotation可以在不改变与有逻辑的情况下,对源文件进行信息的补充。 Annotation与修饰符类似,可以修饰包、类、构造器、方法、成员变量、参数、原创 2014-03-09 21:04:47 · 571 阅读 · 0 评论 -
集合(二)—集合中的迭代
一、Iterator迭代 集合中迭代可以使用Iterator。Iterator也是Java集合框架中的成员,Iterator主要用于遍历集合中的元素,所以Iterator也称为迭代器。 Iterator中隐藏了各种Collection实现类的底层细节,向应用程序提供便利Collection集合元素的统一编程接口。 Iterator本身原创 2014-03-01 23:07:54 · 1210 阅读 · 0 评论 -
面向对象(二)—抽象思维中的抽象类,接口
一:抽象类 当编写一个类,其定义的一些行为方式无法准确的描述,也就是说某一个父类只知道其子类应该包含怎样的方法,但无法准确的知道子类的实现方式。这个时候我们可以将这些方法进行抽象,将这些方法加入abstract关键字,使这些方法变为抽象方法(抽象方法是只有方法名而不提供具体实现的方法)。 有抽象方法的类称为抽象类,但一个抽象类中可以没有抽象方法。抽象方法和抽象类的规则原创 2014-02-19 11:24:52 · 698 阅读 · 0 评论 -
面向对象(一)—关于面向对象的那些事
面向过程与面向对象是应用最广泛的两种编程思想,我们先说一下面向过程与面向对象的具体表现: 1:面向过程 是一种以过程为中心的编程思想,不允许混合持久化状态和域逻辑。就是分析出解决问题所需要的步骤,然后用函数把这些解题步骤实现,使用的时候依次调用函数就可以了。它考虑的是问题的具体实现,一般的面向过程是从上往下步步求精。所以面向过程最重要的是模块化的思想方法,它不适合大的工程。 2:原创 2014-02-18 17:19:59 · 620 阅读 · 0 评论 -
面向对象(三)—枚举
当一个类的实例对象是有限的而且是固定的,则称这些类为枚举类,实现枚举类有两种方法: 一:手动实现枚举类 当采用手动方法实现枚举类时,要将构造器方法隐藏,将这个类的所有可能出现的实例用public static final进行修饰,可以提供静态方法根据参数获取相应的实例。 例如说季节类,季节本身是固定的,某些变量是固定,因此说可以手动实现Seas原创 2014-02-20 16:04:11 · 531 阅读 · 0 评论 -
Socket网络编程
在计算机网络中,有OSI参考模型和TCP/IP参考模型。TCP/IP是时事上的标准,在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。常采用TCP和UDP两种网络传输方式。 TCP是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建 立连原创 2014-05-14 23:08:54 · 442 阅读 · 0 评论 -
Java I/O(二)--转换流,编码与文件分割
IO 中的使用到了一个设计模式:装饰设计模式。装饰设计模式解决:对一组类进行功能的增强。包装:写一个类(包装类)对被包装对象进行包装; 1、包装类和被包装对象要实现同样的接口; 2、包装类要持有一个被包装对象; 3、包装类在实现接口时,大部分方法是靠调用被包装对象来实现的,对于需要修改的方法我们自己实现。 很多时候我们读取到的字节流需要转换成具体的字符流,然后才能进行处理因原创 2014-04-14 21:58:30 · 543 阅读 · 0 评论 -
反射与类加载器
Java不是动态语言,但它却有着一个非常突出的动态相关机制-反射。用在Java身上表现为我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造,并生成其对象实体、对其fields设值、调用其methods。 反射是JDK5.0提供的java新特性,反射的出现打破了java一些常规的规则,反射可以强行查看一个原创 2014-05-15 10:55:07 · 594 阅读 · 0 评论