Java入门
文章平均质量分 73
柱子89
在读学生
展开
-
9、Java入门—集合框架(中)
Map接口——1.Map提供了一种映射关系,其中的元素是以键值对(key - value)的形式存储的,能够实现根据key快速查找value2.Map中的键值对以Entry类型的对象实例形式存在3.键(key值)不可重复,value值可以重复4.每个键最多只能映射到一个值5.Map接口提供了分别返回key值集合,value值集合以及Ent原创 2016-10-21 13:10:39 · 274 阅读 · 0 评论 -
21、Java入门—反射之获取方法信息
基本数据类型,void关键字都存在类类型class.getMethods()方法获取是该类的所有public方法,包括从父类继承的方法;class.getDeclareMethods()方法获取该类自行声明的所有方法,不论访问权限;method.getName()获取方法名method.getReturnType()获取方法的返回值method.getParameterType原创 2016-10-31 17:39:39 · 285 阅读 · 0 评论 -
22、Java入门—反射之获取获取成员变量和构造函数的信息
获取成员变量&构造函数一、成员变量是java.lang.reflect.Field的对象1、Field类封装了关于成员变量的操作2、Field[] fs = c.getFields()方法获取所有public的成员变量Field[]信息3、c.getDeclaredFields()获取的是该类自己声明的成员变量信息4、field.getType()获得成员类型的类类型5、f原创 2016-10-31 18:12:07 · 269 阅读 · 0 评论 -
23、Java入门—反射之方法反射的基本操作
方法的反射:1.获取A类中的print(int,int)方法:①要获取一个方法就是获取类的信息,获取类的信息首先要获取类的类类型A a1=new A(); Class c= a1.getClass();②获取方法 由名称和参数列表来决定,getMethod获取的是public方法,getDelcaredMethod获取自己声明的方法Method m =c.getMethod(原创 2016-10-31 18:36:28 · 262 阅读 · 0 评论 -
24、Java入门—反射之通过反射了解集合泛型的本质
Java反射机制——通过反射了解集合泛型的本质1:反射的操作都是编译之后的操作;就是运行阶段2:java中集合的泛型是防止错误输入的;只在编译阶段有效,只要绕过编译就无效啦我们可以通过方法的反射来操作,绕过编译eg:ArrayList list1=new ArrayList();ArrayList list2=new ArrayList();Class c1=list1原创 2016-11-01 09:53:40 · 253 阅读 · 0 评论 -
25、Java入门—多线程之背景知识介绍
1.进程:是程序或任务的执行的过程,具有动态性,它持有资源(共享内存,共享文件)和线程(即进程是资源和线程的载体)2.线程:是系统中最小的执行单元,同一进程中有多个线程,线程共享线程的资源3.线程交互:即线程通信4.线程之间存在同步和互斥java对线程的支持;java.lang包class--->Tread interface--原创 2016-11-01 10:15:58 · 410 阅读 · 0 评论 -
27、Java入门—多线程之线程的正确停止
正确的停止线程的运行1:首先使用线程自带的方法stop(),是不正确的,原因如下:此方法会导致线程戛然而止,我们不清楚线程完成了什么,没完成什么,也没有时间来完成对应的线程运行的清理工作。2:正确停止线程的方法是,在线程执行中设置状态标识,通过控制此状态标识,来控制线程的正常完整的结束,另外,volatile关键字是保证线程变量对外可见的标志,通过此关键字修饰的状态变量,才能在别的线程中被原创 2016-11-01 15:38:28 · 304 阅读 · 0 评论 -
28、Java入门—多线程之线程交互
线程常用方法 1.获取线程名称:getName(); 2.取得当前线程对象:currentThread(); 3.判断是否启动:isAlive(); 4.强行运行:join(); 5.线程休眠:sleep(); 6.线程礼让:yield();格式输出方式 %原创 2016-11-01 17:34:18 · 342 阅读 · 0 评论 -
29、Java入门—多线程之总结及展望
知识点:1,如何创建线程级线程的基本操作。2,可见性及volatile关键字。3,争用条件。4,线程的互斥synchronized方法。5,线程同步wait和notifyAll。扩展建议:1.如何扩展Java的并发知识Java Memory Mode:JMM描述了Java线程如何通过内存进行互斥,happens-before原则及意义。synchro原创 2016-11-01 17:53:10 · 252 阅读 · 0 评论 -
30、Java入门—网络编程之基础知识
java最初是作为网络编程语言出现的,java提供了很多的网络编程方法 ,使用最多的就是socket。Socket编程一、网络基础知识两台计算机要通过网络进行通信,必须具备:a、唯一的标识(IP地址); b、需要共同的语言(协议);原创 2016-11-01 18:21:43 · 361 阅读 · 0 评论 -
31、Java入门—网络编程之相关API的应用
InetAddress类用于标识网络上的硬件资源,表示互联网(IP)地址InetAddress类未提供构造方法,可以通过该类的一些静态方法获得InetAddress类的实例1.InetAddress类没有构造方法,所以不能直接new出一个对象;可以通过InetAddress类的静态方法获得InetAddress的对象;InetAddress.getLocalHost();Ine原创 2016-11-02 10:09:44 · 293 阅读 · 0 评论 -
32、Java入门—网络编程之TCP编程
Socket通信 1、TCP协议是面相连接、可靠地、有序的,以字节流的方式发送数据 2、基于TCP协议实现网络通信的类:客户端的Socket类,服务器端的ServerSocket类Socket通信实现步骤 1、创建ServerSocket和Socket 2、打开连接到Socket的输入/输出流 3、按照协议对Socket进行读/写操作 4、关闭输入输原创 2016-11-02 12:03:43 · 309 阅读 · 0 评论 -
33、Java入门—网络编程之UDP编程
UDP编程 1、UDP协议(用户数据报协议)是无连接、不可靠、无序的。 2、UDP协议以数据报作为数据传输的载体。 3、使用UDP进行数据传输时,首先需要将要传输的数据定义成数据报(Datagram),在数据报中指明所要达到的Socket(主机地址和端口号),然后在将数据报发生出去。 4、相关操作类:DatagramPacket:表示数据报包原创 2016-11-02 15:29:41 · 298 阅读 · 0 评论 -
34、Java入门—网络编程之Socket总结
1. 多线程的优先级,可以通过setPriority()方法实现,要先去线程启动即start()方法,设置线程的优先级,范围为【1,10】,默认为5(未设置优先级可能导致运行时速度非常慢,可降低优先级,设置为4);2. 一般不需要关闭输入输出流,直接关闭socket即可,因为对于同一个socket关闭输出流 就会关闭与其关联的socket 3. 实际TCP通信传输的是对象,可以通过Obje原创 2016-11-02 15:47:06 · 213 阅读 · 0 评论 -
35、Java入门—网络编程之综合练习
如何实现发送文件客户端: * 新建文件字节输入流 * 循环将输入流写入到发送的输出流中Socket socket=new Socket("localhost", 8881);OutputStream os=socket.getOutputStream();File file=new File("e:/Table.java");FileInputStream fs=n原创 2016-11-02 16:11:08 · 249 阅读 · 0 评论 -
36、Java入门—Socket实例之客户端向服务端数据库上传文件UI版
运行结果:首先实现分析:1用户注册客户单选择‘用户注册’,提示要输入用户名,密码,确认密码,校验成功后将用户信息保存到数据库,并提示数据库注册成功,请登录2用户登录客户端选择‘登录以后’后,提示输入用户名和密码,验证成功则提示上传文件,验证失败则给出提示信息,并可以重新登录3文件上传客户端输入上传文件的路径,并读取文件数据,通过输出流发送到服务端,服务端接受转载 2016-11-02 16:14:14 · 1759 阅读 · 3 评论 -
20、Java入门—反射之动态加载类
class.forName("类的全称")1)不仅表示类的类类型,也代表了动态加载类2)编译时加载类是静态的,运行时加载的类是动态的new创建对象是静态加载,在编译时就需要加载所有的可能使用到的类动态加载类1、静态加载类,是编译时刻加载;动态加载类,是运行时刻加载2、new创建对象:是静态加载类,在编译时刻就需要加载所有的【可能使用到的类】。有一个类有问题(如不存在),原创 2016-10-31 16:59:32 · 233 阅读 · 0 评论 -
19、Java入门—反射之Class类的使用
Class类1)在面向对象的世界里,万事万物皆对象。 类是对象,类是java.lang.Class类的实例对象。 There is a class named Class2)//Foo的实例对象如何表示 Foo foo1=new Foo();//foo1就表示出来了 //Foo这个类也是一个实例对象,Class类的实例对象,如何表示呢? //任何原创 2016-10-31 16:22:04 · 256 阅读 · 0 评论 -
18、Java入门—Java IO流之对象的序列化和反序列化
1.对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化2.序列化流(OjectOutputStream)是过滤流----writeObject反序列化流(ObjectInputStream)----readObject3.序列化借口(Serializable)对象必须实现序列化借口,才能进行序列化,否则将出现异常这个借口,没有任何方法,只是一个标准对象实原创 2016-10-31 12:22:38 · 272 阅读 · 0 评论 -
1、Java入门—类和变量
类:Java是面向对象的编程语言,对象是现实世界存在的,而类是该类对象的共有属性和方法,类在现实世界并不存在定义一个类,要有类名,类内包含变量和方法,变量就是对象的属性,方法就是对象可以干什么。变量:分为成员变量和局部变量,成员变量定义在类内,局部变量定义在方法中,成员变量有默认值,而局部变量没有默认值,成员变量作用于整个类中,局部变量作用于其所在方法中,不同方法中的局部变量可以重名,原创 2016-10-11 14:34:09 · 289 阅读 · 0 评论 -
10、Java入门—集合框架(下)
该节解决的问题:判断列表中是否包含指定元素:boolean:contains(Object o)判断列表中是否包含多个元素:boolean:containsAll(Collection c)由于调用contains()方法时,该方法会调用列表中每一个元素的equals(object),而对象继承Object的equals方法定义为public boolean原创 2016-10-21 19:30:43 · 264 阅读 · 0 评论 -
11、Java入门-简易扑克牌游戏
效果图:/** * 扑克牌类 * @author Anders * */public class Poker implements Comparable{ public int num; public int style; public Poker(int num,int style){ this.num =转载 2016-10-21 19:44:44 · 463 阅读 · 0 评论 -
12、Java入门—将一数组乱序排列的三种方法 (快速洗牌的小算法)
游戏中遇到这样的问题,需要将一组已知的数据打乱,按照以前和现在的做法,总结了以下方法。方法一,最笨的菜鸟方法,也是容易想到的(幸好我没想过这种方法 :))从已知数组中随机一个数,然后加入到另一个数组中,在加入之前,先检查是否已经加入过。这种方法有很大运气成分,且数据越大,效率越低,超过一定数目,则程序几乎无法执行,会一直卡在那里,代码:package com.tes转载 2016-10-21 19:54:20 · 3278 阅读 · 3 评论 -
8、Java入门—集合框架(上)
集合的概念:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象集合的作用1、在类的内部,对数据进行组织;简单而快速的搜索大数量的条目;2、有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素;3、有的集合接口,提供了映射关系,可以通过关键字去快速查找对应的唯一对象,而这个关键字可以是任意类型集合和数组有些类似 但是集合比数组更加的原创 2016-10-20 17:04:20 · 298 阅读 · 0 评论 -
13、Java入门—Java IO流之编码问题
编码问题:utf-16be 中文2个字节,英文2个字节utf-8 中文3个字节,英文1个字节GBK 中文2个字节,英文1个字节文件编码问题String s = "慕课网ABC";// 将字符串转换成字节序列,使用的是项目默认的编码gbkbyte[] byte1 = s.getBytes();for (byte b : byte1) {//原创 2016-10-23 11:23:24 · 251 阅读 · 0 评论 -
14、Java入门—Java IO流之File类的使用
java.io.File类用于表示文件(目录)File类只用于表示文件(目录)的信息(名称、大小等)不能用于文件内容的访问File类常用API:1、exists();判断文件(目录)是否存在2、mkdir();创建一级目录;mkdirs()创建多级目录3、delete();删除文件(目录)4、isDirectory();判断是否是一个目录5、isFile();判断是否是原创 2016-10-23 11:56:22 · 238 阅读 · 0 评论 -
15、Java入门—Java IO流之RandomAccessFile类的基本操作
【RandomAccessFile类】RandomAccessFile java 提供的对文件内容的访问,既可以读文件,也可以写文件RandomAccessFile支持随机访问文件,可以访问文件的任意位置①java文件模型在硬盘上的文件是 byte byte byte存储的,是数据的集合②打开文件有两种模式“rw”(读写)“r”(只读)RandomAccessF原创 2016-10-23 19:00:03 · 278 阅读 · 0 评论 -
2、Java入门—封装
封装:1、概念: 隐藏类的信息,不允许外部程序直接访问,而是通过该类提供的方法对隐藏信息进行操作和访问。2、好处: (1)只能通过规定的方法访问数据 (2)隐藏类的实例细节,方便修改和实现3、封装的实现步骤 (1)修改属性的可见性:设为private (2)创建getter/setter方法:用于属性的读写原创 2016-10-13 17:05:11 · 400 阅读 · 0 评论 -
3、Java入门—继承
继承:1、概念: 类与类之间的一种“is a”的关系。(子类、派生类)和(父类、基类) 注意:Java是单继承,就像人一样只有一个亲爹。2、好处: 子类拥有父类得所有非private的属性和方法,实现代码的复用3、语法规则; class 子类 extends 父类 class Dog extends Animal{ }方法重写:原创 2016-10-14 14:10:10 · 254 阅读 · 0 评论 -
4、Java入门—多态
多态:对象的多种形态1.引用多态父类的引用可以指向本类的对象父类的引用可以指向子类的对象,反之不行2.方法多态创建本类对象时,调用的方法为本类方法;创建子类对象时,调用的方法为子类重写的方法或者继承的方法,不允许调用子类特有的方法。注意:继承是多态实现的基础引用类型转换:1.向上类型转换(隐式、自动类型转换),是小类型到大类型的转换。无风险2.向下类型转换(原创 2016-10-14 15:55:58 · 266 阅读 · 0 评论 -
5、Java入门—异常与异常处理
异常:java中的异常体系结构;throwable总源 error exceptionruntimeexception非检查异常 检查异常1.Java中的所有不正常类都继承于Throwable类。Throwable主要包括两个大类,一个是Error类,另一个是Exception类;2.其中Error类中包括虚拟机错误和线程死锁,一旦Erro原创 2016-10-17 15:48:14 · 262 阅读 · 0 评论 -
6、Java入门—字符串
什么是 Java 中的字符串 在程序开发中字符串无处不在,如用户登陆时输入的用户名、密码等使用的就是字符串。其实,在前面的章节中我们就已经使用了字符串,例如我们在控制台中输出的 "Hello World" 、 "imooc" 、"爱慕课"等。在 Java 中,字符串被作为 String 类型的对象处理。 String 类位于 java.lang 包中。默认情况下,该包被自动导原创 2016-10-18 18:08:35 · 492 阅读 · 0 评论 -
16、Java入门—Java IO流之字节流
IO流分为输入流、输出流还有字节流、字符流1、字节流:(1)InputStream:抽象了应用程序读取数据的方式(2)OutputStream:抽象了应用程序写 出数据的方式2)EOF = End 读到-1就读到结尾3)输入流基本方法int b = in.read();读取一个字节无符号填充到int低八位.-1是EOFin.read(byte[] buf) 读取数据原创 2016-10-27 18:33:30 · 409 阅读 · 0 评论 -
7、Java入门—常用类
Java 中的包装类相信各位小伙伴们对基本数据类型都非常熟悉,例如 int、float、double、boolean、char 等。基本数据类型是不具备对象的特性的,比如基本类型不能调用方法、功能简单。。。,为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型。 基本类型和包装类之间的对应关系:原创 2016-10-19 18:03:25 · 504 阅读 · 0 评论 -
17、Java入门—Java IO流之字符流
字符流:1)编码问题2)认识文本和文本文件java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码)文件是byte byte。。。。的数据序列文件文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的存储结果3)字符流常用的类--》一般处理文本文件reader(输出流),writer(输入流)原创 2016-10-31 11:20:43 · 216 阅读 · 0 评论 -
Java String.split()用法小结
在java.lang包中有String.split()方法,返回是一个数组我在应用中用到一些,给大家总结一下,仅供大家参考:1、如果用“.”作为分隔的话,必须是如下写法,String.split("\\."),这样才能正确的分隔开,不能用String.split(".");2、如果用“|”作为分隔的话,必须是如下写法,String.split("\\|"),这样才能正确的分隔开转载 2017-04-27 16:07:56 · 348 阅读 · 0 评论