Skip to content

ArgentoAskia/JavaTutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JavaProject

Java知识点仓库,涵盖Java各方面的知识,主要会将Java分为三个层次进行介绍:

  • Java基础(base):包括一些通用语言基础、常用类、面向对象基础、Java语言基础、异常等。
  • Java进阶(advanced):一些Java特性,如Java反射、Java注解、JavaIO、多线程基础、JDBCJava日志、Java网络编程、JCF
  • Java高级(hard):包括JVM、类加载、字节码工程、JUC、手撕一些JDK源代码等。

另外除了这些之外,还会收录制作JavaEE技术相关的内容!

部分内容可能已经不适合当前时代,出于Respect或者更好的解释现代化技术,还是会简单介绍一下,这部分内容会再分支章节中的README做标记,如果急,很急,可以先跳过这部分内容。

喜欢的给个⭐吧o( ̄▽ ̄)ブ。

😘阅读指南

所有的技术都会以分支的形式进行命名,格式为序号-层次-技术点,如:1-advanced-reflect代表是Java进阶反射技术,可以打开相对应的分支进行学习。

一般一个分支会包括一个README.md和一个或者多个DEMOREADME.md用于辅助Demo和知识点的讲解,Demomaven项目。

😘Demo运行

项目一个知识点一个分支的方式进行管理,在编写的时候采用idea多模块的方式,如果单单下载某个分支的Demo,可能需要修改一下pom文件,具体你可以在这里找到各个pom文件替换掉从分支下载的Demo内自带的pom文件即可运行(由于工作量巨大暂时关闭)

😘关于PR提交、维护

如需要发pull request,请遵循下面两点即可。

  1. 务必保证您的demoREADME.md处在这样的文件结构。

image-20221206160344086

  1. 确保一个大分类知识点一个branch,如JDBC就可以作为单独一个分支、反射技术亦是如此,具体的知识点分类在下面。

知识点开填坑

若坑已填,则会出现对应的分支在知识点后面,尽量保证每个知识点之间没有太多关联。(*/ω\*)

