随笔分类 -  Java学习随笔

摘要:1.对象的存储: 数组(基本数据类型 & 引用数据类型) 集合(引用数据类型) 2.集合框架 Collection 接口: 方法: iterator().toArray(); 迭代器遍历集合 子接口: List接口:存储有序可重复的元素 ArrayList 主要实现类,线程不安全 LinkedLis 阅读全文
posted @ 2017-04-14 09:46 BU_LIN 阅读(315) 评论(0) 推荐(0)
摘要:之前学习的内容只能形成一个用户界面,而用户不能对其有实际的操作,也就是说用户界面没有任何功能。要能够让图形界面接收用户的操作,就必须给各个组件加上事件处理机制。在事件处理的过程中,主要涉及三类对象: Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是K 阅读全文
posted @ 2017-01-17 17:03 BU_LIN 阅读(1444) 评论(0) 推荐(1)
摘要:GUI 和 AWT GUI:Graphics User Interface 图形用户界面 AWT:Abstract Window Toolkit 抽象窗口工具集 之前的程序输出结果均在控制台上显示,现在学习AWT后,可以编程显示图形用户界面。 抽象窗口工具包AWT (Abstract Window 阅读全文
posted @ 2017-01-17 16:08 BU_LIN 阅读(2807) 评论(0) 推荐(1)
摘要:在 UDP 网络编程中,发送方与接收方没有建立联系,没有明显的服务器端和客户端的区别。 类 DatagramSocket: 此类表示用来发送和接收数据报包的套接字。 主要的构造方法: DatagramSocket():创建实例,绑定本机的默认IP地址,随机选择端口。通常用于客户端编程,没有特定监听的 阅读全文
posted @ 2017-01-16 22:19 BU_LIN 阅读(433) 评论(0) 推荐(0)
摘要:UDP协议基础: UDP协议是英文UserDatagramProtocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。 用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可 阅读全文
posted @ 2017-01-16 17:51 BU_LIN 阅读(340) 评论(0) 推荐(1)
摘要:之前的代码中关闭了 socket 对象的输入流与输出流,但并没有关闭掉socket 对象,会造成服务器资源的浪费,应通过调用 socket 的 close() 方法来关闭当前的socket 对象。 因此,可以通过创建一个 ServerScanThread 线程,使其一直在后台运行,扫描看哪些 soc 阅读全文
posted @ 2017-01-16 14:58 BU_LIN 阅读(377) 评论(0) 推荐(0)
摘要:1.Java网络编程与多线程的综合应用: 类Socket提供了方法getInputStream ()和getOutStream()来得到对应的输入/输出流以进行读/写操作,这两个方法分别返回InputStream和OutputSteam类对象。为了便于读/写数据,我们可以在返回的输入/输出流对象上建 阅读全文
posted @ 2016-12-22 11:14 BU_LIN 阅读(390) 评论(2) 推荐(0)
摘要:实现客户端与服务端的连接: ServerSocket :此类实现服务器套接字。服务器套接字请求通过网络传入,基于该请求执行某些操作,然后可能向请求者返回结果。 其 accept()方法接受来自客户端的连接请求,并返回一个用于与Client 通信的Socket 对象。此后Server 的对象serve 阅读全文
posted @ 2016-12-18 18:37 BU_LIN 阅读(667) 评论(0) 推荐(0)
摘要:计算机网络的分类: 局域网(LAN) 指在一个较小地理范围内的各种计算机网络设备互联在一起的通信网络,可以包括一个或多个子网,通常局限在几千米的范围之内。 城域网(MAN) 主要由城域范围内的各个局域网之间互连构成。 广域网(WAN) 由距离较远的局域网与城域网互联构成的通信网络,通常是除了计算机设 阅读全文
posted @ 2016-12-15 23:23 BU_LIN 阅读(702) 评论(0) 推荐(0)
摘要:线程通信: 如果线程A和线程B持有同一个MyObject类的对象object,这两个线程会去调用不同的方法,但是它们是同步执行的,比如:线程B需要等待线程A执行完了methodA()方法之后,它才能执行methodB()方法。这样,线程A和线程B就实现了 通信。 线程通信中要用到的方法:wait() 阅读全文
posted @ 2016-12-12 23:26 BU_LIN 阅读(399) 评论(0) 推荐(0)
摘要:为什么需要线程同步? 同步就是协同步调,按预定的先后次序进行运行。如:你说完,我再说而并非一起动作。“同”字应是指协同、协助、互相配合。 如进程、线程同步,可理解为进程或线程A和B一块配合,A执行到一定程度时要依靠B的某个结果,于是停下来,示意B运行;B依言执行,再将结果给A;A再继续操作。 所谓同 阅读全文
posted @ 2016-12-11 17:53 BU_LIN 阅读(342) 评论(0) 推荐(0)
摘要:线程调度: 按照特定机制为线程分配cpu的使用权。 线程调度模型: 分时调度 所有线程轮流获得cpu的使用权,平均分配每个线程占用的cpu的时间片。 抢占时调度(java虚拟机) 可运行池中优先级高的线程有更大机会获得cpu使用权,如果可运行池中线程的优先级相同,则随机选择一个线程来使用cpu。 线 阅读全文
posted @ 2016-12-08 17:12 BU_LIN 阅读(481) 评论(0) 推荐(0)
摘要:Thread类: 创建新执行线程有两种方法。 一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。例如,计算大于某一规定值的质数的线程可以写成: 然后,下列代码会创建并启动一个线程: 另一种方法是声明实现 Runnable 接 阅读全文
posted @ 2016-12-07 17:38 BU_LIN 阅读(992) 评论(1) 推荐(1)
摘要:进程和线程: 进程是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应用程序可以启动多个进程。 线程是指进程中的一个执行流程,有时也称为执行情景。 线程和进程的主要区别在于:每个进程都需要操作系统为其分配独立的内存地址空间,而同一进程中的不同线程工作在同一内存空间,这些线程之间可以互相通信 阅读全文
posted @ 2016-12-07 09:25 BU_LIN 阅读(189) 评论(0) 推荐(0)
摘要:序列化: 序列化对应写的操作。(读与写都是站在应用的角度上) 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了更方便的对对象流进行存储和读的操作。序列化的实现:将需要被序列化的类实现Seriali 阅读全文
posted @ 2016-12-05 23:25 BU_LIN 阅读(271) 评论(0) 推荐(0)
摘要:打印流: 类PrintStream: PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。它还提供其他两项功能。与其他输出流不同,PrintStream 永远不会抛出 IOException;而是,异常情况仅设置可通过 checkError 方法测试的内部标志。另 阅读全文
posted @ 2016-12-05 20:07 BU_LIN 阅读(193) 评论(0) 推荐(0)
摘要:转换流: 类 InputStreamReader(字符输入转换流): InputStream 即读取字节流,Reader 为读取字符流。 InputStreamReader将字节流转换成字符流。便于一次读取更多字节。 InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 cha 阅读全文
posted @ 2016-12-05 17:13 BU_LIN 阅读(433) 评论(0) 推荐(0)
摘要:字符流: 读取数据的单位是字符,即每次可以读取至少一个字符(一个字母、数字、汉字、符号)。 和字节流一样,管子搭载的对象不同,则字符流就不同。 类 FileReader: 用于读取文件的便捷类。 继承于 Reader和Writer public class FileReaderextends Inp 阅读全文
posted @ 2016-12-05 15:27 BU_LIN 阅读(137) 评论(0) 推荐(0)
摘要:IO流:InputStream/OutputStream 字节流: 文件输出流 :内存 ——>文件 文件输入流 :内存<——文件 应用 文件输入/出流 文件 字节输入/出流:ByteInputStream InputStream/OutStream都是抽象的父类 文件输入流:FileInputStr 阅读全文
posted @ 2016-11-27 17:35 BU_LIN 阅读(131) 评论(0) 推荐(0)
摘要:import java.io.File; public class Demo02 { public static void main(String[]args){ File file = new File("D:/爱学习"); initTab = getTabCount(file); //是当前的tabCount的上一个tabCount数。 ... 阅读全文
posted @ 2016-11-20 20:26 BU_LIN 阅读(320) 评论(0) 推荐(0)