JAVA
邱成在路上
坚持努力拼搏奋斗
展开
-
多线程
多线程进程:正在进行中的程序。其实进程就是一个应用程序运行时的内存分配空间。线程:其实就是进程中一个程序执行控制单元,一条执行路径。进程负责的是应用程序的空间的标示。线程负责的是应用程序的执行顺序。一个进程至少有一个线程在运行,当一个进程中出现多个线程时,就称这个应用程序是多线程应用程序,每个线程在栈区中都有自己的执行空间,自己的方法区、自己的变量。jvm在启动的时,首先有一个主线原创 2012-07-31 12:08:39 · 331 阅读 · 0 评论 -
异常
异 常:异常:就是不正常。程序在运行时出现的不正常情况。其实就是程序中出现的问题。这个问题按照面向对象思想进行描述,并封装成了对象。因为问题的产生有产生的原因、有问题的名称、有问题的描述等多个属性信息存在。当出现多属性信息最方便的方式就是将这些信息进行封装。异常就是java按照面向对象的思想将问题进行对象封装。这样就方便于操作问题以及处理问题。出现的问题有很多种,比如角标越原创 2012-07-31 12:04:15 · 384 阅读 · 0 评论 -
内部类和匿名内部类
Object:所有类的直接或者间接父类,Java认为所有的对象都具备一些基本的共性内容,这些内容可以不断的向上抽取,最终就抽取到了一个最顶层的类中的,该类中定义的就是所有对象都具备的功能。具体方法:1,boolean equals(Object obj):用于比较两个对象是否相等,其实内部比较的就是两个对象地址。而根据对象的属性不同,判断对象是否相同的具体内容也不一样。所以在定义类时,原创 2012-07-31 11:57:15 · 418 阅读 · 0 评论 -
面向对象,封装,静态
面向对象:特点:1:将复杂的事情简单化。2:面向对象将以前的过程中的执行者,变成了指挥者。3:面向对象这种思想是符合现在人们思考习惯的一种思想。过程和对象在我们的程序中是如何体现的呢?过程其实就是函数;对象是将函数等一些内容进行了封装。匿名对象使用场景:1:当对方法只进行一次调用的时候,可以使用匿名对象。2:当对象对成员进行多次调用时,不能使用匿名对象。必须给对象起名字原创 2012-07-31 11:50:11 · 387 阅读 · 0 评论 -
继承,多态,接口
继 承(面向对象特征之一)好处:1:提高了代码的复用性。2:让类与类之间产生了关系,提供了另一个特征多态的前提。父类的由来:其实是由多个类不断向上抽取共性内容而来的。java中对于继承,java只支持单继承。java虽然不直接支持多继承,但是保留了这种多继承机制,进行改良。单继承:一个类只能有一个父类。多继承:一个类可以有多个父类。为什么不支持多继承呢?原创 2012-07-31 11:53:22 · 1984 阅读 · 0 评论 -
java语法基础
java语法基础:1,关键字:其实就是某种语言赋予了特殊含义的单词。 保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。 2,标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含 0-9、a-z、$、_ ; 注意: 1),数字不可以开头。 2),不可以使用关键字。3,常量:是在程序中的不会变化的数据。4,变量:其原创 2012-07-31 11:47:35 · 484 阅读 · 0 评论 -
java中ArrayList 、LinkList的区别分析
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList优于LinkedList,因为ArrayList可以随机定位,而LinkedList要移动指针一步一步的移动到节点处。(参考数组与链表来思考) 3.对于新增和删除操作add和remove,LinedList比较占优势,只需要对指转载 2013-12-04 10:34:16 · 457 阅读 · 0 评论 -
浅析java中ArrayList与Vector的区别以及HashMap与Hashtable的区别
就ArrayList与Vector主要从二方面来说.一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半就HashMap与HashTable主要从三方面来说。一.历史原因:Hashtable是基于陈旧的Dictionary类的,Has转载 2013-12-04 10:36:51 · 498 阅读 · 0 评论 -
同步,线程通信,lock
同步好处:解决了线程安全问题。弊端:相对降低性能,因为判断锁需要消耗资源,产生了死锁。定义同步是有前提的:1,必须要有两个或者两个以上的线程,才需要同步。2,多个线程必须保证使用的是同一个锁。同步的第二种表现形式:同步函数:其实就是将同步关键字定义在函数上,让函数具备了同步性。同步函数是用的哪个锁呢?通过验证,函数都有自己所属的对象this,所以同步函数所使用的原创 2012-07-31 12:11:19 · 1040 阅读 · 0 评论 -
java 包
包:定义包用package关键字。1:对类文件进行分类管理。2:给类文件提供多层名称空间。如果生成的包不在当前目录下,需要最好执行classpath,将包所在父目录定义到classpath变量中即可。一般在定义包名时,因为包的出现是为了区分重名的类。所以包名要尽量唯一。怎么保证唯一性呢?可以使用url域名来进行包名称的定义。package pack;//定义了一个包,名原创 2012-07-31 12:06:48 · 359 阅读 · 0 评论 -
正则表达式
正则表达式其实是用来操作字符串的一些规则。好处:正则的出现,对字符串的复杂操作变得更为简单。特点:将对字符串操作的代码用一些符号来表示。只要使用了指定符号,就可以调用底层的代码对字符串进行操作。符号的出现,简化了代码的书写。弊端:符号的出现虽然简化了书写,但是却降低了阅读性。其实更多是用正则解决字符串操作的问题。组:用小括号标示,每定义一个小括号,就是一个组,而且有自动编号原创 2012-09-17 22:34:57 · 294 阅读 · 0 评论 -
java网络编程
端口:物理端口:逻辑端口:用于标识进程的逻辑地址,不同进程的标识;有效端口:0~65535,其中0~1024系统使用或保留端口。java 中ip对象:InetAddress.import java.net.*;class IPDemo{ public static voidmain(String[] args) throws UnknownHostException原创 2012-09-25 08:05:48 · 276 阅读 · 0 评论 -
java线程池
关于线程池的知识,自己找了相关的资料学习,整理一下。线程池的作用: 线程池作用就是限制系统中执行线程的数量。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个原创 2012-09-24 22:54:38 · 272 阅读 · 0 评论 -
IO流
IO流:用于处理设备上数据。流:可以理解数据的流动,就是一个数据流。IO流最终要以对象来体现,对象都存在IO包中。流也进行分类:1:输入流(读)和输出流(写)。2:因为处理的数据不同,分为字节流和字符流。字节流:处理字节数据的流对象。设备上的数据无论是图片或者dvd,文字,它们都以二进制存储的。二进制的最终都是以一个8位为数据单元进行体现,所以计算机中的最小数据单元就是字节。意原创 2012-09-24 13:19:31 · 326 阅读 · 0 评论 -
java反射
每个类被加载之后,系统就会为该类生成一个对应的Class对象,通过该Class对象就可以访问到JVM中的这个类。Java程序中获得Class对象通常有如下三种方式:1).使用Class类的forName()静态方法。该方法需要传入字符串参数,该字符串参数的值是某个类的全限定类名(必须添加完整的包名)2).调用某个类的class属性来获取该类对应的Class对象。例如Person.class原创 2012-09-22 17:43:54 · 358 阅读 · 0 评论 -
Java学习枚举
看了张孝祥老师的面试题的讲解视频后,发现枚举的知识掌握的不是很好,重点复习并总结了一下。枚举的作用介绍为什么要有枚举问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别表示星期一到星期日,但有人可能会写成int weekday = 0;或即使使用常量方式也无法阻止意外。枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。枚举可以让编译器在编译时原创 2012-09-24 23:00:06 · 280 阅读 · 0 评论