类名规范:以大写字母开头的名词 若由多个单词组成 每个单词的第一个字母应大写(驼峰命名法)  与.java文件名相同 运行程序:java ClassName(dos命令) 打印语句:System.out,println() 打印完语句换行    System.out,print() 打印完不换行 注释:1. //       2. /*    */      3. 以/**开始 以*/结束 可用来自动生成文档 数据类型:1. 整形:  int 4字节    short 2字节    long 8…
继上一篇Java核心技术第五章——1.类.超类.子类(1) 6.重载解析 假如调用ClassName.Method(args) 1.编译器列出类ClassName所有名为Method的方法. 2.编译器将查看调用方法提供的参数类型(args). 3.根据参数类型匹配所有名为Method的方法. 4.如果编译器没有找到与参数类型匹配的方法,或者发现经过类型转换后有多个方法与之匹配,就会报告一个错误. 7.阻止继承:final类和方法. 1.final类:当你不希望别人利用某个类定义子类.那么则使用…
第 1 章 Java 多线程技能 本章主要内容 线程的启动 如何使线程暂停 如何使线程停止 线程的优先级 线程安全相关的问题 1.1 进程和多线程的概念及线程的优点 进程是操作系统结构的基础:是一次程序的执行:是一个程序及其数据在处理机上顺序执行时所发生的活动:是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位.进程是操作系统管理的基本运行单元. 那什么是线程呢?线程可以理解成是在进程中独立运行的子任务. 使用多线程技术后,可以在同一时间内运行更多不同种类的任务. 1.2…
第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do double else extends assert final finally float for goto if implements import instanceof int interface long native new strictfp package private protect…
第二章 Java内存区域与内存溢出异常 2.2 运行时数据区域  …
本章学习目标: Java版本迁移简介 认识Java SE.Java EE.Java ME 认识JDK规范与操作 了解JVM.JRE与JDK 下载与安装JDK 一.Java版本迁移简介 书上已经表达得非常详细具体了,我提供给大家几个拓展链接. Java的版本历史与特性 Java各版本发布图 二.Java三大平台 1.Java SE Java SE是本书主要的介绍对象! Java SE可以分为四个主要的部分:JVM.JRE.JDK和Java语言. 为了能够运行Java撰写好的程序,必须有Java虚拟…
第12章 Java内存模型与线程 Java内存模型  主内存与工作内存: java内存模型规定了所有的变量都在主内存中,每条线程还有自己的工作内存. 工作内存中保存了该线程使用的主内存副本拷贝,线程对变量的所有操作都必须在工作内存中进行. 内存间交互操作: 1 lock 作用于主内存的变量,它把一个变量标识为一个线程独占的状态. 2 unlock 作用于主内存的变量,把锁定的变量释放出来 3 read 作用于工作内存的变量,把一个变量的值从主内存传输到线程的工作内存中. 4 load 作用于工作…
1.定义子类: 关键字extends表明正在构造的新类派生与一个已存在的类.已存在的类称为超类.基类或父类:新类称为子类.派生类或孩子类.超类和子类是Java程序员最常用的两个术语(emmm~~我觉得是叫父类比超类多). 父类Employee public class Employee { private String name; private double salary; private LocalDate hireDay; public Employee(String name, doub…
4.1面向对象程序设计概述 OOP(面向对象编程Object Oriented Programming) OOP中数据第一位,算法第二位. 类 封装:关键在于不能让其他方法直接访问类的实例域,程序仅通过对象的方法与对象交互. 实例域:对象中的数据. 对象 对象的三个主要特性: 对象的行为:可以对对象施加哪些方法. 对象的状态:对于每个特定对象都有一组特定的实例域值,这些值的集合就是对象的当前状态. 对象标识:如何辨别具有相同行为与状态的不同对象??? 类之间最常见的三种关系 依赖(uses-a)…
Object类:所有类的超类 Object类是Java中所有类的始祖,在Java中每个类都是由它扩展而来的.但是并不需要这样写: public class Emloyee extends Object 如果没有明确的指出超类,Object就被认为是这个类的超类.在Java中,只有基本数据类型不是对象,所有数组类型,不管是对象数组还是基本类型的数组都扩展(继承)了Object类. 1.equals方法 Object类中的equals方法用于检车一个对象是否等于另外一个对象.也就是说是否具有相同的引…
重载: 如果多个方法(包含构造方法)有相同的名字.不同的参数,便产生重载.编译器必须挑选出具体执行哪个方法,它通过用各个方法给出的参数类型与特定方法调用所使用的值类型进行匹配挑选出相对应的方法. 如果编译器找不到匹配的参数,就会产生编译时错误.(此过程称为重载解析)   注意:方法的返回类型并不属于重载的条件,因为不能有两个名字相同.参数相同而返回类型不同的方法.否则会编译报错.我大学就是傻逼逼的一直把返回类型当做重载条件的一部分. 重载例子如下: public class OverLoadin…
final实例域 实例域(对象的属性)可修饰为final.修饰为final后,在构建对象时必须初始化这个实例域.若没有在实例域进行初始化,那么必须在每个构造器内初始化这个实例域(否则会编译错误). 表明在后面的操作中,不能够再对它进行修改.即没有对应的域更改器(set)方法. final修饰大部分都是应用于基本类型域(基本数据类型)或者不可变类的域(例如:String类),若修饰可变的类,可能会对读者造成混乱. 静态域与静态方法 static 静态域 static修饰的属性称为静态域,它是属于类…
封装性(有时称为数据隐藏): 实现封装的关键在于绝对不能让类中的方法直接地访问其他类的实例域值.程序仅通过对象的方法与对象的数据进行交互. 给对象赋予了"黑盒"的特征,提高了重用性和可靠性.简而言之,就是只需知道方法对应的作用,而不必了解它的具体实现过程. 有些时候,需要获得或设置实例域的值,应该提供下面三项内容: 1.一个私有的数据源: 2.一个公有的域访问器方法 3.一个公有的域更改器方法 私有的数据域: 私有数据域即写在全局的私有变量或常量.私有数据域要比公有数据域要复杂,因为需…
2. HotSpot虚拟机对象探秘 2.1 对象的创建 虚拟机遇到一条New指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载.解析和初始化过. 如果没有,就必须先执行相应的类加载过程,类加载检查过程通过后,接下来为新生对象分配内存. 2.1.1 内存分配方式 假设Java堆中内存是绝对规整的,所有用过的对象都放在一边,空闲的内存放在另一边,中间放着一个指针作为分界点的指示器, 那所分配内存就仅仅把那个指针向空闲空间那边挪动一段与对…
目标 重点: 线程安全的概念 线程通信的方式与应用 reactor线程模型 线程数量的优化 jdk常用命令 Netty框架的作用 难点 java运行的原理 同步关键字的原理 AQS的抽象 JUC的源码 网络编程的概念 GC机制 class文件内容 文件开头有一个0xcafebabe特殊的标志. 包含版本.访问标志.常量池.当前类.超级类.接口.字段.方法.属性 把class文件的信息存在方法区里面,有了类 根据类创建对象,存储在堆内存中,垃圾回收就是这里.这是线程共享的部分,随虚拟机或者GC创建…
第1章 1.java特性 简单性,java语法是一个C++语法的纯净版本. 面向对象,java将重点放在数据和对象的接口上.java与C++的主要不同点在于多继承,在java中实现多继承的机制是采用接口以及元类模型. 网络技能,健壮性,安全性,体系结构中立, 可移植性,java的基本类型的大小以及有关算法都做了明确的规定,java规范没有依赖具体实现.例如:java中的int类型永远是32位的整数,在其他语言中就不一定.其他语言只有一种规定就是int类型的大小不能低于shortint,不能高于l…
Java入门--(1)Java编程基础 第二章 Java编程基础   JAVA 代码的基本格式: 修饰符 class 类名{ 程序代码 }   2.1关键字:赋予了特殊含义的单词.   2.2标识符:在程序中定义的一些名称. 比如:类名 a-z 0-9 _ $ 数字不可以开头,不可以使用关键字,一般首字母大写.   2.3注释:注解说明程序的文字. 作用:1.对程序进行说明.          2.调试程序. 注意:多行注释可嵌单行注释,但不能嵌套多行注释. /*多行注释*/ /**文档注释*/…
第1章 Java程序设计概述1.1 Java程序设计平台 具有令人赏心悦目的语法和易于理解的语言,与其他许多优秀语言一样,Java满足这些要求. 可移植性 垃圾收集 提供大型的库  如果想要有奇特的绘图功能,网络连接功能和数据库存取功能无需自己动手编写代码 功能齐全的出色语言 高质量的执行环境,提供庞大的库.集多种优势于一身 注:  白皮书:www.oracle.com/technetwork/java/langenv-140151.html  11个关键术语的论述:http://horstma…
第12章 泛型程序设计 本章内容: * 为什么要使用泛型程序设计 * 定义简单泛型类 * 泛型方法 * 类型变量的限定 * 泛型代码和虚拟机 * 约束与局限性 * 泛型类型的继承规则 * 通配符类型 * 反射和泛型 使用泛型机制编写的程序代码要比那些杂乱地使用Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性. 12.1 为什么要使用泛型程序设计 泛型程序设计(Generic programming)意味着编写的代码可以被很多不同类型的对象所重用. 12.2 定义简单泛型类…
第3章 Java的基本程序设计结构 本章内容: 一个简单的Java应用程序 字符串 注释 输入输出 数据类型 控制流 变量 大数值 运算符 数组 本章主要讲述程序设计相关的基本概念(如数据类型.分支以及循环)在Java中的实现方式. 3.1 一个简单的Java应用程序 Java对大小写敏感. Java定义类名规则:名字必须以字母开头,后面可以跟字母和数字的任意组合.长度基本上没有限制.但是不能使用Java保留字作为类名. 标准的命名规则为:类名是以大写字母开头的名词.如果名字由多个单词组成,每个…
第2章 Java程序设计环境 本章内容: 安装Java开发工具箱 使用集成开发环境 选择开发环境 运行图形化应用程序 使用命令行工具 建立并运行applet本章主要介绍如何安装Java开发工具箱(JDK)以及如何编译和运行各种类型的程序:控制台程序.图形化应用程序以及applet应用程序. 2.1 安装Java开发工具箱 2.1.1 下载JDK 下载地址:www.oracle.com/technetwork/java/javase/downloads. JDK:Java Development…
Java 的基本程序设计结构 现在, 假定已经成功地安装了 JDK,并且能够运行第 2 章中给出的示例程序.我们从现在开始将介绍 Java 应用程序设计.本章主要介绍程序设计的基本概念(如数据类型.分支以及循环)在 Java 中的实现方式. 非常遗憾, 需要告诫大家, 使用 Java 编写 GUI 应用程序并不是一件很容易的事情, 编程者需要掌握很多相关的知识才能够创建窗口. 添加文本框以及能响应的按钮等.介绍基于 GUI 的 Java 应用程序设计技术与本章将要介绍的程序设计基本概念相差甚远,…
Java 程序设计环境 本章主要介绍如何安装 Java 开发工具包( JDK ) 以及如何编译和运行不同类型的程序: 控制台程序. 图形化应用程序以及 applet.运行 JDK 工具的方法是在终端窗口中键入命令. 然而, 很多程序员更喜欢使用集成开发环境. 为此,将在稍后介绍如何使用免费的开发环境 编译和运行 Java 程序.尽管学起来很容易, 但集成开发环境需要吞噬大量资源, 编写小型程 序时也比较烦琐. 一旦掌握了本章的技术,并选定了自己的开发工具,就可以学习第 3 章, 开始研究 Jav…
<java核心技术卷i>第一章主要内容包括三点: 1:Java白皮书的关键术语:描述Java的十一个关键字: 2:Java applet 3 :关于Java的常见误解   1:第一章:Java白皮书的关键术语:描述Java的十一个关键字: 简单性,面向对象,分布式,健壮性,安全性,体系结构中立,可移植性,解释型,多线程,高性能,动态性 部分介绍如下: 简单性:Java语法相当于C++,为一个“纯净版本”, Java去掉了C++中的头文件,指针运算(指针语法),结构,联合,操作符重载,虚基类等.…
Java 核心技术之一程序设计概述 一.   Java语言的特点 简单行 :取经于C++,排除了C++不常用的指针.结构等,增加垃圾回收. 面向对象:与C++不同是单继承,但是可以继承多接口.完全面向对象的语言: 网络技能:Socket,FTP,Http,URL编程简单: 健壮性:避免指针错误使用: 安全性:构建防病毒防篡改系统: 体系结构中立:字节码: 可移植性: 解释性:可以解释任何移植了的字节码: 高性能: 多线程 动态性: 二.   Internet 和 Java Applet 在网页中…
<java核心技术卷i> 第三章:java基本程序结构: 每次看书,去总结的时候,总会发现一些新的东西,这次对于java的数组有了更深的了解: java中的数据类型,运算符,字符串,输入输出,控制流,大数值,数组: 数据类型:4 种整形,2种浮点型,1种字符类型 字符类型:char "A"表示含有A的字符串,其末尾含有字符串结束符,'A'则表示单个A字符 特殊字符需要转义,如: 转义序列 名称 Unicode值 \b 退格 \u0008 \t 制表 \u0009 \n 换行…
对 象 与 类 4.1 面向对象程序设计概述 面向对象程序设计(简称 OOP) 是当今主流的程序设计范型, 它已经取代了 20 世纪 70 年代的" 结构化" 过程化程序设计开发技术.Java 是完全面向对象的, 必须熟悉 OOP 才能 够编写 Java 程序. 面向对象的程序是由对象组成的, 每个对象包含对用户公开的特定功能部分和隐藏的实现部分.程序中的很多对象来自标准库,还有一些是自定义的.究竟是自己构造对象, 还是从外界购买对象完全取决于开发项目的预算和时间.但是, 从根本上说,…
<Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1.1 定义子类 5.1.2覆盖方法 5.1.3子类构造器 5.1.4 继承的层次 5.1.5 多态 5.1.6 理解方法调用 5.1.7 阻止继承:final类和方法 5.1.8 强制类型转换 5.1.9 抽象类 5.1.10 受保护访问 5.2 Object: 所有类的超类 5.2.1 equals方法 5…
第11章 异常.断言.日志和调试 本章内容: * 处理错误 * 捕获异常 * 使用异常机制的技巧 * 使用断言 * 日志 * 调试技巧 * GUI程序排错技巧 * 使用调试器 11.1 处理错误 如果由于出现错误而使得某些操作没有完成,程序应该: 返回到一种安全状态,并能够让用户执行一些其他的命令: 允许用户保存所有操作的结果,并以适当的方式终止程序. 异常处理的任务就是将控制权从错误产生的地方转移给能够处理这种情况的错误处理器.为了能够在程序中处理异常情况,必须研究程序中可能会出现的错误和问题…
第10章 部署应用程序和applet 本章内容: * JAR文件 * Java Web Start * applet * 应用程序首选项存储 10.1 JAR文件 一个JAR文件既可以包含类文件,也可以包含诸如图像和声音这些其他类型的文件.此外,JAR文件是压缩的,它使用了大家熟悉的ZIP压缩格式. pack200是一种较通常的ZIP压缩算法更加有效的压缩类文件的方式.Oracle声称,对类文件的压缩率接近90%. 可以使用jar工具制作JAR文件(在默认的JDK安装中,位于jdk/bin目录下…