Java 笔记11

UDP编程:

DatagramSocket(邮递员):对应数据报的Socket概念,不需要创建两个socket,不可使用输入输出流。

DatagramPacket(信件):数据包,是UDP下进行传输数据的单位,数据存放在字节数组中。

UDP也需要现有Server端,然后再有Client端。

两端都是DatagramPacket(相当于电话的概念),需要NEW两个DatagramPacket。

InetAddress:网址

这种信息传输方式相当于传真,信息打包,在接受端准备纸。

模式:

发送端:Server:

DatagramPacket  inDataPacket=new DatagramPacket ((msg,msg.length);InetAdress.getByName(ip),port);

接收端:

clientAddress=inDataPack.getAddress();//取得地址

clientPort=inDataPack.getPort();//取得端口号

datagramSocket.send;  //Server

datagramSocket.accept;  //Client

URL:在应用层的编程

注意比较:

http://Localhost:8080/directory  //查找网络服务器的目录

file://directory                 //查找本地的文件系统

java的开发主要以http为基础。

反射:主要用于工具和框架的开发。

反射是对于类的再抽象;通过字符串来抽象类。

JAVA类的运行:classLoader:加载到虚拟机(vm)

Vm中只能存储对象(动态运行时的概念),.class文件加载到VM上就成为一个对象,同时初始静态成员及静态代码(只执行一次)。

Lang包下有一个类为Class:在反射中使用。此类中的每个对象为VM中的类对象,每个类都对应类类的一个对象(class.class)。

例:对于一个Object类,用getClass()得到其类的对象,获得类的对象就相当于获得类的信息,可以调用其下的所有方法,包括类的私有方法。

注意:在反射中没有简单数据类型,所有的编译时类型都是对象。

反射把编译时应该解决的问题留到了运行时。

时间: 2024-10-01 14:55:53

Java 笔记11的相关文章

操作系统概念学习笔记 11 进程同步(一)

操作系统概念学习笔记 11 进程同步(一) 互相协作的进程之间有共享的数据,于是这里就有一个并发情况下,如何确保有序操作这些数据.维护一致性的问题,即进程同步. 从底层到高级应用,同步机制依次有临界区.信号量.管程.原子事务. 多个进程并发访问和操作同一数据且执行结果与访问发生的特定顺序有关,称之为竞争条件(race condition). 临界区(critical section) 每个进程有一个代码段称为临界区(critical section),在该区中进程可能改变共同变量.更新一个表或写

API Demos 2.3 学习笔记 (11)-- Views->Date Widgets

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> Date Widgets大致可以分为两类,一类是弹出对话框类型的控件,包括DatePickerDialog(日期选择对话框控件)和TimePickerDialog(时间选择对话框控件):另一类就是内嵌类型的控件,包括DatePicker(日期选择窗口控件)和TimePicker(时间选择窗口控件).这些控件广泛应用在需要选择和记录时间信息的场合,例如:谷歌日历. 下面我们简单介绍下这四种控件的调用方法: 1.DatePicke

java笔记十一:动态编译

JDK6.0推出了动态编译的新功能,能够在程序中动态的写一个类,再对之进行编译.编译成class文件后就可以通过类加载方式把动态编译的类加载到内存中.当然也能通过RunTime类调用javac命令来动态编译. 动态编译类的主要步骤: ①.写一个字符串,这个字符串就是要编译的类的全部内容. ②.通过输出流,把该字符串的内容写到工程下面指定的包中. ③.对创建的java文件进行编译. 动态编译涉及的类有JavaCompiler.StandardJavaFileManager,具体如何编译看下面的例子

java笔记九:对象序列化与反序列化

在java程序运行过程中,有许多的对象同时存在,但是程序结束运行或者JVM停止运行时这些对象都会消失.如何将这些对象保存起来以便下一次 再将这些对象读入内存呢?或者如何将某些对象通过网络传到另一端的java程序?实施对象的这种操作叫做对象的序列化(或者叫做持久化),重新读入内存叫 做反序列化. 基本数据类型的包装类和所有容器类都可以被序列化.用户自定义的类默认是不可以被序列化的.如果想要自己定义的类可以序列化就必须让这个类实现java.io.Serializable接口. 下面看一个Demo:

java笔记三:List接口

List承诺可以将元素维护在特定的序列中.List接口在Collection的基础上添加了大量的方法,使得可以在List的中间插入和删除元素.List与 set 不同,列表通常允许重复的元素.并且存放的顺序与插入的顺序一致. List接口的常用方法有: **[add](http://www.cnblogs.com/java/util/List.html#add(E))**([E](http://www.cnblogs.com/java/util/List.html "List 中的类型参数&qu

spring学习笔记(11)@AspectJ研磨分析[2]切点表达式函数详解

Spring中的AspectJ切点表达式函数 切点表达式函数就像我们的GPS导航软件.通过切点表达式函数,再配合通配符和逻辑运算符的灵活运用,我们能很好定位到我们需要织入增强的连接点上.经过上面的铺垫,下面来看看Springz中支持的切点表达式函数. 1. 方法切点函数 函数 入参 说明 示例 execution() 方法匹配字符串 满足某一匹配模式的的所有目标类方法连接点 execution(* com.yc.service.*.*(..))在配置service层的事务管理时常用,定位于任意返

Java笔记:集合框架实现原理

这篇文章是对http://www.cnblogs.com/skywang12345/category/455711.html中java集合框架相关文章的一个总结,在此对原作者的辛勤整理表示感谢. Java集合是java提供的工具包,包含了常用的数据结构:集合.链表.队列.栈.数组.映射等.Java集合工具包位置是java.util.* Java集合主要可以划分为4个部分:List列表.Set集合.Map映射.工具类(Iterator迭代器.Enumeration枚举类.Arrays和Collec

java笔记六:线程间的协调

昨天重新学习了java多线程的使用,多线程的难点就在线程之间的协调.在<操作系统>一课中,我们学习了进程,其实多线程和多进程一样,都会涉及到多个进程或者线程对某一资源共享访问的问题,当多个线程都需要修改这个资源的时候就会出现线程安全问题. 比如说在银行开个账户会有一个存折和一张卡,如果某一天同一时间丈夫拿着存折去 柜台取钱,而妻子拿着银行卡去ATM取钱.当丈夫查询余额里面有3000元,正准备取2000元,这时候妻子也到ATM里面查询也有3000,也取 2000元.其实银行不可能让我们这么做,如

java笔记四:Set接口

Set不保存重复的元素.Set中最常被使用的是测试归属性,你可以很容易的询问某个对象是否在某个Set中.Set具有与Collection完全一样的接口,因此没有任何额外的功能.实际上Set就是Collection,只是行为不同. 实现了Set接口的主要有HashSet.TreeSet.LinkedHashSet这几个共同点就是每个相同的项只保存一份.他们也有不同点,区别如下: 1.HashSet: HashSet使用的是相当复杂的方式来存储元素的,使用HashSet能够最快的获取集合中的元素,效