Java
技术名词扫盲
三个版本(Edition)
Java ME(Java Platform, Micro Edition Embedded)
,一套运行专门为嵌入式设备设计的api接口规范Java SE(Java Platform, Standard Edition)
,JDK JVM
以及自带的api
合集的具体实现Java EE(Java Platform, Enterprise Edition)
,基于Java SE
发展出来的一套规范接口
以上英文全称来自于
Oracle
官网。JDK
不分ME, SE, EE
,我们平时开发Spring
应用,使用的就是第三方的Java EE
规范,但可以选择Oracle
的Java SE JDK
扩展阅读: https://www.jianshu.com/p/62c232f83e86https://blog.51cto.com/javaligang/1825681https://www.zhihu.com/question/31455874
Eureke
是什么?
简单讲,Eureka
就是 Netflix
开源的一款提供服务注册和发现的产品,并且提供了相应的Java客户端。
扩展阅读: https://zhuanlan.zhihu.com/p/34976125http://www.ityouknow.com/springcloud/2017/06/01/gateway-service-zuul.html
Spring IoC/DI
和 Spring AOP
IoC(Inversion of Control)
控制反转与 DI(Dependency Inject)
依赖注入
IoC
是一种编程范式,用于对程序进行解耦DI
是一种用Java
践行IoC
编程范式的具体方式
简单来说,a
依赖 b
,但 a
不控制 b
的创建和销毁,仅使用 b
,那么 b
的创建和销毁交给 a
之外处理( 如:Spring
框架),这叫控制反转(IoC
),而 a
要依赖 b
,必然要使用 b
的 instance
,那么我们可以:
- 通过
a
的接口,把b
实例传入 - 通过
a
的构造,把b
实例传入 - 通过设置
a
的属性,把b
实例传入
这样就实现了 a
使用 b
实例,但是不创建 b
实例。
扩展阅读 https://zhuanlan.zhihu.com/p/33492169https://www.zhihu.com/question/32108444
AOP(Aspect Oriented Program)
面向切片编程
一种编程范式,是对 OOP
的补充,在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。
杂项
Dubbo
:Alibaba
开源的分布式服务框架Zookeeper
是Apache Hadoop
的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等等。RabbitMQ
: 消息队列框架https://juejin.im/post/5a67f7836fb9a01cb74e8931Quarz
:用于创建调度时间表,定时任务框架(高级的crontab
)FastDFS
:轻量级的分布式文件系统https://juejin.im/post/5a532bb06fb9a01ca2675678poi
:Apache
开源软件,用于读写XML
文件,包含Excel
文件JDBC(Java Database Connectivity)
: 用于Java
语言和数据库之间的数据库无关的标准Java API
(这些API
可以进行连接和数据库操作)。servlet
:是一个接口规范,写一个实现servlet
接口的类,实现它的五个方法,再将其部署到servlet
容器(如Tomcat
)中,就可以运行一个网站了。Struts2
: 流行和成熟的基于MVC
设计模式的Web
应用程序框架。Shiro
安全框架,类似Spring Security
,可以处理认证、授权、管理会话、密码加密SOAP(Simple Object Access Protocol)
简易对象访问协议,用于交换XML
编码信息的轻量级协议REST([Resource] Representational State Transfer)
资源表现层状态转移