![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
thingking in java
文章平均质量分 88
孙嵓
crud永不为奴!!!
展开
-
JAVA编程思想第四版笔记 二十二、 并发
二十一、 并发顺序编程:即程序中的所有事物在任意时刻都只能执行一个步骤。并发编程:程序能够并行地执行程序中的多个部分。进程:一个在内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程可有多个线程。线程:进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。21.1 并发的多面性并发需要解决的问题有多个;实现并发的方式有多种;并且,上述两者之间没有明确的映射关系。用并发解决的问题大体上可分为“速度”和原创 2020-11-30 14:31:27 · 587 阅读 · 0 评论 -
JAVA编程思想第四版笔记 十八、 java IO系统
十八、 Java I/O系统对程序语言的设计者来说,创建一个好的I/O系统是一个艰难的任务:需要涵盖不同的I/O的来源端与想要与之通信的接收端:文件、控制台、网络链接等。需要涵盖不同的通信方式:顺序、随机存取、缓冲、二进制、按字符、按行、按字等。18.1 File类File(文件)既能代表一个特定文件名称,又能代表一个目录下的一组文件的名称。如果是文件集,可以对此集合调用list()方法,返回一个字符数组。18.1.1 目录列表器查看一个文件目录的方法(使用File类):f.isFile原创 2020-11-30 14:30:48 · 417 阅读 · 0 评论 -
JAVA编程思想第四版笔记 十七、 容器深入研究
十七、 容器深入研究17.1 完整容器分类法[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LcSybBzy-1606267445804)(C:\Users\srqnk\AppData\Roaming\Typora\typora-user-images\1594197006613.png)]javase5新增:Queue接口(LinkedList已经为实现该接口做了修改)及其实现PriorityQueue和各种风格的BlockingQueue,其中BlockingQu原创 2020-11-25 09:24:42 · 188 阅读 · 0 评论 -
JAVA编程思想第四版笔记 十六、 数组
十六、 数组16.1 数组为什么特殊数组与其他种类的容器之间的区别有三方面:效率、类型和保存基本类型的能力。java中数组是一种效率最高的存储和随机访问对象引用序列的方式。因为数组是一个简单的线性序列,这使得元素访问非常快速,但因此代价是数组大小被固定,并且在其生命周期中不可改变。16.2 数组是第一级对象对象数组和基本类型数组在使用上几乎是相同的;唯一的区别就是对象数组保存的是引用,基本类型数组直接保存基本类型的值。以下是对初始化数组的各种方式以及对指向数组的引用赋值public clas原创 2021-01-07 14:24:07 · 93 阅读 · 0 评论 -
JAVA编程思想第四版笔记十五、 泛型
十五、 泛型15.1 与c++比较15.2 简单泛型多是为了创建容器类。当你暂时不需要指定类型,想稍后再决定具体使用什么类型。用放在类名后面,然后在使用这个类的时候,再用实际的类型替换此类型参数。放在类名后边的表示,此类想要持有什么类型的对象,因此只能存入这种类型的对象了。15.2.1 一个元组类库将一组对象直接打包存储于其中的一个单一对象,这个概念称为元组(tuple)。这个容器对象允许读取其中元素,但不允许向其中存放新的对象。通常元祖可具有任意长度,元祖中的对象可以是任意不同的类型。pu原创 2020-11-25 09:23:12 · 316 阅读 · 0 评论 -
JAVA编程思想第四版笔记 十四、 类型信息
十四、 类型信息运行时类型信息使得你可以在程序运行时发现和使用类型信息如何让我们在运行时识别对象和类的信息的1.RTTI,假定我们在编译时已经知道所有的类型2.“反射”机制,允许我们在运行时发现和使用类的信息14.1 为什么需要RTTIRTTI运行时类型判定可以用来查询某个父类引用所指向的对象的确切类型,然后选择或者剔除特例。类型转换。14.2 Class对象java使用Class对象来执行其RTTI。每个类都有一个Class对象,每当编写并且编译了一个新类,就会产生一个Class对象(原创 2020-10-21 14:39:10 · 113 阅读 · 0 评论 -
JAVA编程思想第四版笔记 十三、 字符串
十三、 字符串13.1 不可变StringString 底层定义的是final 类;String类中每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,以包含修改后的字符串内容。public final class String13.2 重载“+”与StringBuilder用于String的“+”与“+=”重载操作符StringBuilder sb = new StringBuilder();sb.append("haha");StringBuilder:线程原创 2021-01-07 14:23:55 · 543 阅读 · 0 评论 -
JAVA编程思想第四版笔记 十二、 通过异常处理错误
十二、 通过异常处理错误12.1 概念把“描述在正常执行过程中做什么事”的代码和“出了问题怎么办”的代码相分离。捕获这些异常。12.2 基本异常12.2.1 异常参数所有标准异常类都有两个构造器:一是默认构造器;另一个接受字符串为参数,以便能把相关信息放入异常对象的构造器。throw new NullPointerException(“t = null”);//抛出一个异常Throwable它是异常类型的根类。通常对于不同类型的错误,要抛出相应的异常。错误信息可保存在异常对象内部或者用异常类的名原创 2020-10-21 14:36:22 · 221 阅读 · 0 评论 -
JAVA编程思想第四版笔记 十一、 持有对象
十一、 持有对象11.1 泛型和类型安全的容器不受检查的异常,警告信息会被抑制@SupperWarnings(“unchecked”)class Apple{ public static void main(String[] args){ //没有显示声明的话ArrayList里边存储的就是Object对象 ArrayList apple = new ArrayList(); apple.add(new Apple()); //原创 2021-01-07 14:23:35 · 243 阅读 · 0 评论 -
JAVA编程思想第四版笔记 十、内部类
十、内部类10.1 创建内部类可以将一个类的定义放在另一个类的定义内部,这就是内部类。public class Parcell { class Contents{ private int i = 11; public int value(){return i;} } class Destination{ private String label; Destination(String whereTo){原创 2020-09-14 16:52:45 · 583 阅读 · 0 评论 -
JAVA编程思想第四版笔记 九、接口
9 接口接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。9.1 抽象类和抽象方法抽象方法:仅有声明而没有方法体abstract void f();包含抽象方法的类叫做抽象类。如果一个类包含一个或多个抽象方法,该类必须限定为抽象的(否则,编译会报错),抽象类的方法不一定全为抽象方法。若从一个抽象类继承,想创建该类的对象,那么必须重写基类的方法。若不这样做导出类也会为抽象类,编译器会强制用abstract限定。public enum Note { MIDDLE_C}p原创 2020-09-14 16:52:11 · 353 阅读 · 0 评论 -
JAVA编程思想第四版笔记 八、多态
八、多态8.1 再论向上转型对某个对象的引用视为其基类型的引用的做法称向上转型。8.1.1 忘记对象类型定义一个只接收基类对象为参数的方法,而调用的时候用它子类对象去传即可8.2 转机传的参怎么知道父类引用指向的是那个子类对象而不是那个子类对象。8.2.1 方法调用绑定将一个方法调用同一方法主体关联起来被称作绑定。若在程序执行前进行绑定(编译器和连接程序实现),叫做前期绑定。这也是无法知道是哪个子类对象的关键运行时根据对象的类型进行绑定叫做后期绑定(也称动态绑定或运行时绑定)。即编译器一原创 2020-09-09 15:48:22 · 82 阅读 · 0 评论 -
JAVA编程思想第四版笔记 七、复用类
七、 复用类使用类而不破坏现有程序代码,有两种方法。只需在新的类中产生现有类的对象。由于新类是由现有类的对象组成,所以这种方法称为组合。该代码只是复用了现有程序代码的功能,而非它的形式。按照现有类的类型来创建新类。无需改变现有类的形式,采用现有类的形式在其中添加新代码。即为继承,而且编译器可已完成其中大部分工作。7.1 组合语法优点:不破坏封装,整体类与局部类之间松耦合,彼此相对独立优点:具有较好的可扩展性优点:支持动态组合。在运行时,整体对象可以选择不同类型的局部对象优点:整体类可以对原创 2021-01-07 14:23:04 · 267 阅读 · 0 评论 -
JAVA编程思想第四版笔记 六、访问权限控制
六、访问权限控制6.1 包:库单元//例如import java.util.ArrayList;6.1.1 代码组织package 当前包名6.1.2 创建独一无二的包名一般用域名6.1.3 定制工具库创建自己的工具库来减少或消除重复的程序代码例如 print()语句public Class Print(){ public static void print(Object obj){ System.out.println(obj); }}//实现便捷原创 2021-01-07 14:22:41 · 78 阅读 · 0 评论 -
JAVA编程思想第四版笔记 五、初始化与清理
初始化与清理5.1用构造器确保初始化创建对象时,若类具有构造器,java就会在用户有能力操作对象之前自动调用相应的构造器,从而保证初始化的进行。class Rock{ Rock(){//这是一个构造器 System.out.print("Rock"); }}public class SimpleConstructor{ public static void main(String[] args){ for(int i = 0; i<3原创 2020-08-25 11:10:20 · 190 阅读 · 0 评论 -
JAVA编程思想第四版笔记 四、控制执行流程
四、控制执行流程4.1 true和false条件表达式来判断真假4.2 if-elseif(布尔表达式){ statement;}else{ statement;}4.3 迭代while、do-while和for用来控制循环,有时将他们划分为迭代语句。语句会重复执行,知道起控制作用的布尔表达式得到“假”的结果为止。while(布尔表达式){ statement;}4.3.1 do-whiledo statement;while(布尔表达式);while和do-原创 2021-01-07 14:22:14 · 98 阅读 · 0 评论 -
JAVA编程思想第四版笔记 三、操作符
三、操作符3.1 更简单的打印语句import static sun.misc.Version.print;print();3.2 使用java操作符操作符能接受一个或多个参数,并生成一个新值。基本类型:+,-,*,/,=对象:=,==,!=String还支持:+,+=3.3 优先级先乘后加减 ,括号优先String后面跟一个+后又跟着非String元素时,会转换为String3.4 赋值=取右边值给左边的3.4.1 方法调用中的别名问题两个对象含有同名的变量public s原创 2020-08-25 11:09:12 · 186 阅读 · 0 评论 -
JAVA编程思想第四版笔记 二、一切都是对象
二、一切都是对象2.1 用引用操作对象遥控器(引用)来操作电视机(对象)例如String s一个引用对其初始化String s = “asdf"你就可以对s进行操作,此时s没有与任何事物相关联2.2 必须由你创建所有对象String s = new String(“asdf”)这里与新的对象关联2.2.1 存储到什么地方1.寄存器最快的存储区,位于处理器内部,按需分配,不能直接控制2.堆栈位于通用RAM(随机访问存储器)中。堆栈指针向下移动,分配新内存;向上移动,释放内存。java必须知原创 2020-08-04 10:05:53 · 159 阅读 · 0 评论