- 001.编程入门-资料文件结构1
- 002.编程入门-资料文件结构2
- 003.编程入门-入门概述
- 004.编程入门-冯诺依曼体系结构
- 005.编程入门-CPU和IT行业三大定律
- 006.编程入门-持久化存储设备
- 007.编程入门-bit与byte
- 008.编程入门-内存
- 009.编程入门-输入输出设备和网络连接设备
- 010.编程入门-计算机史上的两个鼻祖
- 011.编程入门-操作系统
- 012.编程入门-万维网与软件架构方式
- 013.编程入门-职业发展与提升
- 014.编程入门-学习经验探讨
- 015.Java语言概述-Java基础阶段目录概述
- 016.Java语言概述-Java后续学习大纲简述
- 017.Java语言概述-Java主要应用场景
- 018.Java语言概述-Java基础图谱及基础阶段项目说明
- 019.Java语言概述-每天授课须知
- 020.Java语言概述-图形化界面操作与命令行操作介绍
- 021.Java语言概述-常用的命令行指令
- 022.Java语言概述-计算机语言的划分
- 023.Java语言概述-不同编程语言的介绍
- 024.Java语言概述-Java语言的历史及技术体系平台
- 025.Java语言概述-Java语言的特点
- 026.Java语言概述-JVM与垃圾收集机制
- 027.Java语言概述-JDK、JRE、JVM的关系
- 028.Java语言概述-JDK与JRE的安装
- 029.Java语言概述-环境变量的配置
- 030.Java语言概述-配置环境变量中几个问题的解决
- 031.Java语言概述-第一个Java程序:HelloWorld
- 032.Java语言概述-几个常见的bug的解决
- 033.Java语言概述-EditPlus的安装和配置
- 034.Java语言概述-单行注释与多行注释
- 035.Java语言概述-文档注释的使用
- 036.Java语言概述-多行注释使用的一个注意点
- 037.Java语言概述-API文档的说明
- 038.Java语言概述-第一个Java程序的总结
- 039.Java语言概述-Java开发工具的说明
- 040.Java基本语法-每天一考
- 041.Java基本语法-复习1
- 042.Java基本语法-复习2
- 043.Java基本语法-关键字和保留字的说明
- 044.Java基本语法-标识符及命名规则
- 045.Java基本语法-标识符的命名规范
- 046.Java基本语法-变量的定义
- 047.Java基本语法-定义变量的注意点
- 048.Java基本语法-变量的分类
- 049.Java基本语法-整型变量的使用说明
- 050.Java基本语法-浮点型变量的使用说明
- 051.Java基本语法-char型变量的使用说明
- 052.Java基本语法-乱码的情况和字符集的说明
- 053.Java基本语法-boolean型变量的使用
- 054.Java基本语法-自动类型提升运算1
- 055.Java基本语法-自动类型提升运算2
- 056.Java基本语法-强制类型转换运算
- 057.Java基本语法-变量运算规则的两个特殊情况
- 058.Java基本语法-String类型变量的使用
- 059.Java基本语法-两个关于String的练习题
- 060.Java基本语法-String使用的强化说明
- 061.Java基本语法-不同进制的表示方式
- 062.Java基本语法-二进制转换为十进制的说明
- 063.Java基本语法-二进制转换为十进制的练习
- 064.Java基本语法-十进制转二进制的操作
- 065.Java基本语法-二进制与八进制十六进制间的转换
- 066.Java基本语法-每天一考
- 067.Java基本语法-复习1
- 068.Java基本语法-复习2:变量的定义
- 069.Java基本语法-复习3:变量的运算规则
- 070.Java基本语法-算术运算符的使用1
- 071.Java基本语法-算术运算符的使用2
- 072.Java基本语法-算术运算符的练习
- 073.Java基本语法-关于敲代码和练指法
- 074.Java基本语法-赋值运算符的使用
- 075.Java基本语法-赋值运算符的课后练习
- 076.Java基本语法-比较运算符的使用
- 077.Java基本语法-逻辑运算符的使用说明
- 078.Java基本语法-逻辑运算符的使用测试
- 079.Java基本语法-逻辑运算符的课后练习
- 080.Java基本语法-左移右移位运算符的使用
- 081.Java基本语法-其它位运算符的使用
- 082.Java基本语法-位运算符的练习
- 083.Java基本语法-三元运算符的使用
- 084.Java基本语法-三元运算符与if-else的转换
- 085.Java基本语法-运算符的优先级
- 086.Java基本语法-关于流程控制的说明
- 087.Java基本语法-if-else结构的基本使用
- 088.Java基本语法-每天一考
- 089.Java基本语法-复习1:算术与比较运算符
- 090.Java基本语法-复习2:比较与逻辑运算符
- 091.Java基本语法-复习3:位运算符与三元运算符
- 092.Java基本语法-使用Scannner从键盘获取int型数据
- 093.Java基本语法-使用Scannner从键盘获取多种类型数据
- 094.Java基本语法-if-else的例题1
- 095.Java基本语法-if-else的例题2
- 096.Java基本语法-if-else课后练习1:笔试题
- 097.Java基本语法-if-else课后练习2:狗的年龄
- 098.Java基本语法-if-else课后练习3:彩票问题
- 099.Java基本语法-if-else课后练习4:高富帅
- 100.Java基本语法-switch-case结构的基本使用
- 101.Java基本语法-switch-case结构的使用说明
- 102.Java基本语法-switch-case的例题1
- 103.Java基本语法-switch-case的例题2
- 104.Java基本语法-switch-case课后练习:日期累积
- 105.Java基本语法-switch-case与if-else的转换说明
- 106.Java基本语法-循环结构及for循环的理解
- 107.Java基本语法-for循环结构的使用
- 108.Java基本语法-for循环的例题
- 109.Java基本语法-每天一考
- 110.Java基本语法-复习
- 111.Java基本语法-for循环的例题
- 112.Java基本语法-for循环课后练习
- 113.Java基本语法-while循环的基本使用
- 114.Java基本语法-do-while循环的基本使用
- 115.Java基本语法-while(true)结构的使用
- 116.Java基本语法-嵌套循环的使用1
- 117.Java基本语法-嵌套循环的使用2
- 118.Java基本语法-嵌套循环练习:九九乘法表
- 119.Java基本语法-质数输出的实现方式一
- 120.Java基本语法-质数输出的算法优化一
- 121.Java基本语法-质数输出的算法优化二
- 122.Java基本语法-break和continue的基本使用
- 123.Java基本语法-带标签的break和continue的使用
- 124.Java基本语法-质数输出的实现方式二
- 125.Java基本语法-项目一的演示
- 126.Java基本语法-项目一中Utility工具类的说明
- 127.Java基本语法-项目一整体框架的搭建
- 128.Java基本语法-项目一退出功能的实现
- 129.Java基本语法-项目一收支明细功能的实现
- 130.Java基本语法-项目二登记收入功能的实现
- 131.Java基本语法-项目一登记支出功能的实现
- 132.Eclipse的使用与数组-每天一考
- 133.Eclipse的使用与数组-复习
- 134.Eclipse的使用与数组-Eclipse首次启动的设置
- 135.Eclipse的使用与数组-HelloWorld程序的编写和执行
- 136.Eclipse的使用与数组-Eclipse使用的常见问题1
- 137.Eclipse的使用与数组-Eclipse使用的常见问题2
- 138.Eclipse的使用与数组-数组的概述
- 139.Eclipse的使用与数组-一维数组的初始化
- 140.Eclipse的使用与数组-数组元素的调用
- 141.Eclipse的使用与数组-数组的长度与遍历
- 142.Eclipse的使用与数组-数组元素的默认初始化值
- 143.Eclipse的使用与数组-内存结构的简单说明
- 144.Eclipse的使用与数组-一维数组的内存解析
- 145.Eclipse的使用与数组-一维数组的课后练习1
- 146.Eclipse的使用与数组-一维数组的课后练习2
- 147.Eclipse的使用与数组-二维数组的理解和初始化
- 148.Eclipse的使用与数组-二维数组元素的调用
- 149.Eclipse的使用与数组-二维数组的长度和遍历
- 150.Eclipse的使用与数组-二维数组元素默认初始化值
- 151.Eclipse的使用与数组-二维数组的内存解析
- 152.数组-每天一考
- 153.数组-复习:Eclipse的使用
- 154.数组-复习:数组的概述_数据结构概述
- 155.数组-复习:一维数组与二维数组
- 156.数组-二维数组练习:基本操作
- 157.数组-二维数组练习:杨辉三角
- 158.数组-算法:数组元素的赋值
- 159.数组-算法:数值型数组元素的操作
- 160.数组-课后练习:数组赋值
- 161.数组-算法:数组的复制
- 162.数组-算法:数组元素的反转
- 163.数组-算法:线性查找
- 164.数组-算法:二分法查找
- 165.数组-算法和排序算法的概述
- 166.数组-算法:冒泡排序的实现
- 167.数组-算法:快速排序的说明
- 168.数组-排序算法的横向对比
- 169.数组-Arrays工具类的使用
- 170.数组-数组中的常见异常
- 171.数组-数组的总结
- 172.面向对象(上)-每天一考
- 173.面向对象(上)-复习
- 174.面向对象(上)-面向对象编程学习的主线
- 175.面向对象(上)-理解面向过程与面向对象
- 176.面向对象(上)-两个要素:类和对象
- 177.面向对象(上)-类的结构:属性和方法
- 178.面向对象(上)-类和对象的创建
- 179.面向对象(上)-对类和对象创建的再理解
- 180.面向对象(上)-体会类的多个对象的关系
- 181.面向对象(上)-对象的内存解析
- 182.面向对象(上)-属性与局部变量的对比1
- 183.面向对象(上)-属性与局部变量的对比2
- 184.面向对象(上)-方法举例与声明的格式
- 185.面向对象(上)-方法声明的说明1
- 186.面向对象(上)-方法声明的说明2
- 187.面向对象(上)-return关键字的使用
- 188.面向对象(上)-方法使用中的注意点
- 189.面向对象(上)-课后练习1:类的设计
- 190.面向对象(上)-课后练习2:类的设计
- 191.面向对象(上)-课后练习3:方法声明
- 192.面向对象(上)-课后练习4:对象数组
- 193.面向对象(上)-课后练习4:对象数组的改进
- 194.面向对象(上)-每天一考1
- 195.面向对象(上)-每天一考2
- 196.面向对象(上)-复习:类与对象
- 197.面向对象(上)-复习:JVM内存结构与对象内存解析
- 198.面向对象(上)-复习:属性与方法
- 199.面向对象(上)-理解“万事万物皆对象”
- 200.面向对象(上)-对象数组的内存解析
- 201.面向对象(上)-匿名对象的使用
- 202.面向对象(上)-自定义数组的工具类
- 203.面向对象(上)-理解方法的重载
- 204.面向对象(上)-方法重载的细节说明
- 205.面向对象(上)-重载的举例与判断练习
- 206.面向对象(上)-重载的练习:编码实践
- 207.面向对象(上)-新特性:可变个数形参的方法
- 208.面向对象(上)-理解变量的赋值
- 209.面向对象(上)-值传递机制:针对基本数据类型
- 210.面向对象(上)-值传递机制:针对引用数据类型
- 211.面向对象(上)-值传递机制的练习
- 212.面向对象(上)-探讨几道网红问题
- 213.面向对象(上)-参数传递的编码练习
- 214.面向对象(上)-递归方法的使用
- 215.面向对象(上)-递归方法的举例
- 216.面向对象(上)-每天一考
- 217.面向对象(上)-复习:重载与可变形参
- 218.面向对象(上)-复习:值传递与递归方法
- 219.面向对象(上)-封装性的引入
- 220.面向对象(上)-封装性的体现
- 221.面向对象(上)-四种权限修饰的理解
- 222.面向对象(上)-四种权限修饰的测试
- 223.面向对象(上)-封装性练习:基本使用
- 224.面向对象(上)-构造器的基本理解
- 225.面向对象(上)-构造器使用的细节说明
- 226.面向对象(上)-构造器练习:基本使用
- 227.面向对象(上)-构造器练习:三角形
- 228.面向对象(上)-总结属性赋值的过程
- 229.面向对象(上)-JavaBean的使用
- 230.面向对象(上)-介绍UML类图
- 231.面向对象(上)-this调用属性和方法
- 232.面向对象(上)-this调用构造器
- 233.面向对象(上)-this练习:Boy和Girl
- 234.面向对象(上)-综合练习1:Account和Customer
- 235.面向对象(上)-综合练习2:对象数组
- 236尚硅谷-面向对象(上)-package关键字的使用
- 237.面向对象(上)-MVC设计模式的理解
- 238.面向对象(上)-import关键字的使用
- 239.面向对象(中)-每天一考
- 240.面向对象(中)-复习:封装性与构造器
- 241.面向对象(中)-复习:this_package_import
- 242.面向对象(中)-Eclipse常用快捷键1
- 243.面向对象(中)-Eclipse常用快捷键2
- 244.面向对象(中)-Eclipse常用快捷键3
- 245.面向对象(中)-回顾Bank练习的难点
- 246.面向对象(中)-项目二功能演示
- 247.面向对象(中)-项目二软件结构设计
- 248.面向对象(中)-项目二CMUtility工具类的功能介绍
- 249.面向对象(中)-项目二:Customer类的设计
- 250.面向对象(中)-项目二:CustomerList类的设计
- 251.面向对象(中)-项目二:CustomerView的整体框架的搭建
- 252.面向对象(中)-项目二:CustomerView退出功能的实现
- 253.面向对象(中)-项目二:CustomerView客户列表功能的实现
- 254.面向对象(中)-项目二:CustomerView添加客户功能的实现
- 255.面向对象(中)-项目二:CustomerView修改客户功能的实现
- 256.面向对象(中)-项目二:CustomerView删除客户功能的实现
- 257.面向对象(中)-项目二:总结
- 258.面向对象(中)-继承性的理解
- 259.面向对象(中)-继承性的使用
- 260.面向对象(中)-继承性的再说明
- 261.面向对象(中)-Object类的理解
- 262.面向对象(中)-每天一考
- 263.面向对象(中)-复习:项目二
- 264.面向对象(中)-复习:继承性
- 265.面向对象(中)-继承性练习1:基本操作
- 266.面向对象(中)-继承性练习2:基本操作
- 267.面向对象(中)-Eclipse Debug的使用
- 268.面向对象(中)-项目二中使用Debug调试
- 269.面向对象(中)-解决Debug中step into功能失灵问题
- 270.面向对象(中)-方法重写的理解
- 271.面向对象(中)-方法重写的细节
- 272.面向对象(中)-方法重写的练习
- 273.面向对象(中)-测试4种不同的权限修饰
- 274.面向对象(中)-super调用属性和方法
- 275.面向对象(中)-super调用构造器
- 276.面向对象(中)-子类对象实例化的全过程
- 277.面向对象(中)-继承和super课后练习
- 278.面向对象(中)-多态性的使用
- 279.面向对象(中)-多态性使用举例
- 280.面向对象(中)-多态性不适用于属性
- 281.面向对象(中)-虚拟方法调用的再理解
- 282.面向对象(中)-每天一考
- 283.面向对象(中)-复习:重写与super
- 284.面向对象(中)-复习:子类对象实例化过程及多态性
- 285.面向对象(中)-向下转型的使用
- 286.面向对象(中)-instanceof关键字的使用
- 287.面向对象(中)-向下转型的几个常见问题
- 288.面向对象(中)-多态练习:调用方法和属性
- 289.面向对象(中)-多态性练习:基本操作
- 290.面向对象(中)-多态性练习:几何图形
- 291.面向对象(中)-多态性练习:重写方法
- 292.面向对象(中)-Object类结构的剖析
- 293.面向对象(中)-==运算符的回顾
- 294.面向对象(中)-equals()的使用
- 295.面向对象(中)-重写equals()
- 296.面向对象(中)-总结==与equals()
- 297.面向对象(中)-equals()练习1:代码实现
- 298.面向对象(中)-equals()练习2:代码实现
- 299.面向对象(中)-toString()的使用
- 300.面向对象(中)-Object类综合练习
- 301.面向对象(中)-单元测试方法的使用
- 302.面向对象(中)-包装类的理解
- 303.面向对象(中)-基本数据类型转换为包装类
- 304.面向对象(中)-包装类转换为基本数据类型
- 305.面向对象(中)-新特性:自动装箱与自动拆箱
- 306.尚硅谷-面向对象(中)-基本数据类型包装类与String的相互转换
- 307.面向对象(中)-包装类常见面试题
- 308.面向对象(中)-包装类的课后练习
- 309.面向对象(下)-每天一考
- 310.面向对象(下)-复习:多态性
- 311.面向对象(下)-复习:Object类及内部方法
- 312.面向对象(下)-复习:单元测试与包装类
- 313.面向对象(下)-static关键字的引入
- 314.面向对象(下)-静态变量与实例变量的对比
- 315.面向对象(下)-static修饰属性的其它说明
- 316.面向对象(下)-类变量和实例变量的内存解析
- 317.面向对象(下)-static修饰方法
- 318.面向对象(下)-属性或方法是否应该static的经验之谈
- 319.面向对象(下)-自定义ArrayUtil工具类的优化
- 320.面向对象(下)-static的应用举例
- 321.面向对象(下)-static课后练习:账户信息
- 322.面向对象(下)-设计模式与单例设计模式
- 323.面向对象(下)-单例的饿汉式实现
- 324.面向对象(下)-单例的懒汉式实现
- 325.面向对象(下)-饿汉式和懒汉式的对比
- 326.面向对象(下)-单例模式的使用场景
- 327.面向对象(下)-理解main()方法的语法
- 328.面向对象(下)-类中代码块结构的使用
- 329.面向对象(下)-开发中代码块的使用举例
- 330.面向对象(下)-代码块的课后练习
- 331.面向对象(下)-属性赋值的先后顺序(完结篇)
- 332.面向对象(下)-final修饰类和方法
- 333.面向对象(下)-final修饰属性
- 334.面向对象(下)-final修饰局部变量
- 335.面向对象(下)-final课后练习
- 336.面向对象(下)-每天一考
- 337.面向对象(下)-复习:static
- 338.面向对象(下)-复习:单例模式
- 339.面向对象(下)-复习:main()
- 340.面向对象(下)-复习:代码块和final
- 341.面向对象(下)-抽象类与抽象方法的使用
- 342.面向对象(下)-抽象的应用场景举例
- 343.面向对象(下)-abstract使用中的注意点
- 344.面向对象(下)-抽象性的练习:基本操作
- 345.面向对象(下)-创建抽象类的匿名子类对象
- 346.面向对象(下)-模板方法的设计模式及应用场景
- 347.面向对象(下)-抽象类的课后练习
- 348.面向对象(下)-接口的理解
- 349.面向对象(下)-接口的定义与使用
- 350.面向对象(下)-接口的多实现与接口的继承性
- 351.面向对象(下)-实例演示接口是一种规范
- 352.面向对象(下)-创建接口匿名实现类的对象
- 353.面向对象(下)-接口应用:代理模式
- 354.面向对象(下)-接口应用:工厂模式
- 355.面向对象(下)-接口课后两道笔试题
- 356.面向对象(下)-接口练习:比较对象大小
- 357.面向对象(下)-Java8中接口的新特性
- 358.面向对象(下)-Java8接口新特性的应用
- 359.面向对象(下)-内部类的分类
- 360.面向对象(下)-成员内部类的特点
- 361.面向对象(下)-如何实例化成员内部类
- 362.面向对象(下)-成员内部类中调用外部类的结构
- 363.面向对象(下)-局部内部类的使用
- 364.异常处理-每天一考
- 365.异常处理-复习:抽象类
- 366.异常处理-复习:接口
- 367.异常处理-复习:内部类
- 368.异常处理-局部内部类使用的一个注意点
- 369.异常处理-异常概述
- 370.异常处理-异常的分类
- 371.异常处理-常见异常的举例
- 372.异常处理-异常处理方式概述
- 373.异常处理-处理异常:try-catch方式
- 374.异常处理-finally的使用
- 375.异常处理-编译时异常和运行时异常的不同处理
- 376.异常处理-处理异常:throws方式
- 377.异常处理-重写方法异常抛出的规则
- 378.异常处理-开发中如何选择哪种方式处理异常
- 379.异常处理-手动抛出异常对象
- 380.异常处理-如何自定义异常
- 381.异常处理-异常处理练习:基本使用
- 382.异常处理-异常处理练习:综合练习
- 383.异常处理-异常处理章节总结
- 384.项目-Java语言基础部分小结
- 385.项目-项目三介绍与演示
- 386.项目-项目三软件架构
- 387.项目-项目三TSUtility和Data类的说明
- 388.项目-项目三中Equipment及其实现类的完成
- 389.项目-项目三中Employee及其子类的实现
- 390.项目-项目三NameListService属性和构造器的实现
- 391.项目-项目三NameListService中两个方法及TeamException的完成
- 392.项目-项目三测试NameListService的getAllEmployees()
- 393.项目-项目三测试NameListService的getEmployee()
- 394.项目-项目三TeamService中属性和getTeam()的完成
- 395.项目-项目三TeamService中addMember()的完成
- 396.项目-项目三TeamService中三个小问题的理解
- 397.项目-项目三TeamService中removeMember()的实现
- 398.项目-项目三TeamView整体框架的搭建
- 399.项目-项目三TeamView退出功能的实现
- 400.项目-项目三TeamView中显示所有员工的功能
- 401.项目-项目三TeamView中显示开发团队成员
- 402.项目-项目三TeamView中添加开发团队成员
- 403.项目-项目三TeamView中删除开发团队成员
- 404.IDEA的使用与多线程-IDEA的使用与多线程的概述
- 405.IDEA的使用与多线程-IDEA的卸载
- 406.IDEA的使用与多线程-IDEA的介绍
- 407.IDEA的使用与多线程-IDEA的安装
- 408.IDEA的使用与多线程-启动IDEA并完成HelloWorld
- 409.IDEA的使用与多线程-Module的理解和创建
- 410.IDEA的使用与多线程-IDEA的常用设置
- 411.IDEA的使用与多线程-快捷键的设置
- 412.IDEA的使用与多线程-模板的使用和设置
- 413.IDEA的使用与多线程-章节概述_程序进程线程的概念
- 414.IDEA的使用与多线程-单核与多核CPU的任务执行_并行与并发
- 415.IDEA的使用与多线程-多线程的优点等
- 416.IDEA的使用与多线程-创建多线程方式一:继承Thread类
- 417.IDEA的使用与多线程-创建过程中两个问题的说明
- 418.IDEA的使用与多线程-继承方式的课后练习
- 419.IDEA的使用与多线程-线程的常用方法
- 420.IDEA的使用与多线程-线程优先级的设置
- 421.IDEA的使用与多线程-例题:继承Thread方式,多窗口卖票
- 422.IDEA的使用与多线程-创建多线程的方式二:实现Runnable接口
- 423.IDEA的使用与多线程-例题:实现Runnable方式,多窗口卖票
- 424.IDEA的使用与多线程-两种创建方式的对比
- 425.多线程-每天一考
- 426.多线程-复习:IDEA使用与多线程基本概念
- 427.多线程-复习:线程的创建与常用方法
- 428.多线程-线程的生命周期
- 429.多线程-理解线程的安全问题
- 430.多线程-线程安全问题的举例和解决措施
- 431.多线程-同步代码块处理实现Runnable的线程安全问题
- 432.多线程-同步代码块处理继承Thread类的线程安全问题
- 433.多线程-同步方法处理实现Runnable的线程安全问题
- 434.多线程-同步方法处理继承Thread类的线程安全问题
- 435.多线程-线程安全的单例模式之懒汉式
- 436.多线程-死锁的问题
- 437.多线程-Lock锁方式解决线程安全问题
- 438.多线程-同步机制的课后练习
- 439.多线程-线程通信的例题
- 440.多线程-sleep()和wait()的异同
- 441.多线程-线程通信:生产者消费者例题
- 442.多线程-创建多线程的方式三:实现Callable接口
- 443.多线程-使用线程池的好处
- 444.多线程-创建多线程的方式四:使用线程池
- 445.常用类-每天一考
- 446.常用类-复习:生命周期与同步机制
- 447.常用类-复习:线程通信和新的线程创建方式等
- 448.常用类-Java常用类的概述
- 449.常用类-String类的概述
- 450.常用类-理解String的不可变性
- 451.常用类-String不同实例化方式的对比
- 452.常用类-String不同拼接操作的对比
- 453.常用类-String的一道面试题
- 454.常用类-JVM中涉及字符串的内存结构
- 455.常用类-String的常用方法1
- 456.常用类-String的常用方法2
- 457.常用类-String的常用方法3
- 458.常用类-回顾String与基本数据类型包装类的转换
- 459.常用类-String与char[]之间的转换
- 460.常用类-String与byte[]之间的转换
- 461.常用类-解决一个拼接问题
- 462.常用类-面试中String算法考查的说明
- 463.常用类-StringBuffer和StringBuilder的介绍
- 464.常用类-StringBuffer的源码分析
- 465.常用类-StringBuffer中的常用方法
- 466.常用类-String、StringBuffer、StringBuilder效率对比
- 467.常用类-System类中获取时间戳的方法
- 468.常用类-Java中两个Date类的使用
- 469.常用类-每天一考
- 470.常用类-复习:String类
- 471.常用类-复习:StringBuffer、StringBuilder
- 472.常用类-复习:日期时间的API
- 473.常用类-String课后算法题目1
- 474.常用类-String课后算法题目2
- 475.常用类-String课后算法题目3
- 476.常用类-String课后算法题目3拓展
- 477.常用类-IDEA中Debug调试
- 478.常用类-SimpleDateFormat的使用
- 479.常用类-SimpleDateFormat的课后练习1
- 480.常用类-SimpleDateFormat的课后练习2
- 481.常用类-Calendar日历类的使用
- 482.常用类-JDK8中日期时间API的介绍
- 483.常用类-LocalDate、LocalTime、LocalDateTime的使用
- 484.常用类-Instant类的使用
- 485.常用类-DateTimeFormatter的使用
- 486.常用类-其它日期时间相关API的使用
- 487.常用类-IDEA的使用:导入Module
- 488.常用类-Java比较器概述
- 489.常用类-Comparable自然排序举例
- 490.常用类-自定义类实现Comparable自然排序
- 491.常用类-使用Comparator实现定制排序
- 492.常用类-System、Math、BigInteger、BigDecimal的使用
- 493.枚举类与注解-每天一考
- 494.枚举类与注解-复习:日期时间API
- 495.枚举类与注解-复习:Java比较器等
- 496.枚举类与注解-枚举类的理解
- 497.枚举类与注解-自定义枚举类
- 498.枚举类与注解-使用enum关键字定义枚举类
- 499.枚举类与注解-Enum类中的常用方法
- 500.枚举类与注解-使用enum关键字定义的枚举类实现接口
- 501.枚举类与注解-IDEA中导入Eclipse项目三修改Status为enum的定义
- 502.枚举类与注解-注解的理解
- 503.枚举类与注解-Annotation的使用示例
- 504.枚举类与注解-JDK内置的三个基本注解
- 505.枚举类与注解-如何自定义注解
- 506.枚举类与注解-jdk中4个基本的元注解的使用1
- 507.枚举类与注解-jdk中4个基本的元注解的使用2
- 508.枚举类与注解-jdk8新特性:可重复注解
- 509.枚举类与注解-jdk8新特性:类型注解
- 510.枚举类与注解-可重复注解中元注解不一致的问题解决
- 511.枚举类与注解-集合框架与项目的对比及概述
- 512.枚举类与注解-集合框架涉及到的API
- 513.枚举类与注解-Collection接口中的常用方法1
- 514.集合-每天一考
- 515.集合-复习:枚举类
- 516.集合-复习:注解
- 517.集合-复习:Collection
- 518.集合-Collection接口的常用方法2
- 519.集合-Collection接口的常用方法3
- 520.集合-Collection接口的常用方法4
- 521.集合-使用Iterator遍历Collection
- 522.集合-迭代器Iterator的执行原理
- 523.集合-Iterator遍历集合的两种错误写法
- 524.集合-Iterator迭代器remove()的使用
- 525.集合-新特性foreach循环遍历集合或项目
- 526.集合-List接口常用实现类的对比
- 527.集合-ArrayList的源码分析
- 528.集合-LinkedList的源码分析
- 529.集合-Vector的源码分析
- 530.集合-List接口中的常用方法测试
- 531.集合-List遍历及方法总结
- 532.集合-List的一个面试小题
- 533.集合-Set接口实现类的对比
- 534.集合-Set的无序性与不可重复性的理解
- 535.集合-HashSet中元素的添加过程
- 536.集合-关于hashCode()和equals()的重写
- 537.集合-LinkedHashSet的使用
- 538.集合-TreeSet的自然排序
- 539.集合-TreeSet的定制排序
- 540.集合-每天一考
- 541.集合-复习:Collection及Collection的遍历
- 542.集合-复习:List接口
- 543.集合-复习:Set接口
- 544.集合-TreeSet的课后练习
- 545.集合-Set课后两道面试题
- 546.集合-Map接口及其多个实现类的对比
- 547.集合-Map中存储的key-value的特点
- 548.集合-HashMap在JDK7中的底层实现原理
- 549.集合-HashMap在JDK8中的底层实现原理
- 550.集合-HashMap在JDK7中的源码分析
- 551.集合-HashMap在JDK8中的源码分析
- 552.集合-LinkedHashMap的底层实现
- 553.集合-Map中的常用方法1
- 554.集合-Map中的常用方法2
- 555.集合-TreeMap两种添加方式的使用
- 556.集合-Properties处理属性文件
- 557.集合-Collections工具类常用方法的测试
- 558.集合-集合课后几道练习题说明
- 559.集合-Java版数据结构简述
- 560.泛型与File-每天一考
- 561.泛型与File-复习1:Map
- 562.泛型与File-复习2:Collections和数据结构
- 563.泛型与File-为什么要使用泛型
- 564.泛型与File-泛型与File中使用泛型举例
- 565.泛型与File-泛型与File中使用泛型的练习
- 566.泛型与File-自定义泛型类举例
- 567.泛型与File-自定义泛型类泛型接口的注意点
- 568.泛型与File-自定义泛型方法举例
- 569.泛型与File-举例泛型类和泛型方法的使用情境
- 570.泛型与File-泛型在继承方面的体现
- 571.泛型与File-通配符的使用
- 572.泛型与File-使用通配符后数据的读取和写入要求
- 573.泛型与File-有限制条件的通配符的使用
- 574.泛型与File-自定义泛型类练习
- 575.泛型与File-File类的实例化
- 576.泛型与File-File类的常用方法1
- 577.泛型与File-File类的常用方法2
- 578.泛型与File-File类的课后练习
- 579.IO流-每天一考
- 580.IO流-复习:IO流中使用泛型
- 581.IO流-复习:自定义泛型结构与通配符
- 582.IO流-复习:File类的使用
- 583.IO流-IO流概述与流的分类
- 584.IO流-IO流的体系结构
- 585.IO流-FileReader读入数据的基本操作
- 586.IO流-FileReader中使用read(char[] cbuf)读入数据
- 587.IO流-FileWriter写出数据的操作
- 588.IO流-使用FileReader和FileWriter实现文本文件的复制
- 589.IO流-字符流不能处理图片文件的测试
- 590.IO流-使用FileInputStream不能读取文本文件的测试
- 591.IO流-使用FileInputStream和FileOutputStream读写非文本文件
- 592.IO流-使用FileInputStream和FileOutputStream复制文件的方法测试
- 593.IO流-缓冲流(字节型)实现非文本文件的复制
- 594.IO流-缓冲流与节点流读写速度对比
- 595.IO流-缓冲流(字符型)实现文本文件的复制
- 596.IO流-缓冲流课后练习1
- 597.IO流-缓冲流课后练习2
- 598.IO流-转换流概述与InputStreamReader的使用
- 599.IO流-转换流实现文件的读入和写出
- 600.IO流-多种字符编码集的说明
- 601.IO流-标准的输入、输出流
- 602.IO流-打印流的使用
- 603.IO流-数据流的使用
- 604.IO流与网络编程-每天一考
- 605.IO流与网络编程-复习:IO流概述
- 606.IO流与网络编程-复习:节点流
- 607.IO流与网络编程-复习:缓冲流与转换流
- 608.IO流与网络编程-复习:其它几个处理流
- 609.IO流与网络编程-对象序列化机制的理解
- 610.IO流与网络编程-对象流序列化与反序列化字符串操作
- 611.IO流与网络编程-自定义类实现序列化与反序列化操作
- 612.IO流与网络编程-serialVersionUID的理解
- 613.IO流与网络编程-自定义类可序列化的其它要求
- 614.IO流与网络编程-RandomAccessFile实现数据的读写操作
- 615.IO流与网络编程-RandomAccessFile实现数据的插入
- 616.IO流与网络编程-NIO介绍及NIO2中Path、Paths、Files的介绍
- 617.IO流与网络编程-使用第三方jar包实现数据读写
- 618.IO流与网络编程-网络编程概述
- 619.IO流与网络编程-IP的理解与InetAddress类的实例化
- 620.IO流与网络编程-端口号的理解
- 621.IO流与网络编程-TCP和UDP网络通信协议的对比
- 622.IO流与网络编程-TCP网络编程例题1
- 623.IO流与网络编程-TCP网络编程例题2
- 624.IO流与网络编程-TCP网络编程例题3
- 625.IO流与网络编程-浏览器访问Tomcat服务器资源操作
- 626.IO流与网络编程-UDP网络编程举例
- 627.IO流与网络编程-URL类的理解与实例化
- 628.IO流与网络编程-URL网络编程实现Tomcat服务端数据下载
- 629.反射-每天一考
- 630.反射-复习:对象序列化机制
- 631.反射-复习:其他IO流内容
- 632.反射-复习:网络通信要素
- 633.反射-复习:TCP、UDP、URL网络编程
- 634.反射-反射的概述
- 635.反射-反射之前,类的实例化等操作
- 636.反射-使用反射,实现同上的操作
- 637.反射-反射的强大:调用类的私有结构
- 638.反射-如何看待反射和封装性两个技术
- 639.反射-Class类的理解
- 640.反射-获取Class实例的4种方式
- 641.反射-Class实例对应的结构的说明
- 642.反射-理解类的加载过程
- 643.反射-ClassLoader的理解
- 644.反射-使用ClassLoader加载配置文件
- 645.反射-通过反射,创建运行时类的对象
- 646.反射-举例体会反射的动态性
- 647.反射-提供结构丰富Person类
- 648.反射-获取运行时类的属性结构及其内部结构
- 649.反射-获取运行时类的方法结构
- 650.反射-获取运行时类的方法的内部结构
- 651.反射-获取运行时类的构造器结构
- 652.反射-获取运行时类的父类及父类的泛型
- 653.反射-获取运行时类的接口、所在包、注解等
- 654.反射-调用运行时类中的指定属性
- 655.反射-调用运行时类中的指定方法
- 656.反射-调用运行时类中的指定构造器
- 657.每天一考
- 658.复习:反射与Class
- 659.ClassLoader与反射的应用
- 660.代理模式与动态代理
- 660.代理模式与动态代理
- 662.动态代理举例
- 663.AOP与动态代理的举例
- 664.Java8新特性内容概述
- 665.Java8新特性的好处
- 666.Lambda表达式使用举例
- 667.Lambda表达式语法的使用1
- 668.Lambda表达式语法的使用2
- 669.函数式接口的介绍
- 670.Java内置的函数式接口介绍及使用举例
- 671.方法引用的使用情况1
- 672.方法引用的使用情况2
- 673.方法引用的使用情况3
- 674.构造器引用与项目引用的使用
- 675.Stream API的概述
- 676.Stream的实例化
- 677.Stream的中间操作:筛选与切片
- 678.Stream的中间操作:映射
- 679.Stream的中间操作:排序
- 680.Stream的终止操作:匹配与查找
- 681.Stream的终止操作:归约
- 682.Stream的终止操作:收集
- 683.Optional类的介绍
- 684.Optional类的使用举例
- 685.复习:动态代理
- 686.复习:Lambda表达式
- 687.复习:函数式接口
- 688.复习:方法引用与构造器引用
- 689.复习:Stream API
- 690.复习:Optional类的使用
- 691.jdk版本更新的说明
- 692.新版本jdk的下载与IDEA开发环境的设置
- 693.java9新特性:jdk目录结构的改变
- 694.java9新特性:模块化系统
- 695.java9新特性:Java的REPL工具:jshell
- 696.java9新特性:接口中声明私有方法
- 697.java9新特性:钻石操作符的语法升级
- 698.java9新特性:try结构的语法升级
- 699.java9新特性:String底层存储结构的变更
- 700.java9新特性:Java9&10&11新特性工厂方法创建只读Java9&10&11新特性
- 701.java9新特性:InputStream中的transferTo()方法
- 702.java9新特性:StreamAPI新增的4个方法
- 703.java9新特性:Optional的新方法stream()
- 704.java9新特性:升级的Nashorn引擎
- 705.java10新特性的概述
- 706.java10新特性:局部变量类型推断
- 707.java10新特性:Java9&10&11新特性新增创建不可变Java9&10&11新特性的方法
- 708.java11新特性的概述
- 709.java11新特性:String新增的方法
- 710.java11新特性:Optional新增的方法
- 711.java11新特性:局部变量类型推断的升级
- 712.java11新特性:HttpClient
- 713.java11新特性:更简化的编译运行程序
- 714.java11新特性:其它新特性
- 715.jdk后续更新的展望
在java中有许多的知识点,但是有些知识点显得非常重要,为什么这么说呢,这些知识点很简单、很基础,但是当别人问起来答不到时,就会被对方直接秒成菜鸟。
1、字符串不变性
Java里面对于字符串的处理方法有很多,而且string本身在Java里面就是一个类,所以我们在定义一个字符串时可以用new的方法,但是对于Java的字符串本来就存在有一个字符串常量池,在Java虚拟机里面字符串常量池是在方法区,jdk1.8以后和堆合并了,我们知道堆里面存放的是实例化的对象,而且string本身就是一个类,推测所谓的字符串常量池里面也存放的是string的实例对象。
String s = "abcd";
s = s.concat("ef");
2、equals()方法、hashCode()方法的区别
HashCode被设计用来提高性能。equals()方法与hashCode()方法的区别在于:
如果两个对象相等(equal),那么他们一定有相同的哈希值。
如果两个对象的哈希值相同,但他们未必相等(equal)。
3、Java异常类的层次结构
异常类基本就那两种类型:
Error
代表了系统和编译的错误Exception
Exception
代表了标准Java库方法所激发的异常
Error类的异常是不允许捕获的,而发生Exception异常的程序可以通过捕获处理后正常运行保持程序的可读性及可靠性。
4、集合类的层次结构
注意Collections和Collection的区别。(Collections包含有各种有关集合操作的静态多态方法)
5、Java同步
Java同步机制可通过类比建筑物来阐明。
6、别名
别名意味着有多个变量指向同一可被更新的内存块,这些别名分别是不同的对象类型。
7、堆和栈
图解表明了方法和对象在运行时内存中的位置。
8、Java虚拟机运行时数据区域
图解展示了整个虚拟机运行时数据区域的情况。
面对Java丰富的知识资料,很多初学者难免觉得迷惘,该学什么,怎么去学?下面给大家讲Java基础知识做了精简总结,来帮助你梳理学习思路,赶快看看吧!
方法/步骤
1 对象的初始化
(1) 非静态对象的初始化
在创建对象时,对象所在类的所有数据成员会首先进行初始化。
基本类型:int型,初始化为0。
如果为对象:这些对象会按顺序初始化。
※在所有类成员初始化完成之后,才调用本类的构造方法创建对象。
构造方法的作用就是初始化。
(2) 静态对象的初始化
程序中主类的静态变量会在main方法执行前初始化。
不仅第一次创建对象时,类中的所有静态变量都初始化,并且第一次访问某类(注意此时
未创建此类对象)的静态对象时,所有的静态变量也要按它们在类中的顺序初始化。
2 继承时,对象的初始化过程
(1) 主类的超类由高到低按顺序初始化静态成员,无论静态成员是否为private。
(2) 主类静态成员的初始化。
(3) 主类的超类由高到低进行默认构造方法的调用。注意,在调用每一个超类的默认构造方法前,先进行对此超类进行非静态对象的初始化。
(4) 主类非静态成员的初始化。
(5) 调用主类的构造方法。
3关于构造方法
(1) 类可以没有构造方法,但如果有多个构造方法,就应该要有默认的构造方法,否则在继承此类时,需要在子类中显式调用父类的某一个非默认的构造方法了。
(2) 在一个构造方法中,只能调用一次其他的构造方法,并且调用构造方法的语句必须是第一条语句。
4 有关public、private和protected
(1) 无public修饰的类,可以被其他类访问的条件是:a.两个类在同一文件中,b.两个类在同一文件夹中,c.两个类在同一软件包中。
(2) protected:继承类和同一软件包的类可访问。
(3) 如果构造方法为private,那么在其他类中不能创建该类的对象。
5 抽象类
(1) 抽象类不能创建对象。
(2) 如果一个类中一个方法为抽象方法,则这个类必须为abstract抽象类。
(3) 继承抽象类的类在类中必须实现抽象类中的抽象方法。
(4) 抽象类中可以有抽象方法,也可有非抽象方法。抽象方法不能为private。
(5) 间接继承抽象类的类可以不给出抽象方法的定义。
6 final关键字
(1) 一个对象是常量,不代表不能转变对象的成员,仍可以其成员进行操作。
(2) 常量在使用前必须赋值,但除了在声明的同时初始化外,就只能在构造方法中初始化。
(3) final修饰的方法不能被重置(在子类中不能出现同名方法)。
(4) 如果声明一个类为final,则所有的方法均为final,无论其是否被final修饰,但数据成员可为final也可不是。
7 接口interface (用implements来实现接口)
(1) 接口中的所有数据均为 static和final即静态常量。尽管可以不用这两个关键字修饰,但必须给常量赋初值。
(2) 接口中的方法均为public,在实现接口类中,实现方法必须可public关键字。
(3) 如果使用public来修饰接口,则接口必须与文件名相同。
8 多重继承
(1) 一个类继承了一个类和接口,那么必须将类写在前面,接口写在后面,接口之间用逗号分隔。
(2) 接口之间可多重继承,注意使用关键字extends。
(3) 一个类虽只实现了一个接口,但不仅要实现这个接口的所有方法,还要实现这个接口继承的接口的方法,接口中的所有方法均须在类中实现。
9 接口的嵌入
(1) 接口嵌入类中,可以使用private修饰。此时,接口只能在所在的类中实现,其他类不能访问。
(2) 嵌入接口中的接口一定要为public。
10 类的嵌入
(1) 类可以嵌入另一个类中,但不能嵌入接口中。
(2) 在静态方法或其他方法中,不能直接创建内部类对象,需通过手段来取得。
手段有两种:
class A {
class B {}
B getB() {
B b = new B();
return b;
}
}
static void m() {
A a = new A();
A.B ab = a.getB(); // 或者是 A.B ab = a.new B();
}
(3) 一个类继承了另一个类的内部类,因为超类是内部类,而内部类的构造方法不能自动被调用,这样就需要在子类的构造方法中明确的调用超类的构造方法。
接上例:
class C extends A.B {
C() {
new A().super(); // 这一句就实现了对内部类构造方法的调用。
}
}
构造方法也可这样写:
C(A a) {
a.super();
} // 使用这个构造方法创建对象,要写成C c = new C(a); a是A的对象。
11 异常类
JAVA中除了RunTimeException 类,其他异常均须捕获或抛出。
以上就是专门为初学者总结的 java 基础知识点,希望大家熟练掌握灵活运用,多学,多问,更多java基础知识尽在拓胜。