![](https://img-blog.csdnimg.cn/202003191822289.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础
文章平均质量分 87
Java基础部分笔记
渐入佳境~
这个作者很懒,什么都没留下…
展开
-
第4章 面向对象编程
文章目录面向对象基础类的成员面向对象三大特征方法详解关键字五大基本原则释单例模式原创 2020-06-28 21:33:21 · 110 阅读 · 0 评论 -
第2章 Java基本语法
Java基本语法注释关键字和保留字标识符变量常量数据类型进制运算符表达式程序流程控制Scanner类介绍原创 2020-03-19 17:50:32 · 126 阅读 · 0 评论 -
第6章 多线程
文章目录定义线程的创建和启动线程的调度与生命周期Thread类的有关方法线程的同步线程的通信原创 2020-07-07 21:56:16 · 142 阅读 · 0 评论 -
第6章 多线程_2_线程的创建和启动
文章目录方式一:继承Thread类方式二:实现Runnable接口联系与区别区别Runnable方式的好处注意方式三:实现Callable接口优点Future接口方式四:使用线程池线程池优点线程池流程常用四种线程池线程池举例线程池为什么需要使用阻塞队列?线程池为什么要使用阻塞队列而不使用非阻塞队列?阻塞队列BlockingQueue常用的几种BlockingQueue举例如何配置线程池CPU密集型任务IO密集型任务混合型任务方式一:继承Thread类定义子类继承Thread类。子类中重写Thr原创 2020-07-07 21:48:37 · 605 阅读 · 0 评论 -
第6章 多线程_6_线程的通信
文章目录wait() 方法notify()/notifyAll()注意例题:使用两个线程交替打印 1-100。例题:生产者/消费者问题[toc]wait() 方法令当前线程挂起并放弃CPU、释放锁、同步资源并等待, 使别的线程可访问并修改共享资源。当前线程从运行态转换为阻塞态,排队等候其他线程调用notify()或notifyAll()方法唤醒,唤醒后等待重新获得对监视器的所有权后才能继续执行。在当前线程中调用方法: 对象名.wait()调用方法的必要条件:当前线程必须具有对该对象的监控权(加锁).原创 2020-07-07 21:43:21 · 209 阅读 · 0 评论 -
第6章 多线程_5_线程的同步
文章目录背景是否需考虑同步synchronized的锁方式一:同步代码块方式二:同步方法Lock的锁(只有同步代码块方式)synchronized 与 Lock 的对比锁的释放释放锁的操作不会释放锁的操作锁的释放释放锁的操作不会释放锁的操作背景问题的原因:当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完,另一个线程参与进来执行。导致共享数据的错误。解决办法:对多条操作共享数据的语句,只能让一个线程都执行完,在执行过程中,其他线程不可以参与执行。是否需考虑同步代原创 2020-07-07 21:42:51 · 109 阅读 · 0 评论 -
第6章 多线程_4_Thread类的有关方法
文章目录方法sleep()和yield()区别拓展 wait方法sleep()和wait()区别方法void start(): 启动线程,并执行对象的run()方法run(): 线程在被调度时执行的操作。通常需要重写此方法,将创建的线程需要执行的操作写在里面。String getName(): 返回线程的名称void setName(String name):设置该线程名称static Thread currentThread(): 返回当前线程。在Thread子类中就是this,通常用于主线程原创 2020-07-07 21:42:07 · 215 阅读 · 0 评论 -
第6章 多线程_3_线程的调度与生命周期
文章目录线程分类线程的调度调度策略时间片抢占式Java的调度方法线程的优先级等级涉及的方法说明线程的生命周期线程分类守护线程、用户线程。它们在几乎每个方面都是相同的,唯一的区别是判断JVM何时离开。守护线程是用来服务用户线程的,通过在start()方法前调用thread.setDaemon(true)可以把一个用户线程变成一个守护线程。Java垃圾回收就是一个典型的守护线程。若JVM中都是守护线程,当前JVM将退出。 形象理解:兔死狗烹,鸟尽弓藏线程的调度调度策略时间片原创 2020-07-07 21:41:18 · 318 阅读 · 0 评论 -
第6章 多线程_1_定义
文章目录概念进程与线程关系进程与线程的选择多线程的优点概念程序(program):为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process):是程序执行的一个实例,是一个动态的过程。进程有它自身产生、存在和消亡的过程。如:运行中的QQ,运行中的MP3播放器。线程(thread):线程是进程中的一个执行路径,本身不会独立存在。每个进程都有自己的地址空间,即进程空间。一个服务器通常需要接收大量的并发请求,为每一个请求都创建进程,系统的开销非常大、请求响应效率低原创 2020-07-07 21:40:07 · 151 阅读 · 0 评论 -
第5章 异常
文章目录异常概述定义分类异常处理一:try-catch-finally抛出和捕获异常对象的生成注意trycatch (Exceptiontype e)finally捕获异常的有关信息异常处理二:throws手动抛出异常:throw用户自定义异常类异常概述定义在Java语言中,将程序执行中发生的不正常情况称为“异常”。分类Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:StackOverflowError和OOM。一般不编写针对性的代码进行处理。原创 2020-06-28 21:35:43 · 360 阅读 · 0 评论 -
第4章 面向对象编程_5_关键字
第4章 面向对象编程_关键字文章目录第4章 面向对象编程_关键字return使用范围作用注意this使用范围运用注意super使用范围运用this和super区别static使用范围修饰属性:静态变量(或类变量)修饰方法:静态方法final使用范围修饰类修饰方法修饰属性abstract 抽象类使用范围抽象类抽象方法注意多态的应用interface 接口定义接口的特点使用接口的应用:代理模式(Proxy)接口和抽象类异同package定义作用JDK中主要的包介绍import作用注意import作用注意原创 2020-06-28 21:29:54 · 197 阅读 · 0 评论 -
第4章 面向对象编程_7_单例模式
文章目录定义优点应用实现饿汉式懒汉式定义单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。优点由于单例模式只生成一个实例,减少了系统性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,可以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方式来解决。应用网站的计数器,一般是单例模式实现,否则难以同步。应用程序的日志应用,一般都使用单例模式实现,这一般是由于共享的日志文件一直处于打开状态,因为只能有一个实例去操作,否则原创 2020-06-28 21:25:53 · 178 阅读 · 0 评论 -
第4章 面向对象编程_4_方法详解
文章目录重载定义特点示例重写定义应用规定注意可变形参值传递递归重载定义overload,两同一不同。在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。特点与方法的权限修饰符、返回值类型、形参变量名无关,只关注参数个数或参数类型必须不同。调用时,根据方法参数列表的不同来区别。对于重载而言,在方法调用之前,编译器就已经确定了所要调用的方法,这称为“早绑定”或“静态绑定”示例//返回两个整数的和int add(int x,int y){ retur原创 2020-06-28 21:22:45 · 188 阅读 · 0 评论 -
第4章 面向对象编程_3_面向对象三大特征
文章目录面向对象三大特征封装继承多态拓展对象类型转换instanceofObject类面向对象三大特征高内聚 :类的内部数据操作细节自己完成,不允许外部干涉。低耦合 :仅对外暴露少量的方法用于使用。封装定义隐藏一切可隐藏的东西(如对象属性私有化),只向外界提供最简单的编程接口(如使用全自动洗衣机,只需要按下开关和洗涤模式,不需要了解内部结构),从而保证了数据的安全性和程序的稳定性。封装性的体现使用 private 修饰符把成员变量设置为私有,防止外部程序直接随意调用或修改成员变量,然后原创 2020-06-28 21:21:05 · 286 阅读 · 0 评论 -
第4章 面向对象编程_2_类的成员
文章目录属性 Field定义语法格式分类赋值顺序方法 Method定义语法格式方法的调用注意[方法详解](第4章 面向对象编程_4_方法详解.md)构造器作用语法格式特点分类注意代码块作用分类静态代码块:static修饰的代码块非静态代码块:没有static修饰的代码块注意内部类定义分类成员内部类局部内部类匿名内部类修饰符适用范围属性 Field定义属性是类的静态特征,也叫成员变量。语法格式修饰符 数据类型 属性名 = 初始化值 ;常用权限修饰符:private、缺省、protected、pu原创 2020-06-28 21:13:50 · 805 阅读 · 0 评论 -
第4章 面向对象编程_1_面向对象基础
文章目录面向过程与面向对象面向过程 POP面向对象 OOP类和对象对象的创建和使用步骤内存解析注意事项面向过程与面向对象面向过程 POP 面向过程以实现功能的函数开发为主,强调的是功能行为,以函数为最小单位,考虑怎么做。优点:性能比面向对象好,因为类调用时需要实例化,开销比较大,比较消耗资源。缺点:不易维护、不易复用、不易扩展。面向对象 OOP 面向对象,将功能封装进对象......原创 2020-04-19 21:46:50 · 127 阅读 · 0 评论 -
第4章 面向对象编程_6_五大基本原则
文章目录单一职责原则开放封闭原则里式替换原则依赖倒置原则接口分离原则单一职责原则 SRP(Single Responsibility Principle)类的功能要单一,不能包罗万象,跟杂货铺似的。开放封闭原则 OCP(Open-Close Principle)一个模块对于拓展是开放的,对于修改是封闭的。里式替换原则 LSP((the Liskov Substitution Princ......原创 2020-04-19 21:42:07 · 97 阅读 · 0 评论 -
第3章 数组
文章目录定义概述分类一维数组一维数组声明一维数组初始化一维数组使用多维数组多维数组声明多维数组初始化多维数组使用数组例题Arrays工具类数组使用常见异常数组脚标越界异常(ArrayIndexOutOfBoundsException)空指针异常(NullPointerException)定义数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些......原创 2020-03-29 21:25:23 · 271 阅读 · 0 评论 -
数组例题
文章目录一、数组元素的赋值杨辉三角回形数二、数组元素的最大值、最小值、平均数、总和三、数组的复制、反转、查找四、生成随机数Math.random()Random类一、数组元素的赋值杨辉三角package com.atguigu.exer;/* * 使用二维数组打印一个 10 行杨辉三角。 * 【提示】 * 1. 第一行有 1 个元素, 第 n 行有 n 个元素 * 2. 每一行的第...原创 2020-03-29 21:28:12 · 362 阅读 · 0 评论 -
第2章 Java基础语法_13_默认初始化值
第2章 Java基础语法—默认初始化值数组元素类型元素默认初始值byte0 (byte)short0 (short)int0long0Lfloat0.0Fdouble0.0char0 或写为 ’\u0000’ (表现为空)booleanfalse引用类型null...原创 2020-03-26 22:22:04 · 92 阅读 · 0 评论 -
第2章 Java基础语法_12_访问修饰符
文章目录定义分类访问修饰符图定义Java中,可以使用访问修饰符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。分类private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)default (即缺省,什么也不写,不使用任何关键字): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。protected ...转载 2020-03-19 18:08:36 · 121 阅读 · 0 评论 -
第2章 Java基础语法_11_Scanner类介绍
第2章 Java基础语法—Scanner类介绍/*如何从键盘获取不同类型的变量:需要使用Scanner类具体实现步骤:1.导包:import java.util.Scanner;2.Scanner的实例化:Scanner scan = new Scanner(System.in);3.调用Scanner类的相关方法(next() / nextXxx()),来获取指定类型的变量注意...原创 2020-03-19 17:47:37 · 110 阅读 · 0 评论 -
第2章 Java基础语法_10_程序流程控制
文章目录定义分类1、顺序结构2、分支结构if分支结构switch分支结构3、循环结构for 循环格式举例while 循环格式举例do-while 循环格式举例跳转语句breakcontinuereturn注意定义流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。分类1、顺序结构程序从上到下逐行地执行,中间没有任何判断和跳转。public cl......原创 2020-03-19 17:47:03 · 113 阅读 · 0 评论 -
第2章 Java基础语法_9_表达式
文章目录定义类型和值运算顺序举例定义用运算符把常量或者变量连接起来符号java语法的式子就可以称为表达式。类型和值表达式值的数据类型即为表达式的类型。对表达式中操作数进行运算得到的结果是表达式的值。运算顺序应按照运算符的优先级从高到低的顺序进行;优先级相同的运算符按照事先约定的结合方向进行;举例a + b3.14 + a(x + y) * z + 100boolean b...转载 2020-03-19 17:39:39 · 116 阅读 · 0 评论 -
第2章 Java基础语法_8_运算符
文章目录定义分类算术运算符赋值运算符比较运算符(关系运算符)逻辑运算符位运算符运算符的优先级定义运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。分类算术运算符注意:取模运算(%)的结果,不一定总是整数,符号和被模数相同。左右两端类型要一致。除法运算(/)在整数之间做除法时,只保留整数部分而舍弃小数部分。 例如12/5=2。加法运算(+)当String字符串与其他数据类......原创 2020-03-19 17:37:58 · 317 阅读 · 0 评论 -
第2章 Java基础语法_7_进制
文章目录定义常用进制二进制介绍为什么使用原码、反码、补码进制之间的转换二进制转十进制二进制转八进制二进制转十六进制二进制转十六进制定义进制也就是进位计数制,是人为定义的带进位的计数方法。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。常用进制二进制(binary):0,1 ,逢2进1,以0b或0B开头。十进制(decimal):0-9 ,逢10......原创 2020-03-19 17:13:21 · 321 阅读 · 0 评论 -
第2章 Java基础语法_6_数据类型
第2章 Java基础语法—数据类型定义分类Java基本数据类型图转义字符表**基本数据类型转换**1、自动类型转换2、强制类型转换定义Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间。分类Java基本数据类型图计算机存储单元介绍java的整型常量默认为 int 型,声明long型常量须后加 ‘l’ 或 ‘L’。Java 的浮......原创 2020-03-19 17:09:18 · 209 阅读 · 0 评论 -
第2章 Java基础语法_5_常量
第2章 Java基础语法—常量定义分类举例注意事项定义常量定义:在程序执行的过程中,其值不可以发生改变的量。常量不同于常量值,它可以在程序中用符号来代替常量值使用,因此在使用前必须先定义。常量值定义:常量和常量值是不同的概念,常量值又称为字面常量,它是通过数据直接表示的。关系:常量值是常量的具体和直观的表现形式,常量是形式化的表现。通常在程序中既可以直接使用常量值,也可以使用常量。分...转载 2020-03-19 16:43:23 · 90 阅读 · 0 评论 -
第2章 Java基础语法_4_变量
第2章 Java基础语法—变量定义格式注意事项分类1、按[数据类型]()基本数据类型引用数据类型2、按声明位置成员变量(实例变量)局部变量拓展—类变量(静态变量)成员变量、局部变量、静态变量的区别使用原则定义变量是程序中最基本的存储单元,是内存中的一个存储区域。该区域的数据可以在同一类型范围内不断变化。包含变量类型、变量名和存储的值。格式声明变量 语法:<数据类型> .........原创 2020-03-19 16:41:07 · 346 阅读 · 0 评论 -
第2章 Java基础语法_3_标识符
第2章 Java基础语法—标识符定义合法规则命名规范—见名知意定义Java 对变量、方法和类等要素命名时使用的字符序列称为标识符。凡是自己可以起名字的地方都叫标识符。合法规则由26个英文字母大小写,0-9 ,_ 或 $ 组成数字不可以开头。不可以使用关键字和保留字,但能包含关键字和保留字。Java中严格区分大小写,长度无限制。标识符不能包含空格。命名规范—见名知意包名:所...原创 2020-03-19 16:37:03 · 232 阅读 · 0 评论 -
第0章 计算机知识
文章目录一、计算机硬件介绍1、计算机硬件总图2、CPU3、内存相关定义4、内存作用5、硬件二、操作系统1、操作系统定义2、主要任务三、万维网Web1、万维网定义2、WEB架构模式2、WEB架构模式一、计算机硬件介绍1、计算机硬件总图2、CPU**中央处理器(Central Processing Unit,CPU)**是计算机的大脑。它从内存中获取指令,然后执行这些指令。包括:控制单元...原创 2020-03-13 22:08:05 · 263 阅读 · 0 评论 -
第2章 Java基础语法_2_关键字和保留字
第2章 Java基础语法—关键字和保留字关键字定义关键字特点Java关键字(Java 8版本)Java关键字(Java 8 以后版本)注意事项保留字定义保留字关键字定义被Java语言赋予了特殊含义,用作专门用途的字符串(单词),这些关键字不能用于常量、变量、和任何标识符的名称。关键字特点关键字中所有字母都为小写Java关键字(Java 8版本)Java关键字(Java 8 以后版本...原创 2020-03-19 16:35:32 · 308 阅读 · 0 评论 -
第1章 Java语言概述
文章目录一、常用的DOS命令二、Java技术体系平台三、Java语言的特点四、Java两种核心机制五、JVM、JRE和JDK关系六、安装JDK步骤七、JDK安装目录内容八、Hello World.java九、注释一、常用的DOS命令d: 进入d盘dir 列出当前目录下的文件以及文件夹md xxx 创建xxx目录cd xxx 或 cd d:\x............原创 2020-03-13 23:03:46 · 389 阅读 · 0 评论 -
第2章 Java基础语法_1_注释
第2章 Java基础语法—注释作用格式注意作用对所编写的程序进行解释说明,增强可读性。格式单行注释// 注释文字多行注释/* 注释文字 */文档注释(Java特有)/** * @author 指定jav程序的作者 * @version 指定源文件的版本 */文档注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程...原创 2020-03-19 16:24:07 · 177 阅读 · 0 评论