其中带序号的就是大方向的知识点,序号内不带序号的就是该知识点现阶段的具体内容。

  • 1-入门上手

    • JDK安装
    • 第一个程序
  • 2-通用语言基础

    • 基本数据类型、类型转换
    • 语句
    • 运算符VS表达式
    • 数组
  • 3-面向对象基础

    • 对象
    • OOP特性
  • 4-面向对象在Java中应用

    • 方法权限级别
    • 类的声明
    • 方法的声明
    • 字段声明
    • 对象创建
    • 继承
  • 5-面向对象在Java中应用(高阶)

    • 内部类
      • 静态内部类
      • 普通内部类
      • 内部类原理
    • 匿名类
    • 静态代码块
    • 构造代码块
    • 接口
    • 抽象类
  • 6-关键字(复习)

    • final
    • static
    • new
    • this
    • super
  • 7-包概念

    • package
    • import
    • classpath
  • 8-常用工具类

    • 数学处理:RandomUtilUUIDUtil
    • 包装器类
    • 字符串处理
    • 时间类(旧API
    • 格式化类
  • 9-Java异常:10-java-base-exception

    • 2022.7.28更新:Java不支持创建泛型异常
  • 10-Java泛型使用

  • 11-Java注解使用

  • 12-Java集合容器(JCF

    • Guava
    • Eclipse-Collections
  • 13-Java随机文件读写

  • 14-第一第二代图形化(AWTSwing

    • AWT组件库:2023.1.8、2023.1.9、2023.1.10、2023.1.12、2023.1.15

    ------------------------------------------ 基础知识点完毕 --------------------------------------------

  • 1-Java反射技术

    • 反射简介来源
    • JDK版本迭代中的反射API
      • Class:2023.1.30
      • Field
      • Array
      • Method
    • 反射应用场景
  • 2-Java泛型原理补充

    • 类型擦除
    • Java泛型注意事项
  • 3-Java注解高阶

    • 如何声明注解
    • 元注解
    • 注解处理器
    • 注解实现原理
  • 4-Java内置设计模式实现

    • 动态代理模式:2023.1.21
    • 观察者模式:2023.1.20
  • 5-Java-IO

    • Java-IO家族及应用
      • AudioInputStream: unknown
      • BufferedInputStream: unknown
      • BufferedOutputStream: 2023.1.25
      • ByteArrayInputStream:unknown
      • ByteArrayOutputStream: 2023.1.21、2023.1.22
      • checkedInputStream: unknown
      • CipherInputStream: 2023.1.12
      • CipherOutputStream: 2023.1.12
      • DataInputStream: 2023.1.13
      • DataOutputStream: 2023.1.13
      • DigestInputStream: 2023.1.16、2023.1.17
      • DigestOutputStream: 2023.1.16、2023.1.17
      • GZipInputStream: 2023.1.18
      • GZipOutputStream: 2023.1.18
    • 字节流字符流转换
    • 序列化VS反序列化
    • IO工具类 2023.1.6、2023.1.7
  • 6-Java语法糖及常见接口

    • 实现foreach循环
    • 实现try...with...resources
    • 实现对象拷贝
      • 浅拷贝
      • 深拷贝
    • 实现对象比较
      • Comparable
      • Comparator
  • 7-Java多线程基础

    • 线程创建
    • 并发concurrent
  • 8-Java文件操作

    • 基础文件操作(创建文件、创建目录等等):2023.1.25
    • XML:2023.1.25、2023.2.2
    • PDFWordmdjson、二维码等文件处理
    • 文件系统
  • 9-Java高阶图形化介绍

    • JavaFX
    • SWT
  • 10-Java Stream

  • 11-JDBC

    • java.sql.*
      • OracleJDBC连接
      • MySqlJDBC连接
      • JDBC-MetaData
    • javax.sql.*(连接池)
      • C3P0DataSource
      • DruidDataSource
      • hikariCPDataSource
      • MySqlDataSource
    • light ORM Framework
      • dbUtils
        • SimpleDemo:2023.1.15
        • handlers
      • spring-jdbc
        • JdbcTemplate
  • 12-Java网络编程

    • BIO
    • NIO
    • AIO
    • HTTPClient
    • netty
  • 13-函数式编程

    • lambda
    • function
  • 14-时间API

  • 15-国际化编程

  • 16-模块化编程

  • 17-日志框架

  • 18-编译器、脚本API

  • 19-JNI

  • 20-平台安全

  • 21-媒体图像处理

  • 22-RMI

更新日志

  • 2023.02.03 - 添加获取节点Demo

  • 2023.02.03 - 更新XML笔记


  • 2023.02.02 - 更新XML笔记

  • 2023.01.30 - 更新反射API笔记

  • 2023.01.25 - 梳理Dom API

  • 2023.01.25 - 创建XML解析Demo模块

  • 2023.01.25 - 随机数工具类添加randomAlphabet()、randomAlphabetNumber()、randomSingleDigit()方法

  • 2023.01.25 - 更新BufferedOutputStreamDemo的基本使用。


  • 2023.01.22 - 更新ByteArrayOutputStream的Size()、Reset()、toXXX()等

  • 2023.01.21 - 更新JDK动态代理模式实现

  • 2023.01.21 - 更新ByteArrayOutputStream基本Write功能


  • 2023.01.20 - 更新JDK观察者模式实现

  • 2023.01.18 - 更新GZipInputStreamDemo和GZipOutputStreamDemo

  • 2023.01.17 - 分类好外部资源,防止混乱

  • 2023.01.17 - 重写DigestInputStreamDemo和DigestOutputStreamDemo,模拟文件校验过程

  • 2023.01.17 - 修改资源文件路径


  • 2023.01.16 - 更新DigestInputStream和DigestOutputStream的Demo

  • 2023.01.15 - 更新JDBC笔记

  • 2023.01.15 - 重写JDBC知识点体系

  • 2023.01.15 - 添加dbUtils笔记

  • 2023.01.15 - 更新AWT笔记

  • 2023.01.15 - 解决dbUtils框架Bean无法映射的问题


  • 2023.01.12 - 添加AWT常用组件说明

  • 2023.01.10 - 更新AWT组件笔记

  • 2023.01.10 - 整理AWT知识点分类


  • 2023.01.07 - 更新AWT

  • 2023.01.06 - 更新AWT

  • 2023.01.06 - IO工具类

About

Java Turtorial Project!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages