文章目录
注:代码来自尚学堂,经笔者整理和修改。
1 JavaBase
介绍
JavaBase: Java常用类、异常、容器
软件架构
- a string
- b array
- c wrap
- d time
- e math
- f file
- g enum
- h exception
- i collection
2 JavaIO
介绍
JavaIO: Java IO流
软件架构
3 JavaThread
介绍
JavaThread: Java 多线程(并发)
软件架构
- 建立线程:Thread、Runnable、Callable
- 补充知识:静态代理、Lambda表达式
- 线程状态:新生态、就绪态、运行态、阻塞态、死亡态
- 线程安全:Synchronized、volatile
- 并发协作模式(线程通信模型):生产者消费者模式(管程法和信号灯法)
- 任务定时:Timer、Quartz
- 指令重排
- 单例模式:懒汉式
- 线程本地:ThreadLocal
- 锁:可重入锁和不可重入锁
- 比较并交换:CAS
4 JavaNet
介绍
JavaNet: Java 网络编程
软件架构
- IP、port、URL
- 网络爬虫原理(只爬取数据,未分析数据)
- UDP Socket通信编程(传递字符串、基本数据类型、对象、文件)
- TCP Socket通信编程(建立连接、双向通信、上传文件、多客户端访问)
- 简易群聊实现
5 JDBC
介绍
JDBC: JDBC(Java Database Connectivity) Java数据库连接
软件架构
- JDBC基础使用
- SQL注入问题
- PreparedStatement避免SQL注入
- 批处理
- 事务
- 时间类型存取
- CLOB类型存取
- BLOB类型存取
- 使用JDBCUtil工具类来简化开发
- 对象关系映射(ORM)
6 webserver
介绍
webserver: 手写web服务器,Java基础部分综合项目Connectivity) Java数据库连接
软件架构
- basic:反射、xml解析
- servlet:根据配置文件web.xml,由url找到相应的服务类,再通过反射获取服务对象
- server/myserver:
- 建立服务器,通过TCP协议与客户端建立连接,并实现多线程
- 服务器接收并解析http请求信息,获得请求方法、url和请求参数
- 根据配置文件web.xml,由url找到相应的服务类,再通过反射获取服务对象
- 通过服务对象添加相应的响应正文,再与协议头封装成响应信息发送到客户端