java自学笔记
文章平均质量分 53
Raine_Yang
这个作者很懒,什么都没留下…
展开
-
Java网络编程(2)
下一示例中客户端向服务器发送一个StudentAddress类对象,服务器得到对象后写入到一个名为student.dat的文件中。一般来说,同一服务器要持续运行处理多个客户端的请求。我们可以为每一个客户端请求分配一个单独的线程进行处理,从而实现处理多客户端。这里要使用finally方法的目的是保证无论前面获取对象时是否抛出异常,输入流和输出流都可以正常关闭。该线程处理单个客户端请求,从客户端读入输入半径,返回圆的面积(和上一章同一示例)在客户端创建数据输出流,并发送StudentAddress对象。原创 2023-01-18 22:13:48 · 1169 阅读 · 1 评论 -
Java网络编程(1)
TCP实现基于数据流传输(steam-based communication),并且保证了传输数据顺序的一致性和补发丢失数据的能力。我们一般将IP地址对应域名(domain name)便于记忆,一种专门的服务器DNS(domain name server)可以将域名翻译为IP地址。要创建服务器,需要创建一个ServerSocket类并连接一个port,即服务器应该从哪里接收连接。参数serverName为服务器的IP或域名,如果为本地服务器可以输入"localhost"或127.0.0.1。原创 2023-01-17 20:39:24 · 503 阅读 · 0 评论 -
java自学笔记:异常处理(4)
获取异常信息:通过获取异常信息可以很好的定位异常,找到解决方案。异常的超类Throwable提供以下获取异常信息方法:getMessage() 返回对异常的描述toString() 返回 异常类型 : 异常信息(getMessage()里面的内容)printStackTrace() 返回异常信息和调用路径,一般IDE里自主抛出的异常信息就是printStackTracegetStackTrace() 返回异常路径,返回类型为StackTraceElement数组示例package chapt原创 2022-05-11 16:28:14 · 341 阅读 · 0 评论 -
java自学笔记:Comparable 和 Comparator
用于构造可以比较的对象主要依靠两种接口:Comparable和Comparator.调用Comparable接口需要实现compareTo方法,compareTo返回一个整数代表比较结果,比较规则需要自己设定。需要注意的是Comparable 只能支持一个比较规则,因此无法实现按对象不同的属性进行不同比较如上图按年,月,日比较日期。该对象调用Comparable 接口,并在内部声明compareTo方法Comparator 可以实现对同一对象多种比较规则。如对于一个书单,实现把里面的书按书名首字母,原创 2021-10-10 14:34:25 · 224 阅读 · 1 评论 -
java自学笔记:assert关键字
assert关键字用于判断某一条件是否达成,如果达成不进行任何操作,如没有达成会抛出异常。这一关键字可以用来判断一段程序的执行条件和运行结果是否正常,方便debugassert 有两种语法格式:1 assert加一个boolean表达式,如果为true不进行操作,如果为false抛出异常AssertionError。 AssertionError属于Error类,和Exception同为Throwable 子类。不过和Exception不同的是Error表达系统级别错误,不可以使用异常处理语句自动处理。原创 2021-10-03 11:07:26 · 1698 阅读 · 0 评论 -
java自学笔记:Map类(1)
map是一个可以储存键/值集合的对象,它可以实现快速查找和增删。map储存的键类似于索引,但不同于索引只能是整数,键可以为任何对象。一个map不可以有重复的键一个key/value组合叫做entrymap有三种HashMap, LinkedHashMap和TreeMap。map接口提供以下方法:clear() 清空mapcontainsKey(key: Object) 判断是否包含一个keycontainsValue(value: Object) 判断是否包含一个valueentr原创 2021-07-21 20:26:26 · 361 阅读 · 0 评论 -
java自学笔记:Set(2)LinkedHashSet和TreeSet
LinkedHashSet继承HashSet,不过实施了一个链表使其支持Set中元素顺序。HashSet的元素排布无顺序。下列程序测试LinkedHashSetpackage chapter21;import java.util.*;public class TestLinkedHashSet { public static void main(String[] args) { // TODO Auto-generated method stub //create a hash s原创 2021-07-20 16:56:46 · 249 阅读 · 0 评论 -
java自学笔记:Set类(1)HashSet
Set接口继承Collection接口,但是Set限定其元素不可重复AbstractSet继承AbstractCollection,AbstractSet为equals和hashCode提供实例,但是没有size和iterator的实例,因而为抽象类Set类三大实体类为HashSet LinkedHashSet TreeSetHashSet:默认HashSet长度16,负载系数0.75.负载系数为在容量达到该百分比时容量会扩大一倍。更高的负载系数可以减少内存浪费,但是会增加搜索时间,0.75是一个较原创 2021-07-17 21:01:50 · 499 阅读 · 0 评论 -
java自学笔记:异常处理(3)
java的异常处理分为三个步骤:1声明异常 2抛出异常 3抓住异常1声明异常java里面只能声明Exception,不可声明System error或者Runtime error在一个方法头部使用关键字throws声明异常public void method() throws IOExceptionthrows关键字说明了method可能会抛出IOException如果这个方法可能抛出多个异常,在throws后面跟多个异常,逗号隔开:public void method() throws原创 2021-05-05 18:41:35 · 443 阅读 · 0 评论 -
java自学笔记:异常处理(2)
java API里面自带很多种Exception,Throwable类是各种exception的父类,其关系如下:我们可以通过继承Exception或其子类定义自己的Exception。Exception子类分三种:System error, exception, 和runtime exceptionSystem error例子如下:LinkageError: 一个类调用了另一个类,但当这个类编译后另一个类发生变化导致无法调用VirtualMachineError: JVM出现故障或内存不足S原创 2021-05-04 18:30:09 · 108 阅读 · 0 评论 -
java自学笔记:异常处理
异常处理允许一个程序处理异常情况从而继续正常运行。Runtime error指编译器在运行中发现了无法执行的代码,如数组越界,输入数据类型不匹配等。Runtime error会输出一个Exception。如果Exception未解决程序将会中断package chapter12;import java.util.*;public class Quotient { public static void main(String[] args) { // TODO Auto-generated原创 2021-05-01 20:14:24 · 129 阅读 · 0 评论