JAVA名词解释

1. JDBC事务
JDBC事务由Connnection对象控制管理,也就是说,事务管理实际上是在JDBC Connection中实现。事务周期限于Connection的生命周期。JDBC Connection 接口( java.sql.Connection )提供了两种事务模式:自动提交和手工提交。一般操作于单库。

2. JTA事务
JTA(Java Transaction API)提供了跨数据库连接(或其他JTA资源)的事务管理能力。JTA事务管理则由JTA容器实现,J2ee框架中事务管理器与应用程序,资源管理器,以及应用服务器之间的事务通讯。

3. 为什么要用集群
实现高可用,以排除单点故障引起的服务中断;
实现负载均衡、支持高并发,以提升效率为更多的客户提供服务。

4. 数据库中如何优化查询效率
优化sql和索引 > 加缓存  memcached,redis > 主从复制或主主复制,读写分离 > mysql分区表 > 垂直分区 > 水平分区

5.XSD
XSD是指XML结构定义 ( XML Schemas Definition )
XML Schema 是DTD的替代品。XML Schema语言也就是XSD。
XML Schema描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。
文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML文档,它符合XML语法结构。
可以用通用的XML解析器解析它。
注:DTD为英文Document Type Definition,中文意思为“文档类定义”。DTD肩负着两重任务:一方面它帮助你编写合法的代码,另一方面它让浏览器正确地显示代码。

6.参数String... fields

    public static Long lpush(String key, String... fields) {
        return jedisClient.execute(new ShardedJedisAction<Long>() {
            @Override
            public Long doAction(ShardedJedis shardedJedis) {
                return shardedJedis.lpush(key, fields);
            }
        });
    }

可变长度参数列表,其语法就是类型后跟...,表示此处接受的参数为0到多个String类型的对象,或者是一个String[]。不能在方法所在类中重载lpush(String[] fields),会报编译错误,系统提示出现重复的方法。

7.MHA
MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。

8.DNS
DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。
相关文章:https://www.cnblogs.com/gopark/p/8430916.html

9.ISP
ISP(Internet Service Provider),互联网服务提供商,即向广大用户综合提供互联网接入业务、信息业务和增值业务的电信运营商。

10.CDN
CDN(ContentDelivery Network),即内容分发网络,其目的是让用户能够更快速的得到请求的数据。
相关文章:https://www.cnblogs.com/nicerblog/p/11202466.html

11.死锁的四个必要条件
1).资源独占:一个资源每次只能被一个进程使用
2).不可剥夺:进程已获得的资源,在末使用完之前,不能强行剥夺
3).请求与保持:一个进程因请求资源而阻塞时,对已获得的资源保持不放
4).循环等待:若干进程之间形成一种头尾相接的循环等待资源关系
只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。

12.JAVA中数组访问快的原因
数组中通过下标访问数组中的元素,因为元素都在一块连续的内存中,通过数组地址(保存数组在堆中的首地址)+下标可以推算出该下标对应的元素地址,可以快速定位到元素,时间复杂度O(1)。

13.为什么Nginx可以支持高并发
Nginx采用的 IO多路复用模型epoll,因为一个进程里只有一个线程,所以一个进程同时只能做一件事,但是可以通过不断地切换来“同时”处理多个请求。

14.为什么系统要分层,如视图层,控制层,业务逻辑层等
分层的好处是隔离变化

15.CGLIB
CGLIB(Code Generator Library)是一个强大的、高性能的代码生成库。其被广泛应用于AOP框架(Spring、dynaop)中,用以提供方法拦截操作。Hibernate作为一个比较受欢迎的ORM框架,同样使用CGLIB来代理单端(多对一和一对一)关联(延迟提取集合使用的另一种机制)。

16.即时编译器JIT
当虚拟机发现某个方法或代码块的运行特别频繁,就会把这些代码认定为“热点代码”(Hot Spot Code),为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为即时编译器(Just In Time Compiler)。

17.Aspect
Aspect是一种新的模块化机制,用来描述分散在对象、类和函数中的横切关注点。

18.CAP定理
指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。
一致性(Consistency):是指在同一时刻,分布式系统中的所有数据备份为相同值;
可用性(Availability):指集群中的某一个节点故障宕机后,集群还能响应客户端请求。
分区容忍性(Partition tolerance):当分布式系统中因为一些原因导致无法通信而分成多个分区,系统还能正常对外服务。
CAP理论在分布式系统中,只能实现其中两个特性。而P-分区容忍性必须要实现,所以我们多数情况下需要在‘C-一致性’和‘A-可用性’之间进行权衡。

19.线程的状态(6种)
NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED。

 20.ACID
事务具有4个特征,分别是原子性、一致性、隔离性和持久性,简称事务的ACID特性;
原子性(atomicity)[ˌætəˈmɪsəti]、一致性(consistency)[kənˈsɪstənsi]、隔离性(isolation)[ˌaɪsəˈleɪʃn]、持久性(durability) [ˌdʊrəˈbɪləti]

21.线程安全的HashMap
一种可行的方法是使用Collections.synchronizedMap()方法包装我们的HashMap:
Map map = Collections.synchronizedMap(new HashMap()); // 性能较差,最好直接使用ConcurrentHashMap

22.面向对象设计 - 接口
广义上是类对外提供的服务,如方法,属性等;狭义上对应java的接口类型,通过接口类型将类提供的服务于类的具体实现隔离,实现松耦合。

23.面向对象设计 - 抽象
抽象是指从特定角度出发,从已经存在的一些事物中抽取我们所关注的特性,形成一个新的事物的思维过程。
抽象是一种由具体到抽象、由复杂到简洁的思维方式。

24.面向对象设计 - 封装
类中范围修饰符:
public:可以被其他对象访问,访问级别最高;
protected:只能被该类的子类或该类同一个包下的类访问;
默认:只能被同一个包下的类访问;
private:只能在该类内部访问,访问级别最低;

25.面向对象设计 - 继承、扩展、覆盖
在父类和子类之间同时存在着继承(包含父类可见的所有属性和方法)、扩展(新增属性和方法)和覆盖(方法重写)关系。

26.面向对象设计 - 多态
多态是指当系统A访问系统B的服务时,系统B可以通过多种实现方式来提供服务,而这一切对于系统A来说都是透明的。

 27.CLI
命令行界面(英语:command-line interface,缩写]:CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面。

28.GUI
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。

 

posted on 2019-04-04 11:17  阿泰555  阅读(384)  评论(0编辑  收藏  举报

导航