java基础
基础中的基础:
- java.lang 包
- http://www.cnblogs.com/dolphin0520/p/3681042.html equals() 和 == 的区别 hashCode()
- http://www.cnblogs.com/devinzhang/archive/2011/12/14/2287675.html synchronized wait() wait(tm) wait(tm,nanos) notify() notifyAll()
- volatile 关键字
- Thread对象, Runnable接口
- ThreadLocal类
文件目录操作:
- java.io
- java.nio.file
时间处理:
- java.util 下 Date, Calendar 等
- java.text 里日期格式化类
- java.time
java.util 集合:
- List, ArrayList, LinkedList
- Map, HashMap, LinkedHashMap, TreeMap 每个map的适用场景和用法
- Set, HashSet, TreeSet
- Collections, Arrays
java.util.concurrent 并发包:
- Callable, Future
- 线程池 Executor, ExecutorService, ThreadPoolExecutor, Executors
- jdk 1.8里的 CompletableFuture 特别重要 网上搜相关文档
- 支持并发的集合类 ConcurrentHashMap 等
- 阻塞式队列 BlockingQueue, ArrayBlockingQueue, LinkedBlockingQueue
- CountDownLatch, Semaphore
- atomic 包下的 AtomicBoolean, AtomicInteger, AtomicLong, AtomicReference<V>
- locks 包下的 Lock, Condition, ReentrantLock
其它一些常用类库
- apache commons lang
- apache commons lang3
- apache commons io
- spring org.springframework.util
- spring org.springframework.core.io
- google guava
数据库访问
必学必会
- java.sql 里的基本功能: 事务,Connection, Statement,PreparedStatement, 批量操作(插入,更新,删除)
- 数据库的事务隔离级别
- Spring JdbcTemplate
- Spring 里的 事务配置方式,事务传播机制, Transactional 注解里的 rollbackFor 含义
- MyBatis (只推荐纯手写sql的方式,不推荐自动生成sql或隐式生成sql的jpa,hibernate, mybatisplus)
基于mybatis注解开发 (xml已过时)
基于java config 配置 mybatis (xml 已过时) 或 使用 mybatis starter for spring boot
Spring
参考书籍
《Spring实战》链接: https://item.jd.com/11899370.html
必学必会
- 基本思想: POJO, DI, AOP, Template
- 通过 java config 装配 bean 特别重要 (xml方式已过时)
- bean的生命周期,bean的初始化和销毁,@PostConstruct, @PreDestroy注解
- spring bean的自动扫描机制
- xxxAware接口, ApplicationContext类
- spring mvc
- spring JdbcTemplate
- spring RestTemplate
- profile 机制
Spring Boot
参考书籍
《Spring Boot 实战》 链接:https://item.jd.com/11894632.html
必学必会
- 如何配置 starter
- spring boot里的的配置文件,profile, 配置文件加载优先级
- spring boot里的bean自动扫描机制: 自动扫描 main 函数所在的包和子包下的所有bean