Java
soyamilk233
这个作者很懒,什么都没留下…
展开
-
Java Socket+多线程 实现简易聊天室(注释版)
代码基础参考链接,十分感谢。需求功能:实现客户端与服务器的连接 各个客户端能够共享消息界面,即一个客户端发送消息后所有在线客户端都能够收到 客户端登录时可以自定义昵称 客户端登录后显示已在线成员 客户端登录后通知其他在线成员,下线后也通知 客户端登录后显示之前的聊天记录 服务器断开后能通知各客户端重启 启动客户端时若服务器未打开显示提示信息 客户端退出后服务器能够提示,登录同核心思想:将服务器作为转接的中间站,用集合存储链接的socket、记录和在线成员。原参考..原创 2020-07-02 17:31:18 · 1487 阅读 · 0 评论 -
Thinking in java 第13章 字符串 笔记+习题
Thinking in java 第13章 字符串学习目录13.1 不可变String13.2 重载“+”与StringBuilder1. 用于String的“+”与“+=”是Java中仅有的两个重载过的操作符,而Java不允许程序员重载任何操作符。而String的不变性会为此带来效率问题。2. 在使用字符串相加的时候,编译器自动引入StringBuilder。3. 显示地创造StringBuilder允许你预先为其指定大小,可以避免多次重新分配缓冲。在循环中这比编译器对Str.原创 2020-06-10 16:06:04 · 2786 阅读 · 0 评论 -
Thinking in java 第12章 通过异常处理错误 笔记+习题
Thinking in java 第12章 通过异常处理错误学习目录11.1 概念1. 使用一场所带来的一个好处是,它忘完更够降低错误处理代码的复杂度。如果不使用异常,那么就必须检查特定的的错误,并在程序中的许多地方去处理它。而如果使用异常,就不必在方法调用处进行检查,并且只需在一个地方处理错误,即异常处理程序中。这使得代码的阅读、编写和调试工作更加井井有条。11.2 基本异常1. 同Java其他对象的创建一样,将使用new在堆上创建异常对象。2. 异常最重要的方面之一就是如果.原创 2020-06-10 00:42:51 · 804 阅读 · 0 评论 -
Thinking in java 第11章 持有对象 笔记+习题
Thinking in java 第11章 持有对象 笔记+习题学习目录11.1 泛型和类型安全的容器1. 当你制定了某个类型作为泛型参数时,你并不仅限于只能将该确切类型的对象放置到容器中。向上转型也可一样作用于泛型。11.2 基本概念1. Java容器被划分为两个概念:Collection:一个独立元素的序列,这些元素都服从一条或多条规则。 Map:一组成对的“键值对”对象,允许你使用键来查找值。11.3 添加一元素1. Arrays.asList()方法接收...原创 2020-06-09 13:59:05 · 1353 阅读 · 0 评论 -
Thinking in java 第10章 内部类 笔记+习题
Thinking in java 第10章 内部类学习目录10.1 创建内部类1. 外部类可以用一个方法返回一个指向内部类的引用。2. 内部类对象的类型:OuterClassName.InnerClassName10.2 链接到外部类1. 当生成一个内部类的对象时,此对象与制造它的外围对象之间就有了一种联系,所以它能访问其外围成员,而不需要任何特殊条件。2. 例P192。以迭代器设计模式为例。3. 内部类自动拥有对其外围类所有成员的访问权。当某个外围类的对象创建了一个内.原创 2020-06-08 16:17:26 · 620 阅读 · 3 评论 -
Thinking in Java 学习目录
Thinking in Java 学习目录第二章原创 2020-06-08 01:09:54 · 265 阅读 · 0 评论 -
Thinking in java 第7章 复用类 笔记+习题
Thinking in java 第七章 复用类7.1 组合语法1. 初始化引用的位置:定义对象的地方。这意味着它们总能够在构造器被调用之前被初始化。 在类的构造器中。 正要使用这些对象之前,这种被称为惰性初始化。在生成对象不值得及不必每次都生成对象的情况下,这种方式可以减少额外的负担。 使用实例初始化。7.2 继承语法1. 当创建了一个导出类的对象时,该对象包含了一个基类的子对象。这个子对象与你用基类直接创建的对象是一样的。区别在于,后者来自与外部,而基类的子对象被包装在导出.原创 2020-06-08 01:02:09 · 472 阅读 · 0 评论 -
Thinking in java 第6章 访问权限控制 笔记+习题
Thinking in java 第六章 访问权限控制原创 2020-06-08 01:00:23 · 558 阅读 · 0 评论 -
Thinking in java 第5章 初始化与清理 笔记+习题
Thinking in java 第五章 初始化与清理5.0 序章1. C中容易忽略初始化和清理,导致内存泄漏;C++中引入了构造器的概念;Java中也采用了构造器,并额外提供了“垃圾回收器”。5.2 方法重载1. 如果传入数据类型小于方法中声明的形式参数类型,实际数据类型就会被提升。char类型若没有恰好接受char参数的方法,就会被直接提升为int类型。2. 如果传入数据类型大于方法中声明的形式参数类型,就必须采用强制转换,不然编译器会报错。5.4 this关键字1. 当需要原创 2020-06-08 00:59:21 · 417 阅读 · 0 评论 -
Thinking in java 第4章 控制执行流程 笔记+习题
Thinking in java 第四章 控制执行流程4.4 Foreach语法1. 于net.mindview.util.Range包中有一个名为range()的方法,用于与Foreach语句一起使用,同Python。for(int i:range(10)) {...} //0,1,..,9for(int i:range(5,10)) {...} //5,6,...,9for(int i:range(5,20,3)) {...} //5,8,...,20...原创 2020-06-08 00:57:30 · 217 阅读 · 0 评论 -
Thinking in java 第3章 操作符 笔记+习题
Thinking in java 第三章 操作符3.4 赋值1. 基本类型存储了实际的数值,而非指向一个对象的引用,所以在赋值时,是直接将一个地方的内容复制到了另一个地方; 对象在赋值时实际是将引用从一个地方复制到另一个地方,修改一处会同时变两处。2. 因对象之间的赋值引发的问题称为别名现象。在方法调用中传递进方法的对象也为引用。3.7 关系操作符1. 在对象中"=="比较的是地址值,对于自己定义的类来说,需要重写equals方法来比较两个对象的内容。3.8 逻...原创 2020-06-08 00:56:23 · 216 阅读 · 0 评论 -
Thinking in java 第2章 一切都是对象 习题
Thinking in java 第二章习题练习1:创建一个类,它包含一个int域和一个char域,它们都没有被初始化,将它们的值打印出来,以验证Java执行了默认初始化。public class E2_1 { public int i; public char c;}public class Main { public static void main(String[] args) { E2_1 e = new E2_1(); ...原创 2020-06-08 00:54:07 · 342 阅读 · 0 评论 -
Thinking in java 第9章 接口 笔记+习题
Thinking in java 第9章 接口9.1 抽象类和抽象方法1. 抽象类是普通类与接口之间的一种中庸之道。2. 有抽象方法的类一定要是抽象类,抽象类可以有有非抽象方法。抽象方法只需声明方法体。3. 抽象类和抽象方法的意义:可以使类的抽象性明确起来,并告诉用户和编译器打算怎样来使用它们。 重要的重构工具,使我们可以很容易地将公共方法沿着继承层次结构向上移动。9.2 接口1. 接口允许人们通过创建一个能够被向上转型为多种基类的类型,来实现类似多重继承的特性。2. .原创 2020-06-08 01:03:09 · 680 阅读 · 0 评论 -
Thinking in java 第8章 多态 笔记+习题
Thinking in java 第八章 多态8.2 转机1. Java中除了static方法和final方法之外,其他所有方法都是后期绑定(在运行时根据对象的类型进行绑定)。因此一般我们不必判断是否应该进行后期绑定,它会自动发生。2. final可以关闭后期绑定以调用生成更有效的代码,提高性能。但对整体没太大影响。3. 正是由于后期绑定,编译器能够正确调用向上转型后导出类重写的方法。4. 缺陷:导出类不能覆盖私有方法,会被当成一个新的方法(入口不能缩小)。 如果一个方法是静态方法原创 2020-06-08 01:02:41 · 1663 阅读 · 0 评论