ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:26.01KB ,
资源ID:18391947      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18391947.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java基础知识点Word下载.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java基础知识点Word下载.docx

1、有时候希望可以对格式进行转换 原格式1:2009-11-17 16:19:33转换的格式:2009年11月17日16时19分33秒应该用几步完成以上操作呢?1、 从原格式中丢弃格式取出具体的时间数字。2、 准备一个新的格式。3、 将原格式中的时间数字放到新的格式中去。SimpleDateFormat类,此类在java.text包下。以上介绍的只是一些基本的常用类。Jdk开发中经常要使用到的一些小功能或小工具。 Java高级特性今天的任务1、 hashCode方法作用介绍。2、 对象克隆。3、 比较器。4、 Class类。hashCode哈希玛。Maphashtable,hashMap。实际上每

2、一个对象都有一个hashCode。如果只复写hashCode方法根本不会起作用,还需要同时复写equals方法。对象克隆 就是对象的复制。 IO序列化:Serializable可以序列化。 要完成克隆的类必须具备以下2种条件:1、 类必须实现Cloneable接口,表示可以被克隆。2、 类必须复写Object类中的clone方法。比较器 Arrays专门用于数组排序。 可以对任意数据类型排序。例题:给出一个Person类里面包含姓名、年龄、成绩,声明5个Person对象的对象数组,要求对数组中的内容进行排序,排序规则如下:按成绩由高到低排序,如果成绩一样,就按照年龄由高到低排序。比较器除了在A

3、rrays类的排序外还可以用在TreeSet上,实际上TreeSet也需要比较器支持。Class类 类对象。 我们希望由对象能够知道其所属的类是哪个。 Class能够动态的为类实例化。 Class类本身没有任何构造方法。总结出Java中对象实例化的途径:1、 直接用new,代码比较直观,但是程序会出现耦合度。2、 程序出现了接口,如果一个接口的子类直接通过new实例化会造成程序的耦合,所以,使用工厂进行解耦和操作。3、 对象的克隆,将对象拷贝一份,但是,此种方法需要在子类中复写clone方法。4、 Class类,通过Class类来实例化一个对象,通过字符串操作完成。关于Class类只需要重点掌

4、握实例化对象的操作。 Java网络编程Java网络编程 C/S程序应用:客户/服务器;msn,一个客户端,客户端打开之后连接到服务器上。 B/S程序应用:浏览器/服务器;所有的代码直接放在服务期上即可jsp。程序分为2种: 基于tcp协议:Socket,可靠的服务:ab; 基于udp协议:不可靠,短信功能。如果要编写一个tcp程序需要java的2个包支持。 J.*:主要提供网络支持。 |-ServerSocket类:主要用来写服务器端程序。 |-Socket类:客户端程序。 Java.io.*:传递信息流。客户端就2个功能1、 建立Socket。2、 接收输入的命令(输入流)网络上传输的程序靠

5、的是字节流。在jdk中也准备了2个专门用于实现udp的类: DatagramSocket 和DatagramPacket。 Java多线程中断线程的运行:当一个线程运行时候,另一个线程可以调用对应的Thread对象的Interrupt()方法来中断它。Public void interrupt();查看线程的中断状态:可以在Thread对象上调用isInterrupted方法来检查任何线程的中断状态。Public Boolean isInterrupted()线程如果中断之后再休眠,则会清除中断标志。多线程问题资源的协调对共享对象的访问必须同步,叫做条件变量。Java语言可以通过监视器使用条件

6、变量实现线程的同步。监视器阻止2个线程同时访问同一个条件变量,它的作用如同锁一样作用在数据上。线程1进入卖票方法,获得监视器,也就是加锁;当线程1的方法执行完毕返回时,释放监视器,也就是开锁。线程2的卖票方法才能进入。用Synchronized来标识的区域或方法即为监视器监视的部分。一个类或一个对象由一个监视器,如果某一个程序中有2个方法使用了Synchronized标识,则它们一直在一个监视器管理之下。一般情况下,只在方法的层次上使用关键区,也就是Synchronized关键字。同步操作就是在方法之中加入了一个Synchronized关键字,表示此方法为同步方法。提供了Synchronize

7、d关键字之外的第二种使用,同步代码块同步代码块就是使用了Synchronized关键字括起来的代码表示同步代码块,同步代码块需要一个同步对象,实际上就是用括起来的代码。同步代码块在java中使用Synchronized关键字进行同步Synchronized (对象) 同步代码应该是对当前操作的线程进行同步,所以此操作应该使用 this,为this进行同步。上次回顾:多线程同步问题(synchronized) 在多个线程中操作同一个资源的时候产生的问题 同步可以通过两种方式实现 同步方法 同步代码块同步会产生一个问题死锁。死锁就是在多线程编程中由于处理不当而造成程序停止运行的一种状态。同步的问题

8、线程死锁的问题 死锁一般而言,是在程序运行中发生的一种状态,所以此处只是简单模拟一下。 此处有2个线程线程1是笔记本,线程2是钢笔。 线程1执行把钢笔给我,我才能给你笔记本。 线程2执行把笔记本给我,我才能把钢笔给你。 死锁大家只需要了解其产生的根本原因即可。同步有一个经典的范例生产者和消费者 线程之间通信 一个线程向数据存储空间添加数据(生产者),另一个线程从数据存储空间中取走数据(消费者)。 这个程序有2种例外需要考虑:1、 假设生产者线程刚向数据存储空间添加了一个人的姓名,还没有加入这个人的性别,cpu就切换到消费者线程,消费者线程把这个人的姓名和上一个人的性别联系到了一起。2、 生产者

