java知识点回顾(JavaSE、JavaWeb、数据库、JavaEE)

一、基础


1.核心语言

int a = 10;

关键字:50个,2个不能用,2个Java 5+,冷僻关键字(transient、volatile、native、strictfp)

标识符:3条命名规则;2条建议规则;

运算符:优先级和结合性;

字面量:整数、字符、小数、布尔、字符串、引用、类型

分隔符:

2.程序逻辑

循环结构:while、do...while、for

选择结构:if...else、switch...case...default

3.面向对象

四大支柱:

抽象:定义类是寻找共性的过程(数据抽象和行为抽象):创建对象的过程是发现个性的过程(同一个类的每个对象也是不一样的)

封装:隐藏一切可隐藏的实现细节,只提供简单的访问接口;

继承: 从已有的类创建出新类的过程;

多态:同样的对象(引用)接收相同的消息,做出不同的行为;

方法重写

对象造型

SOLID原则

4.集合框架

List/Set/Queue/Map

遗留容器:Vector、Hashtable、Dictionary、Stack、Properties

//缓存穿透、缓存雪崩、缓存击穿

5.I/O

BIO

NIO(JDK1.4+) - 单线程+异步I/O

Buffer

Channel

Charset

AIO(JDK1.7+)

Files

Paths

6.并发编程 

Runnable / Thread

synchronized - 隐式锁机制

wait() / notify / notifyAll()

Lock

ConcurrentHashMap / CopyOnWriteArrayList

AtomicInteger

Semaphore / CountdownLatch

Fork / Join - 充分利用CPU多核特性 - TimSort

TimSort

7.异常机制

try / catch / finally / throw / throws

运行时异常可以随便抓取,受检异常不能随意抓,必须在try中有才能抓取

Throwable 

Exception

CloneNotSupportedException

SQLException

IOException

ClassNotFoundException

RuntimeException

NullPointerException

IndexOutOfBoundsException

ClassCastException

IllegalArgumentException

ArithimeticException

NegativeArraySizeException

DOMException

Error

OutOfMemoryError

StackOverflowError

8.反射 / 自省

用反射写出的代码性能较低,但通过反射可以写出通用性更强的代码

9.JDBC

10.自动构建

Maven - pom.xml项目对象模型,参与项目的整个项目周期

mvn archetype:generate

mvn test

mvn install

Gradle

11.网络编程

基于传输层协议:

TCP:ServerSocket、Socket

UDP:DatagramSocket、DatagramPacket

基于应用层(HTTP)协议:

URL / URLConnection / HttpURLConnection

基于APache的HttpComponents

HttpClient

自己开发网络服务

** Netty **

MINA

序列化和反序列化

Serializable / ObjectInputStream / ObjectOutputStream

** protobuf(google)**

** Kryo(性能极好)**

12.日志系统

java.util.logging 不用

Log4j / Log4j2 / Logback / Slf4j / Commons - Logging

13.工具类

时间日期: Date/Calendar -- > LocalDate / LocalTime / LocalDateTime / Instant

Math / System / Runtime / Arrays / Collections

Objects

14.XML / JSON / YAML

异构系统之间交换数据 - RESTful / WebService

SAX解析 - Simole API for XML - 事件触发式解析(原生的、不用)

DOM解析 - Document Object Model - 把整个文件弄成一个对象

dom4j / classmate 

StXML解析 - 流式解析

Jackson / Fastjson / Gson

15.语言新特性


二、Web前端


HTML

CSS

JavaScript

ES6 + BOM + DOM

动态语言 + 面向对象 + 函数式编程

jQquery / Zepto.js

Ajax: 原生 / $.ajax() / $.getJSON()

** Ajax跨域问题:JSONP **

JSON:parse() / stringfy() / http://json.org

图表:ECharts / Chart.js

富文本:CKEditor / UEditor

前端MV*框架:AngularJS / Avalon / Vue.js


三、数据库


1.概念:主键、外键、索引、视图、触发器、序列、同义词、函数、过程、表、行、列、范式、E-R图

2.SQL:

DDL:create、drop、alter

DML:insert、delete、update

DQL:select(投影、别名、筛选、模糊、去重、排序、分组、聚合函数、子查询、连接查询)

DCL:grant 、revoke

3.优化

** SQL语句优化 **

硬件优化

读写分离

分库分表 - MyCat

负载均衡 + 集群配置

LVS / NginX

explain 执行计划 / 慢查询分析

四、框架


1.SSH

2.SSM

3.SSS

五、装逼


1.Spring Boot

2.Docker

3.NoSQL - Redis / CAP / BASE

4.Thymeleaf - th / sec

5.Spring Cloud - 微服务

6.Shiro / Spring Security    Shiro更简单

Authentication

Authorization

ACL - Access Control List

RBAC - Role Based Access Control

7.JVM垃圾回收

什么样

什么时间

如何回收

8.JVM性能调优

JConsole

VisualVM

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值