笔记
tomato2016
编程初学者
展开
-
2020-12-07
里氏替换原则里氏替换原则: 面向对象有三大特性:封装、继承、多态。所以我们在实际开发过程中,子类在继承父类后,根据多态的特性,可能是图一时方便,经常任意重写父类的方法,那么这种方式会大大增加代码出问题的几率。比如下面场景:类C实现了某项功能F1。现在需要对功能F1作修改扩展,将功能F1扩展为F,其中F由原有的功能F1和新功能F2组成。新功能F由类C的子类C1来完成,则子类C1在完成功能F的同时,有可能会导致类C的原功能F1发生故障。这时候里氏替换原则就闪亮登场了。四层含义:子类可以实现父类的抽象原创 2020-12-07 20:12:19 · 204 阅读 · 0 评论 -
2020-11-30
一、多线程是什么?为什么要用多线程?介绍多线程之前要介绍线程,介绍线程则离不开进程。首先 进程 :是一个正在执行中的程序,每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元;线程:就是进程中的一个独立控制单元,线程在控制着进程的执行。一个进程中至少有一个进程。 多线程:一个进程中不只有一个线程。为什么要用多线程:①、为了更好的利用cpu的资源,如果只有一个线程,则第二个任务必须等到第一个任务结束后才能进行,如果使用多线程则在主线程执行任务的同时可以执行其他任务,而不需原创 2020-11-30 04:52:36 · 145 阅读 · 0 评论 -
2020-11-23
Q:java中只有一个主线程?A:如果是 main 线程,那么只有一个。Java 在启动并运行销毁时,会有如下线程:main 线程:执行 main 方法的线程Attach listener 线程:Attach Listener 线程是负责接收到外部的命令,而对该命令进行执行的并且把结果返回给发送者。通常我们会用一些命令去要求jvm给我们一些反馈信息,如:java -version、jmap、jstack等等。 如果该线程在jvm启动的时候没有初始化,那么,则会在用户第一次执行jvm命令时,得到启动原创 2020-11-23 02:04:07 · 93 阅读 · 0 评论 -
2020-11-22
匿名内部类适合创建那种只需要一次使用的类,定义匿名内部类的语法格式如下:new 父类构造器(实参列表) | 实现接口(){ //匿名内部类的类体部分}从上面的定义可以看出,匿名内部类必须继承一个父类,或实现一个接口,但最多只能继承一个父类,或实现一个接口。两条规则。匿名内部类不能是抽象类。匿名内部类不能定义构造器。由于匿名内部类没有类名,所以无法定义构造器,但匿名内部类可以初始化块,可以通过初始化块来完成构造器需要完成的工作。...原创 2020-11-22 21:15:22 · 144 阅读 · 0 评论 -
2020-11-20
IO流的操作规律总结:1,明确体系:数据源:InputStream ,Reader数据汇:OutputStream,Writer2,明确数据:因为数据分两种:字节,字符。数据源:是否是纯文本数据呢?是:Reader 否:InputStream数据汇:是:Writer 否:OutputStream到这里就可以明确具体要使用哪一个体系了。剩下的就是要明确使用这个体系中的哪个对象。3,明确设备:数据源:键盘:System.in硬盘:File内存:数组。网络:socket socket.getI原创 2020-11-20 06:53:12 · 79 阅读 · 0 评论 -
2020-11-20
Map:一次添加一对元素。Collection 一次添加一个元素。Map也称为双列集合,Collection集合称为单列集合。其实map集合中存储的就是键值对。 map集合中必须保证键的唯一性。常用方法:1,添加。value put(key,value):返回前一个和key关联的值,如果没有返回null.2,删除。void clear():清空map集合。value remove(key):根据指定的key翻出这个键值对。3,判断。boolean containsKey(key):b原创 2020-11-20 05:49:01 · 141 阅读 · 4 评论 -
2020-11-19
java的jvm的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)也叫静态存储区。堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身栈区:1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中2.每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。3.栈分为原创 2020-11-19 16:01:02 · 131 阅读 · 0 评论 -
2020-11-13
为什么说父类没有无参构造方法,子类无法创建?一个类即使不写构造方法,系统在编译时不是也会自动生成吗在这里插入图片描述![![在这里插入图片描述](https://img-blog.csdnimg.cn/20201113024654726.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RvbWF0bzIwMTY=,size_16,color_FFF原创 2020-11-13 02:41:21 · 63 阅读 · 0 评论 -
2020-11-12
Q:java中为什么main方法必须用static修饰?A:源自百度1、首先介绍一下static这个修饰符在类中,变量的前面有修饰符static称为静态变量(类变量),方法的前面有修饰符static称为静态方法(类方法)。静态方法和静态变量是属于某一个类,而不属于类的对象。2、如果一个方法没有用static来修饰的话就说明这是一个成员方法,只能通过对象来调用这个方法。3、在Java程序运行时,是没有实例化任何对象的,只能通过调用类方法来运行main方法,所以会用static来修饰。...原创 2020-11-12 01:02:35 · 575 阅读 · 0 评论 -
2020-11-11
cclient uclient 两个部分再整合原创 2020-11-11 21:11:04 · 66 阅读 · 0 评论