9、放了若干次的数据,消费者才开始取数据,或者是,消费者取完一个数据后,还没等到生产者放入新的数据,又重复取出已取过的数据。可能会出现的2个问题:1、 生产者比消费者快时,消费者会漏掉一些数据没有取到。2、 消费者比生产者快时,消费者取相同的数据。 工厂模式综合讲解工厂设计模式 Class类的反射。 IO操作。回顾一下到底什么是工厂设计及好处?1、 对于刚才的工厂设计存在以下问题如果现在客户main要求既可以使用Apple对象,也可以使用Orange对象,则无法通过工厂完成。2、 对于第二种实现存在以下问题a) 如果输入参数错误,则会出现空指向异常。b) 如果在子类中扩充了一个子类,则要修改工厂(

10、工厂中如果没有子类的判断,则无法使用这个子类)。3、 通过第三种实现去解决第二种实现中修改工厂的操作。解决了工厂由于增加了子类需要修改的问题。一个新的问题产生了,在项目中可能有几十个类同时实现了同一个接口,那么此时用户如何知道已有的接口子类呢?代号子类的包.类名称(key-value)。要有一个文件列表,给用户列出全部的代码子类的映射。4、 第四种实现解决了用户无法知道全部子类的问题,同时通过了Properties保存了全部的子类信息,之后通过代码进行操作。程序中依然存在问题,如果程序现在扩充了一个子类,则需要修改设置的属性。解决的方法:通过文件保存Properties中的内容,以后,修改文件

11、即可,而不用去修改类本身。总结: 可能有大部分人认为工厂设计过于复杂,而且没有用处,具体的用法需要通过大量的训练才能够彻底掌握工厂设计模式的好处。 如果一个接口需要一个工厂的话,那么如果有100个接口,则会出现100个工厂,程序的维护又会很困难。 Java接口与类集综合应用接口与类集综合应用 List、Set、Map。 看以下一种情况。 图书大厦里可以放很多种的书。 儿童书。 电脑书。 建筑书。要求实现以下一种功能: 模拟图书大厦,图书大厦里可以存放多种书目,而且可以进行添加操作、删除操作、查询操作。一个类集中可以加入多个对象,对应于儿童书、电脑书。 图书大厦-List-书的接口”+age2)

12、;File与文件有关RandomAccessFile类与文件内容有关,但是,此类有一个缺点,就是说如果要跳转,则需要数据的保存长度。字节流与字符流 输入字节流:InputStream 输入字符流:Reader 输出字节流:OutputStreamWriter我们以OutputStream类来讲解 OutputStream类是一个抽象类,在java中上述的四种类都是抽象类。 抽象类必须通过子类来实例化。举例:现在希望向文件中打印一句话:”hello,verybody”FileOutputStream为OutputStream实例化InputStream与OutputStream InputStr

13、eam与OutputStream主要用来对字节流进行操作。 主要操作方式: 1、 用File类找到一个文件。2、 用File类的对象去实例化InputStream或OutputStream的子类对象。3、 对文件进行读/写操作。4、 关闭文件。既然可以从程序中向文件中写入内容,那能否从文件中读出内容呢?肯定是可以滴InputStream-FileInputStreamInputStream与OutputStream所操作的都是字节操作-所有的数据都要通过byte数组操作。 在java中提供了另外的两套类,此类用于操作字符:Reader,Writer。字符流输出时如果不关闭则无法将内容写入到文件

14、。 根本原因是如果字符流不关闭,则内存中的数据不会强制性的输出到文件,即,字符流操作中使用了缓存,在关闭时会强制性的情况缓存,也可以使用flush方法手工清空缓存。 字符流用到了缓存,而字节流没有用到缓存。管道流:线程间的通信可以用管道流。import java.io.* ;/ 定义一个发送者class SendDemo implements Runnable private PipedOutputStream out ; public SendDemo() out = new PipedOutputStream() ; public PipedOutputStream getOut() re

15、turn this.out ; public void run() String str = Hello LuoHui try out.write(str.getBytes() ; out.close() ; catch (Exception e) System.out.println(SendDemo - 发送的内容:+str) ;class ReceDemo implements Runnable private PipedInputStream in = null ; public ReceDemo() in = new PipedInputStream() ; public Piped

16、InputStream getIn() return this.in ; byte b = new byte1024 ; int len = 0 ; len = in.read(b) ; in.close() ; System.out.println(e) ;ReceDemo - 收到的内容是:+new String(b,0,len) ;public class IODemo12 public static void main(String args) SendDemo sd = new SendDemo() ; ReceDemo rd = new ReceDemo() ; Thread send = new Thread(sd) ; Thread rece = new Thread(rd) ; / 将两个线程进行连接 PipedOutputStream out = sd.getOut() ; PipedInputStream in = rd.getIn() ; / 将输出连接到输入 out.connect(in) ; send.start() ; rece.start() ;ByteArrayInpu

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1