![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 52
程序员-缘
大家好,请多关照!
展开
-
MyEclipse 10汉化教程
下载好汉化包我们开始汉化吧,需要照我的步骤来。地址:http://download.csdn.net/detail/qq_36877577/9780329我的MyEclipse安装在D:\MyEclipse里面1.把汉化包里的language的文件夹复制到MyEclipse 10里面的Common文件夹里(一般里面是没有Common这个文件的,如果没有自己创建一个),看原创 2017-03-20 11:46:43 · 25405 阅读 · 6 评论 -
java语法基础
1,关键字:其实就是某种语言赋予了特殊含义的单词。保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。 2,标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含 0-9、a-z、$、_ ;注意:1),数字不可以开头。2),不可以使用关键字。3,常量:是在程序中的不会变化的数据。4,变量:其实就是内存中的一个存储空间,用于存储常量数据。作用原创 2017-03-21 14:53:35 · 187 阅读 · 0 评论 -
java函 数
为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是java中的函数。函数就是体现之一。java中的函数的定义格式:修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数1,…?){执行语句;return 返回值;}当函数没有具体的返回值时,返回的返回值类型用void关键字表示。如果函数的返回值类型是void时,return语句可以省略不写原创 2017-03-21 14:55:32 · 223 阅读 · 0 评论 -
java数组
用于存储同一类型数据的一个容器。好处:可以对该容器中的数据进行编号,从0开始。数组用于封装数据,就是一个具体的实体。如何在java中表现一个数组呢?两种表现形式。1)、元素类型[] 变量名 = new 元素类型[元素的个数];2)、元素类型[] 变量名 = {元素1,元素2...};元素类型[] 变量名 = new 元素类型[]{元素1,元素2...};------------原创 2017-03-21 14:59:02 · 146 阅读 · 0 评论 -
java面向对象
特点:1:将复杂的事情简单化。2:面向对象将以前的过程中的执行者,变成了指挥者。3:面向对象这种思想是符合现在人们思考习惯的一种思想。过程和对象在我们的程序中是如何体现的呢?过程其实就是函数;对象是将函数等一些内容进行了封装。匿名对象使用场景:1:当对方法只进行一次调用的时候,可以使用匿名对象。2:当对象对成员进行多次调用时,不能使用匿名对象。必须给对象起名原创 2017-03-21 15:00:45 · 156 阅读 · 0 评论 -
java static
static关键字,是一个修饰符,用于修饰成员(成员变量和成员函数)。特点:1,想要实现对象中的共性数据的对象共享。可以将这个数据进行静态修饰。2,被静态修饰的成员,可以直接被类名所调用。也就是说,静态的成员多了一种调用方式。类名.静态方式。3,静态随着类的加载而加载。而且优先于对象存在。弊端:1,有些数据是对象特有的数据,是不可以被静态修饰的。因为那样的话,特原创 2017-03-21 15:02:04 · 178 阅读 · 0 评论 -
什么时候定义静态成员呢?
或者说:定义成员时,到底需不需要被静态修饰呢?成员分两种:1,成员变量。(数据共享时静态化)该成员变量的数据是否是所有对象都一样:如果是,那么该变量需要被静态修饰,因为是共享的数据。 如果不是,那么就说这是对象的特有数据,要存储到对象中。 2,成员函数。(方法中没有调用特有数据时就定义成静态)如果判断成员函数是否需要被静态修饰呢?只要参考,该函数内是否访问了对象中的原创 2017-03-21 15:04:33 · 1052 阅读 · 0 评论 -
java单例设计模式
解决的问题:保证一个类在内存中的对象唯一性。比如:多程序读取一个配置文件时,建议配置文件封装成对象。会方便操作其中数据,又要保证多个程序读到的是同一个配置文件对象,就需要该配置文件对象在内存中是唯一的。Runtime()方法就是单例设计模式进行设计的。如何保证对象唯一性呢?思想:1,不让其他程序创建该类对象。2,在本类中创建一个本类对象。3,对外提供方法原创 2017-03-21 15:06:00 · 212 阅读 · 0 评论 -
继 承
继 承(面向对象特征之一)好处:1:提高了代码的复用性。2:让类与类之间产生了关系,提供了另一个特征多态的前提。父类的由来:其实是由多个类不断向上抽取共性内容而来的。java中对于继承,java只支持单继承。java虽然不直接支持多继承,但是保留了这种多继承机制,进行改良。单继承:一个类只能有一个父类。多继承:一个类可以有多个父类。为什么不支原创 2017-03-21 15:08:04 · 160 阅读 · 0 评论 -
什么是接口
1:是用关键字interface定义的。2:接口中包含的成员,最常见的有全局常量、抽象方法。注意:接口中的成员都有固定的修饰符。成员变量:public static final 成员方法:public abstract interface Inter{public static final int x = 3;public abstract void show();原创 2017-03-21 15:09:26 · 1293 阅读 · 0 评论 -
java-ajax使用方法(异部请求)
<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> "> My JSP 'index.jsp' starti原创 2017-03-21 15:29:24 · 257 阅读 · 0 评论 -
java键码表
Java 键码表Virtual Key Code Corresponding key VK_LBUTTON Left mouse buttonVK_RBUTTON Right mouse buttonVK_CANCEL Control+BreakVK_MBUTTON Middle mouse buttonVK_BACK Back原创 2017-03-22 09:21:34 · 1247 阅读 · 0 评论 -
反射指定类中的方法
//获取类中所有的方法。public static void method_1() throws Exception {Class clazz = Class.forName("cn.itcast.bean.Person");Method[] methods = clazz.getMethods();//获取的是该类中的公有方法和父类中的公有方法。methods = clazz.g原创 2017-03-22 09:29:24 · 158 阅读 · 0 评论 -
反射用法
1)、需要获得java类的各个组成部分,首先需要获得类的Class对象,获得Class对象的三种方式:Class.forName(classname)用于做类加载obj.getClass()用于获得对象的类型类名.class 用于获得指定的类型,传参用2)、反射类的成员方法:Class clazz = Person.class;Method met原创 2017-03-22 09:30:57 · 185 阅读 · 0 评论 -
反射技术
反射技术:其实就是动态加载一个指定的类,并获取该类中的所有的内容。而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员。简单说:反射技术可以对一个类进行解剖。反射的好处:大大的增强了程序的扩展性。反射的基本步骤:1、获得Class对象,就是获取到指定的名称的字节码文件对象。2、实例化对象,获得类的属性、方法或构造函数。3、访问属性原创 2017-03-22 09:31:50 · 316 阅读 · 0 评论 -
TCP服务端
1,创建服务端socket服务,并监听一个端口。2,服务端为了给客户端提供服务,获取客户端的内容,可以通过accept方法获取连接过来的客户端对象。3,可以通过获取到的socket对象中的socket流和具体的客户端进行通讯。4,如果通讯结束,关闭资源。注意:要先关客户端,再关服务端。-------------------------------------------------原创 2017-03-22 09:32:26 · 344 阅读 · 0 评论 -
TCP客户端
1,建立tcp的socket服务,最好明确具体的地址和端口。这个对象在创建时,就已经可以对指定ip和端口进行连接(三次握手)。2,如果连接成功,就意味着通道建立了,socket流就已经产生了。只要获取到socket流中的读取流和写入流即可,只要通过getInputStream和getOutputStream就可以获取两个流对象。3,关闭资源。----------------------原创 2017-03-22 09:34:12 · 180 阅读 · 0 评论 -
TCP传输
TCP传输:两个端点的建立连接后会有一个传输数据的通道,这通道称为流,而且是建立在网络基础上的流,称之为socket流。该流中既有读取,也有写入。tcp的两个端点:一个是客户端,一个是服务端。客户端:对应的对象,Socket服务端:对应的对象,ServerSocket原创 2017-03-22 09:35:06 · 152 阅读 · 0 评论 -
udp的接收端
1,创建udp的socket服务,必须要明确一个端口,作用在于,只有发送到这个端口的数据才是这个接收端可以处理的数据。2,定义数据包,用于存储接收到数据。3,通过socket服务的接收方法将收到的数据存储到数据包中。4,通过数据包的方法获取数据包中的具体数据内容,比如ip、端口、数据等等。5,关闭资源。--------------------------------------原创 2017-03-22 09:36:11 · 477 阅读 · 0 评论 -
udp的发送端
1,建立udp的socket服务,创建对象时如果没有明确端口,系统会自动分配一个未被使用的端口。2,明确要发送的具体数据。3,将数据封装成了数据包。4,用socket服务的send方法将数据包发送出去。5,关闭资源。--------------------------------------------------------------import java.net.*;原创 2017-03-22 09:36:52 · 226 阅读 · 0 评论 -
UDP传输
1,只要是网络传输,必须有socket 。2,数据一定要封装到数据包中,数据包中包括目的地址、端口、数据等信息。直接操作udp不可能,对于java语言应该将udp封装成对象,易于我们的使用,这个对象就是DatagramSocket. 封装了udp传输协议的socket对象。因为数据包中包含的信息较多,为了操作这些信息方便,也一样会将其封装成对象。这个数据包对象就是:Da原创 2017-03-22 09:38:03 · 143 阅读 · 0 评论 -
ByteArrayInputStream:源:内存 ByteArrayOutputStream:目的:内存。
这两个流对象不涉及底层资源调用,操作的都是内存中数组,所以不需要关闭。直接操作字节数组就可以了,为什么还要把数组封装到流对象中呢?因为数组本身没有方法,只有一个length属性。为了便于数组的操作,将数组进行封装,对外提供方法操作数组中的元素。对于数组元素操作无非两种操作:设置(写)和获取(读),而这两操作正好对应流的读写操作。这两个对象就是使用了流的读写思想来操作数组。//创原创 2017-03-22 09:39:01 · 1057 阅读 · 0 评论 -
什么是Serializable
Serializable:用于启动对象的序列化功能,可以强制让指定类具备序列化功能,该接口中没有成员,这是一个标记接口。这个标记接口用于给序列化类提供UID。这个uid是依据类中的成员的数字签名进行运行获取的。如果不需要自动获取一个uid,可以在类中,手动指定一个名称为serialVersionUID id号。依据编译器的不同,或者对信息的高度敏感性。最好每一个序列化的类都进行手动显示的UID的指原创 2017-03-22 09:40:57 · 885 阅读 · 0 评论 -
什么是管道流
管道流:管道读取流和管道写入流可以像管道一样对接上,管道读取流就可以读取管道写入流写入的数据。注意:需要加入多线程技术,因为单线程,先执行read,会发生死锁,因为read方法是阻塞式的,没有数据的read方法会让线程等待。public static void main(String[] args) throws IOException{ PipedInputStream pipin =原创 2017-03-22 09:41:52 · 1771 阅读 · 0 评论 -
什么是RandomAccessFile
特点:1:该对象即可读取,又可写入。2:该对象中的定义了一个大型的byte数组,通过定义指针来操作这个数组。3:可以通过该对象的getFilePointer()获取指针的位置,通过seek()方法设置指针的位置。4:该对象操作的源和目的必须是文件。 5:其实该对象内部封装了字节读取流和字节写入流。注意:实现随机访问,最好是数据有规律。class RandomAc原创 2017-03-22 09:42:37 · 321 阅读 · 0 评论 -
什么是SequenceInputStream:序列流
SequenceInputStream:序列流,作用就是将多个读取流合并成一个读取流。实现数据合并。表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。这样做,可以更方便的操作多个读取流,其实这个序列流内部会有一个有序的集合容器,用于存储多个读取流对象。该对象的构造原创 2017-03-22 09:53:06 · 513 阅读 · 0 评论 -
什么是递归
递归:就是函数自身调用自身。什么时候用递归呢?当一个功能被重复使用,而每一次使用该功能时的参数不确定,都由上次的功能元素结果来确定。简单说:功能内部又用到该功能,但是传递的参数值不确定。(每次功能参与运算的未知内容不确定)。递归的注意事项:1:一定要定义递归的条件。2:递归的次数不要过多。容易出现 StackOverflowError 栈内存溢出错误。其实递归就原创 2017-03-22 09:54:48 · 330 阅读 · 0 评论 -
什么是File类
File类:将文件系统中的文件和文件夹封装成了对象。提供了更多的属性和行为可以对这些文件和文件夹进行操作。这些是流对象办不到的,因为流只操作数据。File类常见方法:1:创建。boolean createNewFile():在指定目录下创建文件,如果该文件已存在,则不创建。而对操作文件的输出流而言,输出流对象已建立,就会创建文件,如果文件已存在,会覆盖。除非续写。boole原创 2017-03-22 09:56:43 · 2329 阅读 · 0 评论 -
什么是转换流特有功能
转换流特有功能:转换流可以将字节转成字符,原因在于,将获取到的字节通过查编码表获取到指定对应字符。转换流的最强功能就是基于 字节流 + 编码表 。没有转换,没有字符流。发现转换流有一个子类就是操作文件的字符流对象:InputStreamReader|--FileReaderOutputStreamWriter|--FileWrier想要操作文本文原创 2017-03-22 09:58:07 · 708 阅读 · 0 评论 -
什么是字节流
字节流:InputStream:是表示字节输入流的所有类的超类。 |--- FileInputStream:从文件系统中的某个文件中获得输入字节。哪些文件可用取决于主机环境。FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader。 |--- FilterInputStream:包含其他一些输入流,它将这些流用原创 2017-03-22 09:59:41 · 5285 阅读 · 0 评论 -
什么是字符流
Reader:用于读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int) 和 close()。 |---BufferedReader:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。 可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。 |---LineNumberReader:跟踪行号的缓冲原创 2017-03-22 10:00:30 · 2599 阅读 · 0 评论 -
什么是IO流
用于处理设备上数据。在流中一般以字节的形式存放着数据!流:可以理解数据的流动,就是一个数据流。IO流最终要以对象来体现,对象都存在IO包中。流也进行分类:1:输入流(读)和输出流(写)。2:因为处理的数据不同,分为字节流和字符流。 字节流:处理字节数据的流对象。设备上的数据无论是图片或者dvd,文字,它们都以二进制存储的。二进制的最终都是以一个8位为数据单元进行体现,所原创 2017-03-22 10:01:25 · 416 阅读 · 0 评论 -
什么是泛型中的通配符
泛型中的通配符:可以解决当具体类型不确定的时候,这个通配符就是 ? ;当操作类型时,不需要使用类型的具体功能时,只使用Object类中的功能。那么可以用 ? 通配符来表未知类型。泛型限定:上限:?extends E:表示这个对象的实例,可以接收E类型或者E的子类型对象。下限:?super E:可以接收E类型或者E的父类型对象。上限什么时候用:往集合中添加元素时,既原创 2017-03-22 10:07:03 · 402 阅读 · 0 评论 -
什么是泛型
泛型:jdk1.5版本以后出现的一个安全机制。表现格式:好处:1:将运行时期的问题ClassCastException问题转换成了编译失败,体现在编译时期,程序员就可以解决问题。2:避免了强制转换的麻烦。只要带有中传递一个具体的引用数据类型。泛型技术:其实应用在编译时期,是给编译器使用的技术,到了运行时期,泛型就不存在了。为什么? 因为泛型的擦除:也就是说,原创 2017-03-22 10:10:44 · 181 阅读 · 0 评论 -
什么是枚举
枚举:关键字 enum问题:对象的某个属性的值不能是任意的,必须为固定的一组取值其中的某一个;解决办法:1)、在setGrade方法中做判断,不符合格式要求就抛出异常;2)、直接限定用户的选择,通过自定义类模拟枚举的方式来限定用户的输入,写一个Grade类,私有构造函数,对外提供5个静态的常量表示类的实例;3)、jdk5中新定义了枚举类型,专门用于解决此类问题;4)、枚举就原创 2017-03-22 10:11:35 · 401 阅读 · 0 评论 -
什么是自动拆装箱
自动拆装箱:java中数据类型分为两种 : 基本数据类型 引用数据类型(对象)在 java程序中所有的数据都需要当做对象来处理,针对8种基本数据类型提供了包装类,如下:int --> Integerbyte --> Byteshort --> Shortlong --> Longchar --> Characterdouble --> Doublefloat -原创 2017-03-22 10:12:16 · 1349 阅读 · 0 评论 -
增强for循环
增强for循环:foreach语句,foreach简化了迭代器。格式:// 增强for循环括号里写两个参数,第一个是声明一个变量,第二个就是需要迭代的容器for( 元素类型 变量名 : Collection集合 & 数组 ) {…?}高级for循环和传统for循环的区别:高级for循环在使用时,必须要明确被遍历的目标。这个目标,可以是Collection集合或者数组,如果遍原创 2017-03-22 10:13:11 · 537 阅读 · 0 评论 -
什么是Arrays
用于操作数组对象的工具类,里面都是静态方法。asList方法:将数组转换成list集合。String[] arr = {"abc","kk","qq"};List list = Arrays.asList(arr);//将arr数组转成list集合。将数组转换成集合,有什么好处呢?用aslist方法,将数组变成集合;可以通过list集合中的方法来操作数组中的元素:isEmpty原创 2017-03-22 10:13:59 · 755 阅读 · 0 评论 -
什么是Collections
Collections:它的出现给集合操作提供了更多的功能。这个类不需要创建对象,内部提供的都是静态方法。静态方法:Collections.sort(list);//list集合进行元素的自然顺序排序。Collections.sort(list,new ComparatorByLen());//按指定的比较器方法排序。class ComparatorByLen implements原创 2017-03-22 10:15:04 · 578 阅读 · 0 评论 -
什么是Map集合
Map集合:|--Hashtable:底层是哈希表数据结构,是线程同步的。不可以存储null键,null值。|--HashMap:底层是哈希表数据结构,是线程不同步的。可以存储null键,null值。替代了Hashtable.|--TreeMap:底层是二叉树结构,可以对map集合中的键进行指定顺序的排序。Map集合存储和Collection有着很大不同:Collect原创 2017-03-22 10:15:57 · 511 阅读 · 0 评论