随笔分类 -  Java基础 / java

摘要:实现callable接口-多线程下载图片 说是了解即可,但在项目中还是遇到了,要掌握 实现步骤 实现Callable接口 重写call方法 创建目标对象 Xxxxx t1 = new Xxxxxx(); 创建执行任务 ExecutorService ser = Executors.newFixedT 阅读全文
posted @ 2021-11-08 14:56 Oh,mydream! 阅读(39) 评论(0) 推荐(0)
摘要:多线程之龟兔赛跑 从简单的例子来看,多线程的数据的线程不安全问题还是比较严重 直接上代码 package com.example.multi_thread; public class Race implements Runnable { private String winner; @Overrid 阅读全文
posted @ 2021-11-08 11:28 Oh,mydream! 阅读(47) 评论(0) 推荐(0)
摘要:初识并发问题 多线程操作同一个资源时,不造成线程不安全 代码 package com.example.multi_thread; public class TestThread4 implements Runnable { private int ticketNums = 10; @Override 阅读全文
posted @ 2021-11-06 12:11 Oh,mydream! 阅读(26) 评论(0) 推荐(0)
摘要:实现Runnable类练习-多线程下载图片 准备工作 在java目录下新建lib目录,下载commons.io包(org.apache)jar包文件放在lib目录下; 右键点击lib目录->Add as Library 代码, 需结合继承Thread类练习-多线程下载图片 一起看: package 阅读全文
posted @ 2021-11-06 11:44 Oh,mydream! 阅读(40) 评论(0) 推荐(0)
摘要:继承Thread类练习-多线程下载图片 附上视频连接https://www.kuangstudy.com/course/play/1317506465254887425 准备工作 在java目录下新建lib目录,下载commons.io包(org.apache)jar包文件放在lib目录下; 右键点 阅读全文
posted @ 2021-11-06 11:05 Oh,mydream! 阅读(51) 评论(0) 推荐(0)
摘要:多线程三种创建方法之继承Thread类 三种创建方法 继承Thread类 实现Runable接口 实现Callable接口 继承Tread类 自定义线程类继承Thread类 重写run()方法,编写线程执行体 创建线程对象,调用start()方法开启线程 TestThread.java packag 阅读全文
posted @ 2021-11-05 17:19 Oh,mydream! 阅读(52) 评论(0) 推荐(0)
摘要:线程与进程 基础打牢,开始学一些原来认为很难理解的东西 进程:Process ,进程就是执行程序的一次过程,它是一个动态的概念,是系统资源分配的单位 通常在一个进程中可以包含若干个线程,当然,一个进程中最少能包含一个线程,不然没有存在的意义。线程是CPU调度和执行的单位 注:很多多线程是模拟出来的, 阅读全文
posted @ 2021-11-05 11:35 Oh,mydream! 阅读(28) 评论(0) 推荐(0)
摘要:内部类 内部类就是在一个类的内部再定义一个类 成员内部类 静态内部类 局部内部类 匿名内部类 上代码 package com.example.oop.demo05; public class Outer { public int id = 10; // 成员内部类 public class Memb 阅读全文
posted @ 2021-11-03 15:22 Oh,mydream! 阅读(23) 评论(0) 推荐(0)
摘要:接口的定义与实现 接口与其他类的区别 普通类:只有具体实现 关键字:class 抽象类:具体实现和规范(抽象方法)都有 关键字:abstract class 接口:只有规范,没有具体实现,无构造函数 关键字:interface 接口就是规范,定义的是一组规则 接口的本质是契约,就像我们的人间法律一样 阅读全文
posted @ 2021-11-03 09:21 Oh,mydream! 阅读(151) 评论(0) 推荐(0)
摘要:抽象类 抽象类包含abstract 关键字 抽象类不能 使用new创建,它是用来让子类继承实现的 抽象类可以包含抽象方法和普通方法 有抽象方法的类必须声明为抽象类 抽象方法只有声明,没有方法的实现,是用来让子类实现的 子类继承抽象类,必须要实现抽象类没有实现的抽象方法,否则该类也要声明为抽象类 思考 阅读全文
posted @ 2021-11-02 16:50 Oh,mydream! 阅读(51) 评论(0) 推荐(0)
摘要:static关键字 被static修饰的属性和方法称为静态属性和静态方法 ,可以通过类调用(推荐)也可以通过对象调用 没有被static修饰的属性和方法只能通过对象调用 静态代码块 静态代码块在类对象创建时执行,并且仅执行一次, 对象创建时执行顺序:1.静态代码块 2.匿名代码块(可以用来初始化)3 阅读全文
posted @ 2021-11-02 15:48 Oh,mydream! 阅读(45) 评论(0) 推荐(0)
摘要:instanceof和类型转换 instanceof 判断一个对象是否是一个类的实例 编译不报错前提:两个类之间存在关系 核心:父类引用指向子类对象 父类转子类 是引用类型的从高转低,需要强制转换 子类转父类,可能丢失一些自己本来的方法 代码示例 需认真理解 Person.java package 阅读全文
posted @ 2021-11-02 15:13 Oh,mydream! 阅读(30) 评论(0) 推荐(0)
摘要:多态 不知道多态到底用来干啥 多态即同一方法可以根据返回对象的不同而采用多种不同的行为方式 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多 多态存在的条件 ​ 有继承关系 ​ 子类重写父类的方法 ​ 父类引用指向子类对象 注意:多态是方法的多态,属性没有多态 示例:与重写 博客的示例有 阅读全文
posted @ 2021-11-02 11:46 Oh,mydream! 阅读(31) 评论(0) 推荐(0)
摘要:重写 如果你有目标,就不会被别人带节奏 重写 vs 重构 不同的概念: 重构是同一个类中的同名方法,参数类型或者个数不同 重写是存在两个继承关系的父子类中,子类重写父类的方法,方法名和参数类型完全相同 重写 1.方法名必须相同,参数列表必须完全相同 2.如果为静态方法,调用static结果不同 3. 阅读全文
posted @ 2021-11-02 11:22 Oh,mydream! 阅读(92) 评论(0) 推荐(0)
摘要:super详解 super注意点 super是父类的构造,必须在构造方法的第一条 super只能出现在子类构造或者子类方法中 super构造和this构造不能同时调用,因为两者都要必须出现在构造方法的第一条,会冲突 super vs. this 代表的对象不同 ​ super代表父类对象的引用 ​ 阅读全文
posted @ 2021-11-01 16:11 Oh,mydream! 阅读(75) 评论(0) 推荐(0)
摘要:继承 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模 extends的意思是"扩展",子类是父类的扩展 JAVA中类只有单继承,没有多继承 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等 继承关系的两个类,一个是子类(派生类),一个是父类(基类)。子类继承父 阅读全文
posted @ 2021-10-30 17:15 Oh,mydream! 阅读(22) 评论(0) 推荐(0)
摘要:封装 该露的露,该藏的藏 程序设计追求"高内聚,低耦合"。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量的方法给外部使用 数据的隐藏 通常,应禁止直接访问一个对象中数据的实际表示,而应该通过操作接口来访问,这称为信息隐藏 属性私有,get/set 思考,使用get/se 阅读全文
posted @ 2021-10-30 15:26 Oh,mydream! 阅读(35) 评论(0) 推荐(0)
摘要:类与对象小结 总结和学习一样重要,如果你自己能够总结,那么想必所有的东西你都已经消化吸收 1. 类与对象 ​ 类是模板,对象是实例 2. 方法 ​ 定义,调用(静态方法调用,非静态方法调用) 3. 对象的引用 ​ 对象是通过引用来操作的: 栈中存放的是堆的地址 4. 属性 字段Field 成员变量 阅读全文
posted @ 2021-10-30 14:47 Oh,mydream! 阅读(30) 评论(0) 推荐(0)
摘要:内存分析 个人觉得内存分析不是很好理解,建议看视频https://www.bilibili.com/video/BV12J41137hu?p=65 java内存 堆: 存放new出来的数组和对象 可以被所有线程访问,不会存放别的对象引用 栈: 存放基本变量类型(包含这个基本数据类型的值) 存放引用对 阅读全文
posted @ 2021-10-30 14:26 Oh,mydream! 阅读(40) 评论(0) 推荐(0)
摘要:类与对象的创建 概念 **类:**一种抽象的数据类型,它是对一类事物的整体描述、定义,但是并不能代表某一个具体的事务 **对象:**抽象概念的具体实例 创建与初始化对象 使用new关键字创建对象 使用new关键字创建的时候,除了分配内存空间外,还会给创建好的对象进行默认初始化 以及对类中构造器的调用 阅读全文
posted @ 2021-10-30 11:26 Oh,mydream! 阅读(40) 评论(0) 推荐(0)