- 0000_Java_内容介绍
- 0001_Java_学习前的话
- 0002_Java_就业方向
- 0003 Java 开发场景
- 0004_Java_应用领域
- 0005_java_内容梳理
- 0006_Java_程序举例
- 0007_Java_Java故事
- 0008_Java_java特性
- 0009_Java_sublime
- 0010_Java_jdk介绍
- 0011_Java_我的电脑
- 0012_Java_jdk安装
- 0013_Java_jdk配置
- 0014_Java_win7安装JDK
- 0015_Java_苹果安装JDK
- 0016_Java_快速入门
- 0017_Java_运行机制
- 0018_Java_开发细节
- 0019_Java_学习方法
- 0020_Java_转义字符
- 0021_Java_易犯错误
- 0022_Java_注释介绍
- 0023_Java_多行注释
- 0024_Java_文档注释
- 0025_Java_代码规范
- 0026_Java_DOS原理
- 0027_Java_路径详解
- 0028_Java_DOS指令1
- 0029_Java_DOS指令2
- 0030_Java_DOS指令3
- 0031_Java_本章作业1
- 0032_Java_本章作业2
- 0033_Java_内容梳理
- 0034_Java_变量原理
- 0035_Java_变量概念
- 0036_Java_变量入门
- 0037_Java_变量细节
- 0038_Java_加号使用
- 0039_Java_数据类型
- 0040_Java_整型使用
- 0041_Java_整型细节
- 0042_Java_浮点数使用
- 0043_Java_浮点数细节1
- 0044_Java_浮点数细节2
- 0045_Java_Java文档
- 0046_Java_字符型使用
- 0047_Java_字符型细节
- 0048_Java_字符型本质
- 0049_Java_常用编码
- 0050_Java_布尔类型
- 0051_Java_自动类型转换基础
- 0052_Java_自动类型转换细节1
- 0053_Java_自动类型转换细节2
- 0054_Java_强制类型转换基础
- 0055_Java_强制类型转换细节
- 0056_Java_类型转换练习
- 0057_Java_String和基本类型转换
- 0058_Java_String转基本类型细节
- 0059_Java_本章作业1
- 0060_Java_本章作业2
- 0061_Java_本章小结
- 0062_Java_算术运算符介绍
- 0063_Java_算术运算符使用
- 0064_Java_算术运算符练习1
- 0065_Java_算术运算符练习2
- 0066_Java_算术运算符练习3
- 0067_Java_算术运算符练习4
- 0068_Java_关系运算符介绍
- 0069_Java_关系运算符使用
- 0070_Java_逻辑运算符介绍
- 0071_Java_短路与逻辑与
- 0072_Java_短路或逻辑或
- 0073_Java_逻辑非逻辑异或
- 0074_Java_逻辑运算符练习
- 0075_Java_赋值运算符介绍
- 0076_Java_赋值运算符细节
- 0077_Java_三元运算符介绍
- 0078_Java_三元运算符细节
- 0079_Java_三元运算符练习
- 0080_Java_运算符优先级
- 0081_Java_标识符规则
- 0082_Java_标识符练习
- 0083_Java_标识符规范
- 0084_Java_关键字保留字
- 0085_Java_键盘输入
- 0086_Java_四种进制介绍
- 0087_Java_2进制转10进制
- 0088_Java_8进制转10进制
- 0089_Java_16进制转10进制
- 0090_Java_10进制转2进制
- 0091_Java_10进制转8进制
- 0092_Java_10进制转16进制
- 0093_Java_2进制转8进制
- 0094_Java_2进制转16进制
- 0095_Java_8进制转2进制
- 0096_Java_16进制转2进制
- 0097_Java_位运算思考题
- 0098_Java_原码 反码 补码
- 0099_Java_位运算详解1
- 0100_Java_位运算详解2
- 0101_Java_本章作业
- 0102_Java_本章内容梳理
- 0103_Java_顺序控制
- 0104_Java_单分支使用
- 0105_Java_单分支流程图
- 0106_Java_双分支使用
- 0107_Java_双分支流程图
- 0108_Java_双分支练习题
- 0109_Java_多分支使用
- 0110_Java_多分支练习1
- 0111_Java_多分支练习2
- 0112_Java_嵌套分支
- 0113_Java_嵌套分支课后练习
- 0114_Java_switch基本语法
- 0115_Java_switch流程图
- 0116_Java_switch快速入门
- 0117_Java_switch细节
- 0118_Java_switch课堂练习1
- 0119_Java_switch课堂练习2
- 0120_Java_switch和if选择
- 0121_Java_for基本语法
- 0122_Java_for执行流程
- 0123_Java_for细节
- 0124_Java_for编程思想1
- 0125_Java_for编程思想2
- 0126_Java_while基本语法
- 0127_Java_while执行流程
- 0128_Java_while课堂练习
- 0129_Java_dowhile语法
- 0130_Java_dowhile执行流程
- 0131_Java_dowhile练习1
- 0132_Java_dowhile练习2
- 0133_Java_多重循环执行流程
- 0134_Java_多重循环练习1
- 0135_Java_多重循环练习2
- 0136_Java_空心金字塔
- 0137_Java_break需求
- 0138_Java_break执行流程
- 0139_Java_break快速入门
- 0140_Java_break细节
- 0141_Java_break课堂练习1
- 0142_Java_break课堂练习2
- 0143_Java_continue执行流程
- 0144_Java_continue快速入门
- 0145_Java_continue细节
- 0146_Java_return使用说明
- 0147_Java_本章作业1
- 0148_Java_本章作业2
- 0149_Java_本章作业3
- 0150_Java_本章作业4
- 0151_Java_本章作业5
- 0152_Java_本章作业6
- 0153_Java_本章内容梳理
- 0154_Java_听懂和会做
- 0155_Java_数组必要性
- 0156_Java_数组快速入门
- 0157_Java_数组使用1
- 0158_Java_数组使用2
- 0159_Java_数组使用3
- 0160_Java_数组注意事项
- 0161_Java_数组练习1
- 0162_Java_数组练习2
- 0163_Java_数组赋值机制1
- 0164_Java_数组赋值机制2
- 0165_Java_数组拷贝
- 0166_Java_数组翻转1
- 0167_Java_数组翻转2
- 0168_Java_数组扩容1
- 0169_Java_数组扩容2
- 0170_Java_数组缩减
- 0171_Java_排序介绍
- 0172_Java_冒泡排序思路
- 0173_Java_冒泡代码实现
- 0174_Java_查找
- 0175_Java_二维数组入门
- 0176_Java_二维数组内存布局
- 0177_Java_二维数组使用1
- 0178_Java_二维数组使用2
- 0179_Java_二维数组使用3
- 0180_Java_二维数组练习1
- 0181_Java_杨辉三角
- 0182_JaJa_二维数组细节
- 0183_Java_二维数组练习2
- 0184_Java_本章作业1
- 0185_Java_本章作业2
- 0186_Java_本章作业3
- 0187_Java_本章作业4
- 0188_Java_本章作业5
- 0189_Java_本章内容梳理
- 0190_Java_专业和编程
- 0191_Java_类与对象引出
- 0192_Java_类与对象概述
- 0193_Java_面向对象快速入门
- 0194_Java_对象内存布局
- 0195_Java_属性概念
- 0196_Java_属性注意细节
- 0197_Java_创建对象访问属性
- 0198_Java_对象分配机制
- 0199_Java_对象创建过程
- 0200_Java_对象机制练习
- 0201_Java_方法快速入门1
- 0202_Java_方法快速入门2
- 0203_Java_方法调用机制
- 0204_Java_方法的妙用
- 0205_Java_方法的定义
- 0206_Java_方法使用细节1
- 0207_Java_方法使用细节2
- 0208_Java_方法使用细节3
- 0209_Java_方法练习题1
- 0210_Java_方法传参机制1
- 0211_Java_方法传参机制2
- 0212_Java_方法传参机制3
- 0213_Java_克隆对象
- 0214_Java_递归解决什么问题
- 0215_Java_递归执行机制1
- 0216_Java_递归执行机制2
- 0217_Java_递归执行机制3
- 0218_Java_递归执行机制4
- 0219_Java_递归斐波那契
- 0220_Java_猴子吃桃
- 0221_Java_老鼠出迷宫1
- 0222_Java_老鼠出迷宫2
- 0223_Java_老鼠出迷宫3
- 0224_Java_老鼠出迷宫4
- 0225_Java_汉诺塔
- 0226_Java_八皇后
- 0227_Java_重载介绍
- 0228_Java_重载快速入门
- 0229_Java_重载使用细节
- 0230_Java_重载课堂练习1
- 0231_Java_重载课堂练习2
- 0232_Java_重载课堂练习3
- 0233_Java_可变参数使用
- 0234_Java_可变参数细节
- 0235_Java_可变参数练习
- 0236_Java_作用域基本使用
- 0237_Java_作用域使用细节1
- 0238_Java_作用域使用细节2
- 0239_Java_构造器基本介绍
- 0240_Java_构造器快速入门
- 0241_Java_构造器使用细节1
- 0242_Java_构造器使用细节2
- 0243_Java_构造器课堂练习
- 0244_Java_对象创建流程详解
- 0245_Java_引出this
- 0246_Java_this入门
- 0247_Java_this本质
- 0248_Java_this小结
- 0249_Java_this使用细节
- 0250_Java_this课堂练习
- 0251_Java_本章作业01
- 0252_Java_本章作业02
- 0253_Java_本章作业03
- 0254_Java_本章作业04
- 0255_Java_本章作业05
- 0256_Java_本章作业06
- 0257_Java_本章作业07
- 0258_Java_本章作业08
- 0259_Java_本章作业09
- 0260_Java_本章作业10
- 0261_Java_本章作业11
- 0262_Java_本章内容梳理
- 0263_Java_IDEA介绍
- 0264_Java_IDEA下载安装
- 0265_Java_IDEA使用1
- 0266_Java_IDEA使用2
- 0267_Java_IDEA使用3
- 0268_Java_IDEA快捷键1
- 0269_Java_IDEA快捷键2
- 0270_Java_IDEA快捷键3
- 0271_Java_IDEA模板
- 0272_Java_包基本介绍
- 0273_Java_包原理
- 0274_Java_包快速入门
- 0275_Java_包命名
- 0276_学Java_常用的包
- 0277_Java_包的使用细节
- 0278_Java_访问修饰符规则
- 0279_Java_访问修饰符细节
- 0280_Java_封装介绍
- 0281_Java_封装步骤
- 0282_Java_封装快速入门
- 0283_Java_封装与构造器
- 0284_Java_封装课堂练习
- 0285_Java_为什么需要继承
- 0286_Java_继承原理图
- 0287_Java_继承快速入门
- 0288_Java_继承使用细节1
- 0289_Java_继承使用细节2
- 0290_Java_继承使用细节3
- 0291_Java_继承使用细节4
- 0292_Java_继承使用细节5
- 0293_Java_继承本质详解
- 0294_Java_继承课堂练习1
- 0295_Java_继承课堂练习2
- 0296_Java_继承课堂练习3
- 0297_Java_super基本语法
- 0298_Java_super使用细节1
- 0299_Java_super使用细节2
- 0300_Java_super使用细节3
- 0301_Java_方法重写介绍
- 0302_Java_方法重写细节
- 0303_Java_重写课堂练习1
- 0304_Java_重写课堂练习2
- 0305_Java_养宠物引出多态
- 0306_Java_方法的多态
- 0307_Java_对象的多态
- 0308_Java_多态快速入门
- 0309_Java_向上转型
- 0310_Java_向下转型
- 0311_Java_属性重写问题
- 0312_Java_多态课堂练习1
- 0313_Java_多态课堂练习2
- 0314_Java_动态绑定机制
- 0315_Java_多态数组1
- 0316_Java_多态数组2
- 0317_Java_多态参数
- 0318_Java_==运算符
- 0319_Java_查看Jdk源码
- 0320_Java_子类重写equals
- 0321_Java_equals课堂练习1
- 0322_Java_equals课堂练习2
- 0323_Java_equals课堂练习3
- 0324_Java_hashCode
- 0325_Java_toString
- 0326_Java_finalize
- 0327_Java_断点调试介绍
- 0328_Java_断点调试案例1
- 0329_Java_断点调试案例2
- 0330_Java_断点调试案例3
- 0331_Java_断点调试案例4
- 0332_Java_断点调试案例5
- 0333_Java_断点调试案例6
- 0334_Java_零钱通介绍
- 0335_Java_零钱通菜单
- 0336_Java_零钱通明细
- 0337_Java_零钱通收益
- 0338_Java_零钱通消费
- 0339_Java_零钱通退出确认
- 0340_Java_零钱通金额校验
- 0341_Java_零钱通OOP版
- 0342_Java_本章作业01
- 0343_Java_本章作业02
- 0344_Java_本章作业03
- 0345_Java_本章作业04
- 0346_Java_本章作业05
- 0347_Java_本章作业06
- 0348_Java_本章作业07
- 0349_Java_本章作业08
- 0350_Java_本章作业09
- 0351_Java_本章作业10
- 0352_Java_本章作业11
- 0353_Java_本章作业12
- 0354_Java_本章作业13
- 0355_Java_本章作业14
- 0356_Java_本章作业15
- 0357_Java_本章作业16
- 0358_Java_本章作业17
- 0359_Java_本章内容梳理
- 0360_Java_不要让惰性毁了你
- 0361_Java_房屋出租需求
- 0362_Java_房屋出租设计
- 0363_Java_房屋出租工具类
- 0364_Java_房屋出租House类
- 0365_Java_房屋出租主菜单
- 0366_Java_房屋出租列表
- 0367_Java_房屋出租添加
- 0368_Java_房屋出租删除
- 0369_Java_房屋出租退出
- 0370_Java_房屋出租查找
- 0371_Java_房屋出租修改
- 0372_Java_第一阶段结束语
- 0373_Java_类变量引出
- 0374_Java_类变量快速入门
- 0375_Java_类变量内存剖析
- 0376_Java_类变量定义访问
- 0377_Java_类变量使用细节
- 0378_Java_类方法快速入门
- 0379_Java_类方法最佳实践
- 0380_Java_类方法注意事项
- 0381_Java_类成员课堂练习
- 0382_Java_main语法说明
- 0383_Java_main特别说明
- 0384_Java_main动态传值
- 0385_Java_代码块快速入门
- 0386_Java_代码块使用细节1
- 0387_Java_代码块使用细节2
- 0388_Java_代码块使用细节3
- 0389_Java_代码块使用细节4
- 0390_Java_代码块课堂练习
- 0391_Java_单例模式饿汉式
- 0392_Java_单例模式懒汉式
- 0393_Java_final基本使用
- 0394_Java_final使用细节1
- 0395_Java_final使用细节2
- 0396_Java_final课堂练习
- 0397_Java_抽象类引出
- 0398_Java_抽象类细节1
- 0399_Java_抽象类细节2
- 0400_Java_抽象类课堂练习
- 0401_Java_抽象模板模式
- 0402_Java_接口快速入门
- 0403_Java_接口基本介绍
- 0404_Java_接口应用场景
- 0405_Java_接口使用细节1
- 0406_Java_接口使用细节2
- 0407_Java_接口课堂练习
- 0408_Java_接口VS继承
- 0409_Java_接口多态特性
- 0410_Java_接口多态传递
- 0411_Java_接口课堂练习
- 0412_Java_四种内部类
- 0413_Java_局部内部类1
- 0414_Java_局部内部类2
- 0415_Java_匿名内部类本质
- 0416_Java_匿名内部类使用
- 0417_Java_匿名内部类细节
- 0418_Java_匿名内部类实践
- 0419_Java_成员内部类1
- 0420_Java_成员内部类2
- 0421_Java_静态内部类1
- 0422_Java_静态内部类2
- 0423_Java_我亦无他唯手熟尔
- 0424_Java_枚举类引出
- 0425_Java_自定义枚举类
- 0426_Java_enum枚举类1
- 0427_Java_enum枚举类2
- 0428_Java_enum枚举类3
- 0429_Java_Enum成员方法
- 0430_Java_Enum课堂练习
- 0431_Java_Enum使用细节
- 0432_Java_Override注解
- 0433_Java_Deprecated注解
- 0434_Java_SuppressWarnings注解
- 0435_Java_四种元注解
- 0436_Java_家庭作业1
- 0437_Java_家庭作业2
- 0438_Java_家庭作业3
- 0439_Java_家庭作业4
- 0440_Java_家庭作业5
- 0441_Java_家庭作业6
- 0442_Java_内容梳理
- 0443_Java_异常处理入门
- 0444_Java_异常基本介绍
- 0445_Java_异常体系图
- 0446_Java_五大运行时异常
- 0447_Java_异常课堂练习
- 0448_Java_异常处理机制
- 0449_Java_tryCatch
- 0450_Java_tryCatch练习
- 0451_Java_tryCatch最佳实践
- 0452_Java_throws入门案例
- 0453_Java_throws使用细节
- 0454_Java_自定义异常
- 0455_Java_throwVSthrows
- 0456_Java_异常课后作业1
- 0457_Java_异常课后作业2
- 0458_Java_异常处理小结
- 0459_Java_八大Wrapper类
- 0460_Java_装箱和拆箱
- 0461_Java_包装类测试
- 0462_Java_包装类方法
- 0463_Java_Integer创建机制
- 0464_Java_Integer面试题
- 0465_Java_String结构剖析
- 0466_Java_String创建剖析
- 0467_Java_String测试题1
- 0468_Java_String测试题2
- 0469_Java_String对象特性1
- 0470_Java_String对象特性2
- 0471_Java_String常用方法1
- 0472_Java_String常用方法2
- 0473_Java_String常用方法3
- 0474_Java_StringBuffer结构剖析
- 0475_Java_StringBuffer转换
- 0476_Java_StringBuffer方法
- 0477_Java_StringBuffer练习
- 0478_Java_StringBuilder结构剖析
- 0479_Java_StringBuilder应用
- 0480_Java_Math方法
- 0481_Java_Arrays排序源码解读
- 0482_Java_Arrays模拟排序
- 0483_Java_Arrays其他方法
- 0484_Java_Arrays课堂练习
- 0485_Java_System方法
- 0486_Java_大数处理方案
- 0487_Java_Date介绍
- 0488_Java_Date应用实例
- 0489_Java_Calendar介绍
- 0490_Java_Calendar应用实例
- 0491_Java_第三代日期使用
- 0492_Java_第三代日期方法
- 0493_Java_String翻转
- 0494_Java_注册处理题
- 0495_Java_字符串统计
- 0496_Java_String内存布局测试题
- 0497_Java_常用类阶段梳理
- 0498_Java_集合介绍
- 0499_Java_集合体系图
- 0500_Java_Collection方法
- 0501_Java_迭代器遍历
- 0502_Java_集合增强for
- 0503_Java_测试题
- 0504_Java_List接口方法
- 0505_Java_List接口练习
- 0506_Java_List三种遍历方式
- 0507_Java_List排序练习
- 0508_Java_ArrayList注意事项
- 0509_Java_ArrayList扩容机制
- 0510_Java_ArrayList底层源码1
- 0511_Java_ArrayList底层源码2
- 0512_Java_Vector注意事项
- 0513_Java_Vector源码解读
- 0514_Java_双向链表模拟
- 0515_Java_LinkedList源码图解
- 0516_Java_List集合选择
- 0517_Java_Set接口方法
- 0518_Java_HashSet全面说明
- 0519_Java_数组链表模拟
- 0520_Java_HashSet扩容机制
- 0521_Java_HashSet源码解读1
- 0522_Java_HashSet源码解读2
- 0523_Java_HashSet源码解读3
- 0524_Java_HashSet源码解读4
- 0525_Java_HashSet最佳实践
- 0526_Java_HashSet思考题
- 0527_Java_LinkedHashSet介绍
- 0528_Java_LHashSet源码解读
- 0529_Java_LHashSet课堂练习
- 0530_Java_Map接口特点1
- 0531_Java_Map接口特点2
- 0532_Java_Map接口方法
- 0533_Java_Map六大遍历方式
- 0534_Java_Map课堂练习
- 0535_Java_HMap阶段小结
- 0536_Java_HMap底层机制
- 0537_Java_HMap源码解读
- 0538_Java_HMap扩容树化触发
- 0539_Java_Hashtable使用
- 0540_Java_Hashtable扩容
- 0541_Java_Properties
- 0542_Java_集合选型规则
- 0543_Java_TreeSet源码解读
- 0544_Java_TreeMap源码解读
- 0545_Java_Collections工具类1
- 0546_Java_Collections工具类2
- 0547_Java_集合家庭作业1
- 0548_Java_集合家庭作业2
- 0549_Java_集合家庭作业3
- 0550_Java_集合家庭作业4
- 0551_Java_集合家庭作业5
- 0552_Java_集合内容梳理
- 0553_Java_泛型引入
- 0554_Java_泛型入门
- 0555_Java_泛型说明
- 0556_Java_泛型应用实例
- 0557_Java_泛型使用细节1
- 0558_Java_泛型使用细节2
- 0559_Java_泛型课堂练习
- 0560_Java_自定义泛型类
- 0561_Java_自定义泛型接口
- 0562_Java_自定义泛型方法
- 0563_Java_泛型方法练习
- 0564_Java_泛型继承和通配
- 0565_Java_JUnit使用
- 0566_Java_泛型家庭作业
- 0567_Java_泛型内容梳理
- 0568_Java_坦克大战介绍
- 0569_Java_Java坐标体系
- 0570_Java_绘图入门和机制
- 0571_Java_绘图方法
- 0572_Java_绘制坦克游戏区域
- 0573_Java_绘制坦克
- 0574_Java_小球移动案例
- 0575_Java_事件处理机制
- 0576_Java_绘制坦克上右下左
- 0577_Java_坦克动起来
- 0578_Java_绘制敌人坦克
- 0579_Java_程序进程线程
- 0580_Java_并发并行
- 0581_Java_继承Thread创建线程
- 0582_Java_多线程机制
- 0583_Java_为什么是start
- 0584_Java_Runnable创建线程
- 0585_Java_多个子线程案例
- 0586_Java_多线程售票问题
- 0587_Java_通知线程退出
- 0588_Java_线程中断
- 0589_Java_线程插队
- 0590_Java_线程插队练习
- 0591_Java_守护线程
- 0592_Java_线程7大状态
- 0593_Java_线程同步机制
- 0594_Java_互斥锁
- 0595_Java_线程死锁
- 0596_Java_释放锁
- 0597_Java_线程家庭作业1
- 0598_Java_线程家庭作业2
- 0599_Java_坦克发子弹思路
- 0600_Java_我方发射子弹1
- 0601_Java_我方发射子弹2
- 0602_Java_敌方发射子弹
- 0603_Java_敌方坦克消失
- 0604_Java_坦克爆炸
- 0605_Java_敌方坦克自由移动
- 0606_Java_控制坦克移动范围
- 0607_Java_坦克发多颗子弹
- 0608_Java_敌方移动发射
- 0609_Java_我方被击中爆炸
- 0610_Java_文件基础知识
- 0611_Java_创建文件
- 0612_Java_获取文件信息
- 0613_Java_目录操作
- 0614_Java_IO流原理和分类
- 0615_Java_FileInputStream
- 0616_Java_FileOutputStream
- 0617_Java_文件拷贝
- 0618_Java_文件字符流说明
- 0619_Java_FileReader
- 0620_Java_FileWriter
- 0621_Java_节点流处理流
- 0622_Java_处理流设计模式
- 0623_Java_BufferedReader
- 0624_Java_BufferedWriter
- 0625_Java_Buffered拷贝
- 0626_Java_Buffered字节处理流
- 0627_Java_字节处理流拷贝文件
- 0628_Java_对象处理流
- 0629_Java_ObjectOutputStream
- 0630_Java_ObjectInputStream
- 0631_Java_对象处理流使用细节
- 0632_Java_标准输入输出流
- 0633_Java_乱码引出转换流
- 0634_Java_InputStreamReader
- 0635_Java_OutputStreamWriter
- 0636_Java_PrintStream
- 0637_Java_PrintWriter
- 0638_Java_配置文件引出Properties
- 0639_Java_Properties读文件
- 0640_Java_Properties修改文件
- 0641_Java_本章家庭作业01
- 0642_Java_本章家庭作业02
- 0643_Java_本章家庭作业03
- 0644_Java_防止坦克重叠思路
- 0645_Java_击中坦克爆炸完善
- 0646_Java_防止敌人坦克重叠1
- 0647_Java_防止敌人坦克重叠2
- 0648_Java_防止敌人坦克重叠3
- 0649_Java_记录玩家成绩1
- 0650_Java_记录玩家成绩2
- 0651_Java_记录敌人坦克信息
- 0652_Java_继续上局游戏1
- 0653_Java_继续上局游戏2
- 0654_Java_坦克大战音乐
- 0655_Java_坦克大战1内容梳理
- 0656_Java_线程基础内容梳理
- 0657_Java_坦克大战2内容梳理
- 0658_Java_IO流内容梳理
- 0659_Java_坦克大战3内容梳理
- 0660_Java_第二阶段结束语
- 0661_Java_网络相关概念
- 0662_Java_IP地址
- 0663_Java_域名和端口
- 0664_Java_网络协议
- 0665_Java_TCP和UDP
- 0666_Java_InetAddress
- 0667_Java_Socket
- 0668_Java_TCP字节流编程1
- 0669_Java_TCP字节流编程2
- 0670_Java_TCP字符流编程
- 0671_Java_网络上传文件1
- 0672_Java_网络上传文件2
- 0673_Java_网络上传文件3
- 0674_Java_netstat
- 0675_Java_TCP连接秘密
- 0676_Java_UPD原理
- 0677_Java_UPD网络编程1
- 0678_Java_UPD网络编程2
- 0679_Java_网络编程作业1
- 0680_Java_网络编程作业2
- 0681_Java_TCP文件下载1
- 0682_Java_TCP文件下载2
- 0683_Java_网络编程梳理
- 0684_Java_多用户通信系统演示
- 0685_Java_项目开发流程
- 0686_Java_多用户通信需求
- 0687_Java_通信系统整体分析
- 0688_Java_QQ用户登录1
- 0689_Java_QQ用户登录2
- 0690_Java_QQ用户登录3
- 0691_Java_QQ用户登录4
- 0692_Java_QQ用户登录5
- 0693_Java_QQ用户登录6
- 0694_Java_QQ用户登录7
- 0695_Java_拉取在线用户1
- 0696_Java_拉取在线用户2
- 0697_Java_拉取在线用户3
- 0698_Java_无异常退出系统1
- 0699_Java_无异常退出系统2
- 0700_Java_私聊思路分析
- 0701_Java_私聊代码实现1
- 0702_Java_私聊代码实现2
- 0703_Java_群发分析实现
- 0704_Java_发文件思路分析
- 0705_Java_发文件实现1
- 0706_Java_发文件实现2
- 0707_Java_服务端推送新闻
- 0708_Java_离线留言和发文件
- 0709_Java_通信系统梳理
- 0710_Java_反射机制问题
- 0711_Java_反射快速入门
- 0712_Java_反射原理图
- 0713_Java_反射相关类
- 0714_Java_反射调用优化
- 0715_Java_Class类分析
- 0716_Java_Class常用方法
- 0717_Java_获取Class对象六种方式
- 0718_Java_哪些类型有Class对象
- 0719_Java_动态和静态加载
- 0720_Java_类加载流程图
- 0721_Java_类加载五个阶段(1)
- 0722_Java_类加载五个阶段(2)
- 0723_Java_获取类结构信息(1)
- 0724_Java_获取类结构信息(2)
- 0725_Java_反射暴破创建实例
- 0726_Java_反射暴破操作属性
- 0727_Java_反射暴破操作方法
- 0728_Java_反射课后练习
- 0729_Java_反射梳理
- 0730_Java_数据库的作用
- 0731_Java_Mysql5.7安装配置
- 0732_Java_命令行连接到MySQL
- 0733_Java_Navicat安装和使用
- 0734_Java_SQLyog安装和使用
- 0735_Java_MySQL三层结构
- 0736_Java_Java操作Mysql
- 0737_Java_创建数据库
- 0738_Java_查询数据库
- 0739_Java_备份恢复数据库
- 0740_Java_创建表
- 0741_Java_列类型有哪些
- 0742_Java_列类型之整型
- 0743_Java_列类型之bit
- 0744_Java_列类型之小数型
- 0745_Java_列类型值字符串
- 0746_Java_列类型之字符串
- 0747_Java_日期类型
- 0748_Java_创建表练习
- 0749_Java_修改表
- 0750_Java_insert基本使用
- 0751_Java_insert注意事项
- 0752_Java_update语句
- 0753_Java_delete语句
- 0754_Java_select语句1
- 0755_Java_select语句2
- 0756_Java_select语句3
- 0757_Java_select语句4
- 0758_Java_统计函数
- 0759_Java_分组统计
- 0760_Java_字符串函数
- 0761_Java_字符串函数练习
- 0762_Java_数学函数
- 0763_Java_日期函数1
- 0764_Java_日期函数2
- 0765_Java_日期函数3
- 0766_Java_加密函数
- 0767_Java_流程控制函数
- 0768_Java_查询增强
- 0769_Java_分页查询
- 0770_Java_分组增强
- 0771_Java_多子句查询
- 0772_Java_多表笛卡尔集
- 0773_Java_多表查询
- 0774_Java_自连接
- 0775_Java_多行子查询
- 0776_Java_子查询临时表
- 0777_Java_all和any
- 0778_Java_多列子查询
- 0779_Java_子查询练习
- 0780_Java_表复制和去重
- 0781_Java_合并查询
- 0782_Java_外连接需求
- 0783_Java_左外连右外连
- 0784_Java_主键
- 0785_Java_unique
- 0786_Java_外键介绍
- 0787_Java_外键使用细节
- 0788_Java_check
- 0789_Java_商店表设计
- 0790_Java_自增长
- 0791_Java_索引优化速度
- 0792_Java_索引机制
- 0793_Java_创建索引
- 0794_Java_删除索引
- 0795_Java_创建索引规则
- 0796_Java_事务有什么用
- 0797_Java_事务操作
- 0798_Java_事务注意事项
- 0799_Java_4种隔离级别
- 0800_Java_隔离级别演示1
- 0801_Java_隔离级别演示2
- 0802_Java_设置隔离
- 0803_Java_存储引擎1
- 0804_Java_存储引擎2
- 0805_Java_视图原理
- 0806_Java_视图使用细节
- 0807_Java_视图应用实例
- 0808_Java_Mysql用户管理
- 0809_Java_Mysql权限管理
- 0810_Java_Mysql管理细节
- 0811_Java_Mysql作业1
- 0812_Java_Mysql作业2
- 0813_Java_Mysql作业3
- 0814_Java_Mysql作业4
- 0815_Java_Mysql作业5
- 0816_Java_Mysql作业6
- 0817_Java_Mysql作业7
- 0818_Java_Mysql作业8
- 0819_Java_Mysql内容梳理
- 0820_Java_Jdbc原理示意图
- 0821_Java_Jdbc模拟实现
- 0822_Java_Jdbc快速入门
- 0823_Java_数据库连接方式2
- 0824_Java_数据库连接方式3
- 0825_Java_数据库连接方式4
- 0826_Java_数据库连接方式5
- 0827_Java_ResultSet底层
- 0828_Java_SQL注入
- 0829_Java_Statement
- 0830_Java_预处理查询
- 0831_Java_预处理DML
- 0832_Java_JDBC API
- 0833_Java_JDBCUtils开发
- 0834_Java_JDBCUtilsDML
- 0835_Java_JDBCUtils查询
- 0836_Java_事务介绍
- 0837_Java_事务处理
- 0838_Java_批处理应用
- 0839_Java_批处理源码分析
- 0840_Java_传统连接弊端分析
- 0841_Java_数据库连接池原理
- 0842_Java_C3P0方式1
- 0843_Java_C3P0方式2
- 0844_Java_德鲁伊连接池
- 0845_Java_德鲁伊工具类
- 0846_Java_ApDBUtils引出
- 0847_Java_土办法完成封装
- 0848_Java_ApDBUtils查询
- 0849_Java_ApDBUtils源码分析
- 0850_Java_ApDBUtils查询2
- 0851_Java_ApDBUtilsDML
- 0852_Java_BasicDAO问题
- 0853_Java_BasicDAO分析
- 0854_Java_BasicDAO实现1
- 0855_Java_BasicDAO实现2
- 0856_Java_JDBC连接池梳理
- 0857_Java_满汉楼演示
- 0858_Java_满汉楼界面
- 0859_Java_满汉楼分层设计
- 0860_Java_满汉楼工具类
- 0861_Java_满汉楼菜单
- 0862_Java_满汉楼登录
- 0863_Java_满汉楼餐桌
- 0864_Java_满汉楼订座1
- 0865_Java_满汉楼订座2
- 0866_Java_满汉楼菜单
- 0867_Java_满汉楼点餐1
- 0868_Java_满汉楼点餐2
- 0869_Java_满汉楼点餐3
- 0870_Java_满汉楼账单
- 0871_Java_满汉楼结账1
- 0872_Java_满汉楼结账2
- 0873_Java_满汉楼多表处理
- 0874_Java_满汉楼多表细节1
- 0875_Java_满汉楼多表细节2
- 0876_Java_满汉楼扩展功能
- 0877_Java_正则快速入门
- 0878_Java_正则需求问题
- 0879_Java_正则底层实现1
- 0880_Java_正则底层实现2
- 0881_Java_正则底层实现3
- 0882_Java_正则转义符
- 0883_Java_正则字符匹配
- 0884_Java_字符匹配案例1
- 0885_Java_字符匹配案例2
- 0886_Java_选择匹配符
- 0887_Java_正则限定符
- 0888_Java_正则定位符
- 0889_Java_捕获分组
- 0890_Java_非捕获分组
- 0891_Java_非贪婪匹配
- 0892_Java_正则应用实例
- 0893_Java_正则验证复杂URL
- 0894_Java_Pattern类
- 0895_Java_Matcher类
- 0896_Java_反向引用
- 0897_Java_反向引用案例
- 0898_Java_结巴去重案例
- 0899_Java_替换分割匹配
- 0900_Java_本章练习1
- 0901_Java_本章练习2
- 0902_Java_本章练习3
- 0903_Java_正则内容梳理
- 0904_Java_马踏棋盘介绍
- 0905_Java_马踏棋盘实现1
- 0906_Java_马踏棋盘实现2
- 0907_Java_马踏棋盘实现3
- 0908_Java_马踏棋盘优化
- 0909_Java_第三阶段结束语
Java基础非常重要,它是Java高级编程的前提。本课程对Java的基本概念和使用方法进行较为全 面的介绍,包括环境搭建,常量与变量,运算符,方法的定义,字符串与数组,封装,异常等。 同时各知识点都配备示例代码以便理解,为日后深入学习JAVA编程打下基础。
1、零基础自学Java需要我们具备一定的毅力
学习是一个积累过程,不要幻想着在学习的路上还能偷懒。金字塔万里长城都是一块一块砖堆砌起来的。因为自学基本都是一个人在学习,这个漫长的过程要能忍受孤独,忍受寂寞。
因为不像在一个学校有那么多同学跟你一起在同一起点一起学习 一起进步。非常好的毅力以及能够坚持到底不被中间的困难打到这个非常重要!
学习Java不管是自学Java还是参加Java培训,都是需要很大的毅力的。如果你感觉自己没那么的有毅力,劝你最好不要进编程这个行业,到头来浪费了时间浪费了钱财。
2、零基础自学Java需要寻找一些资料、教程
非常好的学习资料,最起码有一整套的资料。单靠网上面那些七零八散的材料是学不好Java的。达内Java培训讲师录制一套免费的Java视频教程,零基础学员也可以跟着老师一节一节的进行学习。
一、先明白了解什么是Java的四个方面
初学者先弄清这些Java的基本概念也是必不可少的,死记硬背肯定是不行的,重在理解,理解它们之间的区别与联系,分别有哪些应用。想想这些代码中用到了哪些知识点。不要一味地照着书本敲代码。而不去理解。
1.Java编程语言,即语法。
2.Java文件格式,即各种文件夹、文件的后缀。
3.Java虚拟机(JVM),即处理*.class文件的解释器。
4.Java应用程序接口(Java API)。
二、掌握静态方法和属性
静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。
Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。
Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。
三、初学者还需明白JAVA的三个技术平台的关系
Java分为三个体系,分别为
Java SE:J2SE,Java2 Platform Standard Edition,标准版。
JavaEE:J2EE,Java 2 Platform, Enterprise Edition,企业版。
JavaME:J2ME,Java 2 Platform Micro Edition,微型版。
要知道java是分两部分的:一个是编译,一个是运行。
javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。
java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数。
四、掌握JAVA代码的基本格式
1、Java注释尽可能全面
对于方法的注释应该包含详细的入参和结果说明,有异常抛出的情况也要详细叙述:类的注释应该包含类的功能说明、作者和修改者。
2、多次使用的相同变量最好归纳成常量
多处使用的相同值的变量应该尽量归纳为一个常量,方便日后的维护。
3、尽量少的在循环中执行方法调用
尽量在循环中少做一些可避免的方法调用,这样可以节省方法栈的创建。
例如:
for(int i=0;i
System.out.println(i);
}
可以修改为:
for(int i=0,size=list.size();i
System.out.println(i);
}
4、常量的定义可以放到接口中
在Java中,接口里只允许存在常量,因此把常量放到接口中声明就可以省去public static final这几个关键词。
5、ArrayList和LinkedList的选择
这个问题比较常见。通常程序员最好能够对list的使用场景做出评估,然后根据特性作出选择。
ArrayList底层是使用数组实现的,因此随机读取数据会比LinkedList快很多,而LinkedList是使用链表实现的,新增和删除数据的速度比ArrayList快不少。
6、String,StringBuffer和StringBuilder
这个问题也比较常见。在进行字符串拼接处理的时候,String通常会产生多个对象,而且将多个值缓存到常量池中。
例如:
String a=“a”;
String b=“b”;
a=a+b;
这种情况下jvm会产生“a”,“b”,“ab”三个对象。而且字符串拼接的性能也很低。因此通常需要做字符串处理的时候尽量采用StringBuffer和StringBuilder来。
7、包装类和基本类型的选择
在代码中,如果可以使用基本数据类型来做局部变量类型的话尽量使用基本数据类型,因为基本类型的变量是存放在栈中的,包装类的变量是在堆中,栈的操作速度比堆快很多。
8、尽早的将不再使用的变量引用赋给null
这样做可以帮助jvm更快的进行内存回收。当然很多人其实对这种做法并不感冒。
9、在finally块中对资源进行释放
典型的场景是使用io流的时候,不论是否出现异常最后都应该在finally中对流进行关闭。
10、在HashMap中使用一个Object作为key时要注意如何区分Object是否相同 在jdk的HashMap实现中,判断两个Object类型的key是否相同的标准是hashcode是否相同和equals方法的返回值。如果业务上需要对两个数据相同的内存对象当作不同的key存储到hashmap中就要对hashcode和equals方法进行覆盖。