【思维导图】[编程书籍]-Java核心技术卷1 基础知识(原书第9版)
- 格式:xmin
- 大小:269.63 KB
- 文档页数:1
Java程序设计(基础)概述特点面向对象平台可移植性分布式多线程安全性工作方式开发工具JDKjavacjava javadocIDElntelliJEclipse NetBeans术语JDK JREJVM API源程序结构package管理类解决命名冲突import class 注释行注释//块注释/*…*/文档注释/**…*/@author @param@return @throws基本语法关键字有特殊含义的单词(50)能用的(48)不能用的(2)gotoconst 标识符给类、接囗、方法、变量等起的名字命名规则字母、数字、下划线和$,数字不能开头大小写敏感不能跟关键字和保留字(null、true、false)冲突见名知意驼峰标识类名每个单词首字母大写变量和方法名从第二个单词开始每个单词首字母大写命名常量全大写,多个单词用下划线隔开运算符分类算术运算符赋值运算符关系运算符短路运算符条件运算符(三目运算符)自增/自减运算符正负号运算符移位运算符布尔运算符位运算符new 创建对象instanceof运行时类型识别()强制类型转换改变运算优先级[]下标运算符.取成员运算符优先级搞不清楚优先级直接加()结合性从左向右从右向左赋值运算自加自减条件运算正负号字面量整型字面量:100、100L浮点型字面量:3.5、3.5F、3.123e2字符字面量:'a'、'\t'、'\123'布尔型字面量:true、false引用字面量:null类型字面量:String.class、int.class分隔符数据类型基本类型整叙byteshortintlong小数floatdoublecharboolean 枚举类型enum引用类型String数组自定义的类或接囗面向对象基本概念类对象的蓝图和模板类与类之间的关系IS-A:继承泛化实现HAS-A:关联关联聚合合成USE-A:依赖定义类[访问修饰符] [修饰符] class类名 [extends 父类] [implements 接囗1,接口2,...] {}属性:数据抽象方法:行为抽象构造器创建对象:new构造器()对象一切皆为对象对象都有属性和行为对象都是唯一的对象都属于某个类消息调用对象的方法就是给对象发送了一个消息一个对象能够接受某种消息,就意味着该对象向外界提供了某种服务三大支柱封装隐藏一切可隐藏的实现细节,只暴露最简单的编程接囗继承从已有类创建新类的过程提供继承信息的类叫父类(基类、超类)得到继承信息的类叫子类(派生类)子类可以继承到父类中public、protected的属性和方法Java中的继承是单继承Object类是所有类的父类多态定义解释1:同样的引用调用同样的方法却做了不同的事情解释2:当A系统访问B系统提供的服务时,B系统有多种提供服务的方式,但对A系统来说是透明的实现方法重写:不同的子类对父类的同一方法给出不同的实现版本对象造型:用父类型的引用引用子类型的对象相关内容访问修饰符类public默认方法、属性、内部类public protected默认private抽象类如果一个类有抽象方法,这个类必须被声明为抽象类抽象类中可以没有抽象方法,抽象类也可以有自己的构造器抽象类不能实例化(不能创建对象)强烈建议:将被继承的类设计成抽象类接囗接囗是约定:实现接囗的类必须重写接口中所有方法,否则就要声明为抽象类接囗代表能力:实现了接囗的类就具备了接囗所描述的能力接囗是一种角色:一个类可以实现多个接囗,一个接囗也可以被多个类实现Java中的接囗单方法接囗:这个唯一的方法通常都是回调方法ActionListener Runnable Comparable标识接囗:没有方法,但是表示了某种能力CloneableSerializable常量接囗:这是接囗最不正确的用法内部类相当于外部类中的一个属性内部类可以访问外部类的私有成员设计原则单一职责原则专业化模块化开闭原则抽象是关键封装可变性依赖倒转原则里氏替换原则接囗隔离原则合成聚合复用原则迪米特法则字符串String创建字符串对象String s="Hello";s引用静态区的字符串字面量String s=new String(Hello")s引用堆上的字符串对象字符串的方法长度:length()取字符:charAt(int)变大/小写:toUpperCase()/toLowerCase()连接:concat(String)比较:equals(String)/compareTo(String)判断开头/结尾:startsWith(String)/endsWith(String)模式匹配:indexOf(String,[int])/lastlndexOf(String,[int]取子串:substring(int,[int])修剪左右两边空白:trim()替换:replace(String,String)/replaceAII(String,String拆分:split(String)String代表的是不变字符串可以被修改的字符串StringBuilder 适用于单线程环境StringBuffer适用于多个线程操作同一个字符串的场景方法在指定位置插入字符串:insert(int,String)删除指定位置的字符:delete(int,int)倒转:reverse()追加:append(String)方法[访问修饰符] [修饰符]返回类型方法名([参数列表])[异常声明]访问修饰符public protected默认private修饰符static abstractfinal修饰变量,变量变成常量修饰类,类不能被继承修饰方法,方法不能被重写synchronizednative方法调用静态方法:类名.方法名(实参列表)非静态方法:对象.方法名(实参列表)递归数组基本用法数组的定义数组的初始化new静态初始化length属性下标运算Arrays工具类sort:排序toString:将数组变成字符串copyOf:数组拷贝equals:比较数组元素是否相同二维数组一个普通数组,每个元素又是一个数组应用表格矩阵2D游戏中的地图棋盘流程控制循环结构分类while循环do…while循环for循环for-each循环相关关键字breakcontinue分支结构if...elseswitch...case...default顺序结构。
Java思维导图笔记1. 什么是思维导图思维导图是一种用于展示思维和概念之间关系的图形工具。
它能够帮助我们整理、组织和表达思维。
在学习和思考过程中,使用思维导图可以更清晰地将复杂的信息归类和记录,提高信息的理解和记忆。
2. Java基本语法2.1 数据类型Java提供了一系列的数据类型,包括基本数据类型(如整数、浮点数、字符、布尔值)和引用数据类型(如类、接口、数组等)。
常见的基本数据类型有: - 整数类型:byte、short、int、long- 浮点数类型:float、double - 字符类型:char - 布尔类型:boolean引用数据类型: - 类(class):是面向对象编程中的基本概念,用来封装数据和方法。
- 接口(interface):是一种抽象的数据类型,用来定义类的行为规范。
- 数组(array):用来存储一组相同类型的元素。
2.2 控制流程语句控制流程语句用于控制程序的执行流程。
Java提供了三种主要的控制流程语句:顺序结构、选择结构和循环结构。
顺序结构是最简单的控制流程,指按照代码的先后顺序执行。
选择结构用于根据条件选择不同的执行路径。
常见的选择语句有:- if语句:用于根据一个条件判断选择是否执行某个代码块。
- switch语句:用于根据一个表达式的值选择执行不同的代码块。
循环结构用于重复执行某个代码块直到满足退出条件。
常见的循环语句有: - while语句:在循环开始之前,先判断条件是否满足,如果满足则执行循环体,然后再次判断条件。
- do-while语句:先执行一次循环体,然后再判断条件是否满足,如果满足则继续执行循环体。
- for语句:在循环开始之前,先执行初始化表达式,然后判断条件是否满足,如果满足则执行循环体,并在每次循环结束后执行更新表达式。
2.3 方法方法是一种可重复使用的代码块,用于执行特定的任务。
在Java 中,每个方法都有名称和参数列表,有时也有返回值。
Java基础知识总结(超详细整理)Java语⾔的特点1.⾯向对象⾯向对象(OOP)就是Java语⾔的基础,也是Java语⾔的重要特性。
⾯向对象的概念:⽣活中的⼀切事物都可以被称之为对象,⽣活中随处可见的事物就是⼀个对象,我们可以将这些事物的状态特征(属性)以及⾏为特征(⽅法)提取并出来,并以固定的形式表⽰。
2.简单好⽤Java语⾔是由C和C++演变⽽来的,它省略了C语⾔中所有的难以理解、容易混淆的特性(⽐如指针),变得更加严谨、简洁、易使⽤。
3.健壮性Java的安全检查机制,将许多程序中的错误扼杀在摇蓝之中。
另外,在Java语⾔中还具备了许多保证程序稳定、健壮的特性(强类型机制、异常处理、垃圾的⾃动收集等),有效地减少了错误,使得Java应⽤程序更加健壮。
4.安全性Java通常被⽤在⽹络环境中,为此,Java提供了⼀个安全机制以防恶意代码的攻击,从⽽可以提⾼系统的安全性。
5.平台⽆关性Java平台⽆关性由Java 虚拟机实现,Java软件可以不受计算机硬件和操作系统的约束⽽在任意计算机环境下正常运⾏。
6.⽀持多线程在C++ 语⾔没有内置的多线程机制,因此必须调⽤操作系统的多线程功能来进⾏多线程程序设计,⽽ Java 语⾔却提供了多线程⽀持。
多线程机制使应⽤程序在同⼀时间并⾏执⾏多项任务,该机制使得程序能够具有更好的交互性、实时性。
7.分布式(⽀持⽹络编程)Java语⾔具有强⼤的、易于使⽤的⽹络能⼒,⾮常适合开发分布式计算的程序。
java中提供了⽹络应⽤编程接⼝(),使得我们可以通过URL、Socket等远程访问对象。
8.编译与解释共存Java语法基础标识符: ⽤来标识类名、对象名、变量名、⽅法名、类型名、数组名、⽂件名的有效字符序列。
合法的标识符:由字母、数字、下划线“_”、美元符号“$”或者“¥”组成,并且⾸字符不能是数字。
不能把java关键字和保留字作为标识符。
标识符对⼤⼩写敏感。
关键字:Java语⾔中已经赋予了特定含义的保留字: const、goto,Java版本中尚未使⽤,但以后版本可能会作为关键字使⽤变量:程序运⾏期间可以被改变的量。
java平台1、J2SE java开发平台标准版2、J2EE java开发平台企业版java程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行java程序。
不同系统上要安装对应的虚拟机才可以运行java程序开发步骤1、编写源文件 (.java)2、编译源文件为类文件(.class)可用J2SE或J2EE编译3、在虚拟机上运行注释//单行注释/* */多行注释java内容介绍java编程可以分成三个方向:1、java se (j2se)桌面开发 java中的基础中的基础2、java ee (j2ee)web开发3、java me (j2me)手机开发java se课程介绍java面向对象编程(基础)java图开界面开发java数据库编程java文件io流编程java网络编程java多线程编程java ee基础1java面向对象编程--数据库编程-->java sejava 基础2html--css--javascript-->div+cssjava ee中级部分Servlet--Jsp-->mvc模式java ee高级部分Struts--Ejb--Hibernate--Spring--Ajax(ext,dw2)-->ssh框架java之父gosling1990 sun启动绿色计划1 | 4451992 创建oak语言-->java1994 gosling参加硅谷大会演示java功能,震惊世界1995 sun正式发布java第一个版本,目前最新是jdk7.0java开发工具记事本、(jcreator、jbuilder退出舞台了)、netbean、eclipse如何选择开发工具先选择记事本,对java有一定了解后再使用eclipse高级开发工具为什么呢?1、更深刻的理解java技术,培养代码感2、有利于公司面试java语言的特点1、java语言是简单的2、java语言是面向对象的3、java语言是跨平台(操作系统)的[即一次编译,到处运行]4、java是高性能的java第一个程序hello.java运行java程序要安装和配置jdkjdk是什么?1、jdk全称java dvevlopment kit中文java开发工具包2、jdk是sun公司开发的3、jdk包括jre(java runtime envirnment)java运行环境、一堆java工具和java基础的类库(类共3600左右,常用类在150个左右)4、可以在下载**开发安装jdk,用户执行需要安装jre配置JDK添加环境变量即可windows下配置jdk在计算机属性--高级设置--环境变量--添加PATH将JDK所在路径指定即可。
第一讲 Java语言入门1.1 Java的特点面向对象:•与C++相比,JAVA是纯的面向对象的语言C++为了向下兼容C,保存了很多C里面的特性,而C,众所周知是面向过程的语言,这就使C++成为一个"混血儿"。
而JAVA语法中取消了C++里为兼容C所保存的特性,如取消了头文件、指针算法、结构、单元等。
可移植〔平台无关性〕:•生成中间字节码指令与其他编程语言不同,Java并不生成可执行文件〔.exe文件〕,而是生成一种中间字节码文件〔.class文件〕。
任何操作系统,只要装有Java虚拟机〔JVM〕,就可以解释并执行这个中间字节码文件。
这正是Java实现可移植的机制。
•原始数据类型存储方法固定,避开移植时的问题Java的原始数据类型的大小是固定的。
比方,在任何机器上,整型都是32位,而C++里整型是依赖于目标机器的,对16位处理器〔比方8086〕,整数用两个字节表示;在像Sun SPARC这样的32位处理器中,整数用4个字节表示。
在Intel Pentium处理器上,整数类型由具体的操作系统决定:对于DOS和Win32来说,整数是2个字节;对于Windows 9x 、NT和2000,整数是4个字节。
当然,使整数类型平台无关之后,性能必然有所下降,但就Java来说,这个代价是值得的。
Java的字符串,那么采用标准的Unicode格式保存。
可以说,没有这个特性,Java的可移植性也不可能实现。
简单•JAVA在语法上与C++类似JAVA的语法与C++很接近,有过C或者C++编程经验的程序员很容易就可以学会JAVA语法;•取消了C++的一些复杂而低效的特性比方:用接口技术代替了C++的多重继承。
C++中,一个类允许有多个超类,这个特性叫做"多重继承",多重继承使得编译器非常复杂且效率不高;JAVA 的类只允许有一个超类,而用接口〔Interface〕技术实现与C++的多继承相类似的功能其它被取消的特性包括:虚拟根底类、运算符过载等•JAVA的根本解释器和类支持模块大概仅40K即使参加根本的标准库和支持线程的模块,也才220K左右。
Java⼯程师学习之路思维导图前⾯看Hollis的微信公众号更新了Java⼯程师成神之路的⽂档,感觉⾥⾯的内容清晰、齐全,可以⽤来审视⾃⼰,也能够知道⾃⼰在那些⽅⾯可以继续前⾏,想着有时间分享出来。
⼀、基础篇JVMJVM内存结构堆、栈、⽅法区、直接内存、堆和栈区别Ja va内存模型内存可见性、重排序、顺序⼀致性、volatile、锁、final垃圾回收内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定JVM参数及调优Ja va对象模型oop-klass、对象头H o tSpo t即时编译器、编译优化类加载机制classLoader、类加载过程、双亲委派(破坏双亲委派)、模块化(jboss modules、osgi、jigsaw)虚拟机性能监控与故障处理⼯具jps, jstack, jmap、jstat, jconsole, jinfo, jhat, javap, btrace、TProfiler编译与反编译javac 、javap 、jad 、CRFJava基础知识阅读源代码String、Integer、Long、Enum、BigDecimal、ThreadLocal、ClassLoader & URLClassLoader、ArrayList & LinkedList、 HashMap & LinkedHashMap & TreeMap & CouncurrentHashMap、HashSet & LinkedHashSet & TreeSetJa va中各种变量类型熟悉Ja va Str ing的使⽤,熟悉String的各种函数JDK 6和JDK 7中substring的原理及区别、replaceFirst、replaceAll、replace区别、String对“+”的重载、String.valueOf和Integer.toString的区别、字符串的不可变性⾃动拆装箱Integer的缓存机制熟悉Ja va中各种关键字transient、instanceof、volatile、synchronized、final、static、const 原理及⽤法。
JAVA基础课程讲义-图文北京尚学堂科技JAVA基础课程北京尚学堂科技JAVA基础课程目录第一章JAVA入门............................................................. . (10)计算机语言发展史............................................................. . (10)JAVA开发环境搭建............................................................. ...........................................18一个典型的JAVA程序的编写和运行过程............................................................. ......19第一个程序常见错误............................................................. ........................................20第一个JAVA程序的总结和提升............................................................. ......................20常用Java开发工具............................................................. ...................................................20常用do命令............................................................. (21)本章笔试作业............................................................. (21)本章上机操作............................................................. (21)第二章(1)编程的基本概念............................................................. (22)注释............................................................. ............................................................... .............22标识符............................................................. ............................................................... .........22关键字/保留字............................................................. ..........................................................23变量(variable)..................................................... ............................................................... .....24常量(Contant)...................................................... ............................................................... ...25命名规则(规范)............................................................ ..........................................................25基本数据类型(primitivedatatype)............................................ . (26)整型变量............................................................. (26)浮点型............................................................. ................................................................27字符型(2个字节):......................................................... .........................................28boolean类型............................................................. .....................................................29运算符(operator)..................................................... (29)二元运算符.............................................................. .......................................................29一元运算符.............................................................. .......................................................30布尔逻辑表达符.............................................................. .. (30)2北京尚学堂科技JAVA基础课程位运算符............................................................. (30)扩展运算符............................................................. ........................................................31字符串连接符............................................................. ....................................................31三目条件运算符............................................................. ................................................31运算符优先级的问题............................................................. ........................................31自动类型转换............................................................. ....................................................32基本类型转化时常见错误和问题............................................................. ....................33方法............................................................. ............................................................... .............33简单的键盘输入和输出............................................................. ............................................33本章思考作业............................................................. (34)上机操作............................................................. ............................................................... .....34第二章(2)控制语句............................................................. (35)顺序结构............................................................. ............................................................... .....35选择结构............................................................. ............................................................... .. (35)if单选择结构............................................................. .....................................................35if-ele双选择结构............................................................. .............................................35If-eleif-ele多选择结构............................................................. ...................................36witch多选择结构............................................................. ............................................37循环结构............................................................. ............................................................... .. (39)While和dowhile的区别............................................................. ..................................41For循环............................................................. . (42)break语句和continue语句............................................................. .............................47语句块............................................................. ............................................................... .........48递归结构............................................................. ............................................................... .....49本章作业............................................................. ............................................................... .....50本章上机操作............................................................. (51)第三章JAVA面向对象程序开发............................................................. . (52)编程语言发展史............................................................. ........................................................52类和对象是如何产生发展的如何进化的............................................................. ............52面向对象思想初步(OOP初步ObjectOrientedProgramming)..................................... ........53面向对象编程的语言的三大特征简介............................................................. ....................56对象和类的概念............................................................. ........................................................56类和对象初步............................................................. (57)测试类的定义方式............................................................. ............................................57简单的学生类编写示例............................................................. ....................................58内存分析............................................................. (59)属性(field,或者叫成员变量)........................................................... .......................59引用类型............................................................. (60)类的方 (60)对象的创建和使用............................................................. ............................................60构造器(或者叫做构造方法,contructor)................................................. ......................60垃圾回收机制(GarbageCollection)............................................ ........................................63方法的重载(overload),构造方法的重载............................................................. ...............63thi关键字............................................................. ............................................................... ..653北京尚学堂科技JAVA基础课程tatic关键字.............................................................. (66)静态初始化块(经常用来初始化类,加载类信息时执行!)...........................................67package...... ................................................................ .............................................................68J DK中的主要包.............................................................. ........................................................68import................................................................ .....68eclipe的使用.............................................................. ..........................................................69继承(e某tend,inheritance)............................................... .. (70)为什么需要继承?继承的作用?........................................................... ......................70继承介绍............................................................. (70)如何实现继承?........................................................... ..................................................70继承使用要点............................................................. ....................................................71Object 类............................................................. ............................................................... .. (72)toString方法............................................................. ......................................................72equal方法............................................................. ........................................................73uper 关键字............................................................. . (74)方法的重写(override)................................................... ....................................................74隐藏/封装(encapulation)................................................. .. (75)为什么需要封装?封装的作用和含义?........................................................... ..........75使用访问控制符,实现封装............................................................. ............................76封装的使用细节............................................................. ................................................76多态(polymorphim).................................................. . (76)为什么需要多态............................................................. ..............................................76如何实现多态............................................................. ..................................................77方法绑定(methodbinding)................................................ .........................................77静态绑定............................................................. (77)动态绑定............................................................. (77)多态的使用要点............................................................. ................................................78对象的转型(cating)....................................................... ........................................................79final ............................................................... ..........................................................................81抽象类............................................................. ............................................................... .........82抽象类的使用要点............................................................. ....................................................83接口............................................................. ............................................................... . (83)为什么需要接口............................................................. ..............................................84如何定义接口............................................................. ..................................................84接口的本质探讨............................................................. ................................................84接口使用要点............................................................. ....................................................85接口的多继承............................................................. ....................................................86面向接口编程............................................................. ....................................................87OOP更多应用............................................................. .. (87)组合............................................................. ............................................................... .....87内部类(innerclae).......................................................................................................88字符串(ng.String类)的使用............................................................. ..............90字符串相等的判断............................................................. ............................................92思考作业............................................................. ............................................................... .. (93)4北京尚学堂科技JAVA基础课程上机作业............................................................. ............................................................... .....94第四章异常机制............................................................. ............................................................... .95导引问题............................................................. ............................................................... .....95异常(E某ception)的概念............................................................. ........................................96异常分类............................................................. ............................................................... .. (96)Error.......................................................... ............................................................... .......97Error和E某ception的区 (97)E某ception........................................................ ............................................................... ..97异常的处理办法之一,捕获异常............................................................. . (99)try 块............................................................. ............................................................... ...99catch..................................................... ............................................................... ............99finally.......................................... ............................................................... ....................100try,catch,finally,return执行顺序............................................................. ..................100异常的处理办法之二,声明异常:throw子句............................................................. 101方法重写中声明异常原则............................................................. ......................................102异常的处理办法之三,手动抛出异常,throw子句........................................................103自定义异常............................................................. .. (1)03使用异常机制建议............................................................. ..................................................104总结........................................................................105思考作业............................................................. ............................................................... ...105上机作业............................................................. ............................................................... ...105第五章数组............................................................. ............................................................... . (106)数组概述和特点............................................................. ......................................................106创建数组和初始化............................................................. ..................................................106数组常见操作............................................................. . (108)数组的拷贝............................................................. ......................................................108数组排序............................................................. ..........................................................109多维数组............................................................. ............................................................... ...110附录(面试前复习一下!!)........................................................ (111)冒泡排序.............................................................分法查找............................................................. ......................................................112命令行参数的问题............................................................. ..........................................113增强for循环............................................................. ...................................................114思考作业............................................................. ............................................................... ...114上机作业............................................................. ............................................................... ...115第六章常用类的使用............................................................. (117)基本数据类型的包装类............................................................. (117)包装类基本知识.............................................................. .............................................117包装类的用途.............................................................. .................................................118自动装箱和拆箱?autobo某ing,unbo某ing............................................................. .....119字符串相关类(String、StringBuffer、StringBuilder) (12)String类的常用方法(已讲过,不再讲!)......................................................... .....120StringBuffer和StringBuilder.................................................. ......................................121String和StringBuffer 和StringBuilder使用要点.. (123)5北京尚学堂科技JAVA基础课程时间处理相关类............................................................. (124)Date时间类(java.util.Date)............................................... ...........................................124DateFormat类和SimpleDateFormat 类............................................................. .........125Calendar日历类............................................................. ..............................................126可视化日历的编写............................................................. ..........................................128Math 类............................................................. ............................................................... .....131File 类............................................................. ............................................................... .. (132)为什么需要学习IO技术............................................................. ........................................146基本概念............................................................. ............................................................... (146)数据源.............................................................. . (146)流的概念.............................................................. .........................................................146第一个简单的IO流程序及深入(将文件中的数据读入).............................................146Java中流的概念细分.............................................................. .............................................148Java中IO流类的体系.............................................................. ...........................................149四个IO基本抽象类.............................................................. .. (150)InputStream.................................................... .. (1)50OutputStream................................................. .. (1)50常用InputStream和OutputStream子类用法 (1)50FileInputStream和FileOutputStream............................................... ...........................150ByteArrayInutStream和ByteArrayOutputStream.......................................... ..........154BufferedInputStream和BufferedOutputStream........................................... ...............156DataInputStream和DataOutputStream............................................... .......................157ObjectInputStream和ObjectOutputStream............................................. ...................158PrintStream.............................. ............................................................... . (158)6北京尚学堂科技JAVA基础课程Reader......................................................... ............................................................... ...158Writer................................................... ............................................................... ..........159FileReader和FileWriter..................................................... ..........................................159BufferReader和BufferWriter................................................... ....................................159InputStreamReader和OutputStreamWriter............................................. ...................161JAVA对象的序列化和反序列化............................................................. .. (161)为什么需要序列化和反序列化...................................................................................161对象的序列化主要有两种用途............................................................. ......................161序列化涉及的类和接口............................................................. ..................................162序列化/反序列化的步骤和实例............................................................. ....................162综合的序列化和反序列化练习............................................................. ......................163JAVA.IO包相关流对象用法总结(尚学堂1002班王鑫).....................................................165IO中其他常用类............................................................. .. (165)File 类............................................................. ............................................................... 165RandomAcceFile.............................................. .. (166)思考作业............................................................. ............................................................... ...166上机作业............................................................. ............................................................... ...166提高课外作业............................................................. ..........................................................166第九章多线程技术............................................................. . (167)念............................................................. ............................................................... (167)程序............................................................. ............................................................... ...167进程............................................................. ............................................................... ...167线程............................................................. ............................................................... ...167线程和进程的区别............................................................. ..........................................167进程与程序的区别............................................................. ..........................................168JAVA中如何实现多线程(重点!!)........................................................ .. (168)通过继承Thread类实现多线程.............................................................. ....................168通过Runnable接口实现多线程.............................................................. ...................169线程状态和leep/yield/join/top/detroy方法.............................................................. (170)态............................................................. ..........................................................170就绪状态............................................................. ..........................................................170运行状态............................................................. ..........................................................170死亡状态............................................................. ..........................................................170终止线程的典型方法(重要!!!)...................................................... .......................171阻塞状态(leep/yield/join方法)............................................................ ......................171线程基本信息和优先级别............................................................. ......................................173线程同步和死锁问题............................................................. ..............................................175死锁及解决方案............................................................. ......................................................179生产者/消费者模式............................................................. ................................................181线程回顾总结............................................................. ..........................................................184任务调度(补充内容,了解即可!).......................................................... ..........................184思考作业............................................................. ..................................................................185上机作业............................................................. ............................................................... ...185第十章网络编程............................................................. .. (1)867北京尚学堂科技JAVA基础课程基本概念............................................................. ............................................................... (186)什么是计算机网络............................................................. ..........................................186计算机网络的主要功能............................................................. ..................................186什么是网络通信协议............................................................. ......................................186网络通信接口............................................................. ..................................................186为什么要分层............................................................. ..................................................186通信协议的分层规定............................................................. ......................................186数据封装............................................................. ..........................................................188数据拆封.......................................................................................................................188IP ............................................................... ............................................................... .. (188)端口............................................................. ............................................................... ...188URL...................................................... ............................................................... .. (189)TCP协议和UDP协议............................................................. (189)区别.............................................................. ................................................................ .189TCP协议.............................................................. ..........................................................189UDP 协议.............................................................. .........................................................190JAVA 网络编程.............................................................. .. (190)InetAddre...................................................... . (19)0InetSocketAddre............................................... .........................................................191URL 类............................................................. .. (1)91基于TCP协议的SOCKET编程和通信............................................................. ...........193UDP通讯的实现............................................................. ..............................................201思考作业............................................................. ............................................................... ...203上机作业(分组完成,3人一组,周末完成)........................................................... .....204第十一章JAVA多媒体编程............................................................. . (205)字体............................................................. ............................................................... .. (205)字体示例和效果............................................................. ..............................................205颜色............................................................. ............................................................... .. (206)颜色编程示例............................................................. ..................................................206图形绘制............................................................. ............................................................... (206)。
JVM原理速记复习Java虚拟机总结思维导图⾯试必备良⼼制作,右键另存为保存JVM喜欢可以点个赞哦Java虚拟机⼀、运⾏时数据区域线程私有程序计数器记录正在执⾏的虚拟机字节码指令的地址(如果正在执⾏的是Native⽅法则为空),是唯⼀⼀个没有规定OOM(OutOfMemoryError)的区域。
Java虚拟机栈每个Java⽅法在执⾏的同时会创建⼀个栈桢⽤于存储局部变量表、操作数栈、动态链接、⽅法出⼝等信息。
从⽅法调⽤直到执⾏完成的过程,对应着⼀个栈桢在Java虚拟机栈中⼊栈和出栈的过程。
(局部变量包含基本数据类型、对象引⽤reference和returnAddress类型)本地⽅法栈本地⽅法栈与Java虚拟机栈类似,它们之间的区别只不过是本地⽅法栈为Native⽅法服务。
线程公有Java堆(GC区)(Java Head)⼏乎所有的对象实例都在这⾥分配内存,是垃圾收集器管理的主要区域。
分为新⽣代和⽼年代。
对于新⽣代⼜分为Eden空间、FromSurvivor空间、To Survivor空间。
JDK1.7 ⽅法区(永久代)⽤于存放已被加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。
对这块区域进⾏垃圾回收的主要⽬的是对常量池的回收和对类的卸载,但是⼀般难以实现。
HotSpot虚拟机把它当做永久代来进⾏垃圾回收。
但很难确定永久代的⼤⼩,因为它受到很多因素的影响,并且每次Full GC之后永久代的⼤⼩都会改变,所以经常抛出OOM异常。
从JDK1.8开始,移除永久代,并把⽅法区移⾄元空间。
运⾏时常量池是⽅法区的⼀部分Class⽂件中的常量池(编译器⽣成的字⾯量和符号引⽤)会在类加载后被放⼊这个区域。
允许动态⽣成,例如String类的intern()JDK1.8 元空间原本存在⽅法区(永久代)的数据,⼀部分移到了Java堆⾥⾯,⼀部分移到了本地内存⾥⾯(即元空间)。
元空间存储类的元信息,静态变量和常量池等放⼊堆中。