摘要: 部署模式:单机模式、伪集群模式、集群模式。 阅读全文
posted @ 2020-05-07 19:52 咔啡 阅读(1450) 评论(0) 推荐(0)
摘要: zookeeper 采用了全局递增的事务 Id 来标识,所有的 proposal(提议)都在被 提出的时候加上了 zxid,zxid 实际上是一个 64 位的数字,高 32 位是 epoch(时 期; 纪元; 世; 新时代)用来标识 leader 周期,如果有新的 leader 产生出来,epoch 阅读全文
posted @ 2020-05-07 19:51 咔啡 阅读(1761) 评论(0) 推荐(2)
摘要: 第一级缓存由Session实例维护,它是必选的,其中保持了Session当前所有关联实体的数据,也称为内部缓存。而第二级缓存则存在于SessionFactory层次,它是可选的。一级缓存只能为当前线程的会话缓存,无法给整个应用共享;二级缓存可为整个应用提供缓存支持。二级缓存可以开启查询缓存,而一级缓 阅读全文
posted @ 2020-05-07 19:48 咔啡 阅读(209) 评论(0) 推荐(0)
摘要: Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和 Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。 Se 阅读全文
posted @ 2020-05-07 19:47 咔啡 阅读(289) 评论(0) 推荐(0)
摘要: Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现. 拦截器栈(Interceptor Stack)类似于过滤器链。拦截器栈就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,拦截器 阅读全文
posted @ 2020-05-07 19:46 咔啡 阅读(156) 评论(0) 推荐(0)
摘要: MVC (Model View Controller) 是一个设计模式,使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以应用于不同的表现形式。 MODEL: 阅读全文
posted @ 2020-05-07 19:45 咔啡 阅读(4869) 评论(0) 推荐(1)
摘要: PreparedStatement是预编译的SQL语句,效率高于Statement。 PreparedStatement支持操作符,相对于Statement更加灵活。 PreparedStatement可以防止SQL注入,安全性高于Statement。 阅读全文
posted @ 2020-05-07 19:44 咔啡 阅读(238) 评论(0) 推荐(0)
摘要: 工作原理:JAVA EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空 阅读全文
posted @ 2020-05-07 19:43 咔啡 阅读(380) 评论(0) 推荐(0)
摘要: 1.通过创建临时表 creat table tbl_tmp as select distinct * from tbl; truncate table tbl;//清空表记录 insert into tbl select * from tbl_tmp;//将临时表中的数据插回来。 2.利用rowid 阅读全文
posted @ 2020-05-07 19:42 咔啡 阅读(835) 评论(0) 推荐(0)
摘要: WHERE是在数据分组前进行条件过滤, HAVING子句是在数据分组后进行条件过滤,WHERE子句中不能使用聚合函数,HAVING子句可以使用聚合函数。 需要注意说明:当同时含有where子句、group by 子句 、having子句及聚集函数时,执行顺序如下: A、执行where子句查找符合条件 阅读全文
posted @ 2020-05-07 19:41 咔啡 阅读(1032) 评论(0) 推荐(0)
摘要: JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。 Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。 而JSP的情况是Java和HTML可以组合成 阅读全文
posted @ 2020-05-07 19:40 咔啡 阅读(362) 评论(0) 推荐(0)
摘要: 动态INCLUDE用jsp:include动作实现 <jsp:include page=included.jsp />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数. 用于动态引入一个 JSP 页面,是编译后的页面,只要编译后的结果 静态INCLUDE用<%@ include f 阅读全文
posted @ 2020-05-07 19:39 咔啡 阅读(472) 评论(0) 推荐(0)
摘要: Servlet3.0相对于Servlet2.0来说最大的改变是引入了Annotation标注来取代xml配置,用于简化web应用的开发和部署。最主要几项特性: 1. 新增的注解支持:该版本新增了若干注解,用于简化 Servlet、过滤器(Filter)和监听器(Listener)的声明,这使得 we 阅读全文
posted @ 2020-05-07 19:37 咔啡 阅读(329) 评论(0) 推荐(1)
摘要: 1. forward服务器内部跳转(在当前webapp中跳转),地址栏不显示跳转后的url, sendRedirect是地址栏重新发请求,地址栏显示的是跳转后的url 2. forward跳转时可以通过request共享数据,而sendRedirect不能通过request共享数据。 3. forw 阅读全文
posted @ 2020-05-07 19:36 咔啡 阅读(207) 评论(0) 推荐(0)
摘要: Jquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用户能更方便地处理HTML documents 阅读全文
posted @ 2020-05-07 19:35 咔啡 阅读(714) 评论(0) 推荐(0)
摘要: Ajax 是 Asynchronous JavaScript and XML(以及 DHTML 等)的缩写。 Ajax 尝试建立桌面应用程序的功能和交互性,与不断更新的 Web 应用程序之间的桥梁。不需要刷新页面就可以将请求提交到后台,用户根本感觉不到页面在发送请求或是交换数据. Ajax 提供将笨 阅读全文
posted @ 2020-05-07 19:34 咔啡 阅读(1657) 评论(0) 推荐(0)
摘要: XML技术用于数据存储、信息配置、数据交换三方面。 可以将数据存储在XML中,通过节点、元素内容、属性标示数据内容及关系。 可以使用XML很方便的做信息配置,软件的各种配置参数和对象关系都存贮在XML文件中。 在做数据交换平台时,将数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接 阅读全文
posted @ 2020-05-07 19:33 咔啡 阅读(276) 评论(0) 推荐(0)
摘要: 1、索引的目的是什么? 快速访问数据表中的特定信息,提高检索速度 创建唯一性索引,保证数据库表中每一行数据的唯一性。 加速表和表之间的连接 使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间 2、索引对数据库系统的负面影响是什么? 负面影响: 创建索引和维护索引需要耗费时间,这个时 阅读全文
posted @ 2020-05-05 23:03 咔啡 阅读(303) 评论(0) 推荐(0)
摘要: 数据完整性(Data Integrity)是指数据的精确(Accuracy)和可靠性(Reliability)。 分为以下四类: 1、实体完整性:规定表的每一行在表中是惟一的实体。 2、域完整性:是指表中的列必须满足某种特定的数据类型约束,其中约束又包括 取值范围、精度等规定。 3、参照完整性:是指 阅读全文
posted @ 2020-05-05 00:34 咔啡 阅读(6559) 评论(0) 推荐(0)
摘要: SQL 语言包括数据定义(DDL)、数据操纵(DML),数据控制(DCL)和数据查询(DQL) 四个部分。 数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index 等 数据操纵:Select ,insert,update,delete, 阅读全文
posted @ 2020-05-03 23:08 咔啡 阅读(714) 评论(0) 推荐(0)
摘要: 答:视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改, 查,操作,视图通常是有一个表或者多个表的行或列的子集。对视图的修改不影 响基本表。它使得我们获取数据更容易,相比多表查询。 游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元 中的特定行,从结果集的当前行检索 阅读全文
posted @ 2020-05-03 22:16 咔啡 阅读(874) 评论(0) 推荐(0)
摘要: 答:数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数 据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可 能会读取和存储不正确的数据,破坏数据库的一致性。 加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进 行操作前,先向系统发出请求,对其加 阅读全文
posted @ 2020-05-02 21:14 咔啡 阅读(981) 评论(0) 推荐(0)
摘要: 事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个 不可分割的工作单位,事务回滚是指将该事务已经完成的对数据库的更新操作撤 销。 要同时修改数据库中两个不同表时,如果它们不是一个事务的话,当第一个表修 改完,可能第二个表修改过程中出现了异常而没能修改,此时就只有第二个表依 旧是未 阅读全文
posted @ 2020-05-02 21:13 咔啡 阅读(287) 评论(0) 推荐(0)
摘要: Datatime:以 YYYY-MM-DD HH:MM:SS 格式存储时期时间,精确到秒, 占用 8 个字节得存储空间,datatime 类型与时区无关 Timestamp:以时间戳格式存储,占用 4 个字节,范围小 1970-1-1 到 2038-1-19, 显示依赖于所指定得时区,默认在第一个列 阅读全文
posted @ 2020-05-02 21:12 咔啡 阅读(162) 评论(0) 推荐(0)
摘要: 事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有 操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所 有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作 失败,则事务将回滚,该事务所有操作的影响都将取消。 事务特性: 1、原子 阅读全文
posted @ 2020-05-02 21:11 咔啡 阅读(2140) 评论(0) 推荐(1)
摘要: 1、选取最适用的字段属性,尽可能减少定义字段宽度,尽量把字段设置 NOTNULL, 例如’省份’、’性别’最好适用 ENUM 2、使用连接(JOIN)来代替子查询 3、适用联合(UNION)来代替手动创建的临时表 4、事务处理 5、锁定表、优化事务处理 6、适用外键,优化锁定表 7、建立索引 8、优 阅读全文
posted @ 2020-05-02 21:10 咔啡 阅读(191) 评论(0) 推荐(0)
摘要: 1、以“%”开头的 LIKE 语句,模糊匹配 2、OR 语句前后没有同时使用索引 3、数据类型出现隐式转化(如 varchar 不加单引号的话可能会自动转换为 int 型) 阅读全文
posted @ 2020-05-02 21:09 咔啡 阅读(1625) 评论(0) 推荐(0)
摘要: 1、设计良好的数据库结构,允许部分数据冗余,尽量避免 join 查询,提高效率。 2、选择合适的表字段数据类型和存储引擎,适当的添加索引。 3、MySQL 库主从读写分离。 4、找规律分表,减少单表中的数据量提高查询速度。 5、添加缓存机制,比如 memcached,apc 等。 6、不经常改动的页 阅读全文
posted @ 2020-05-02 21:07 咔啡 阅读(570) 评论(0) 推荐(0)
摘要: NUMERIC 和 DECIMAL 类型被 MySQL 实现为同样的类型,这在 SQL92 标准允 许。他们被用于保存值,该值的准确精度是极其重要的值,例如与金钱有关的数 据。当声明一个类是这些类型之一时,精度和规模的能被(并且通常是)指定。 例如: salary DECIMAL(9,2) 在这个例 阅读全文
posted @ 2020-05-02 21:06 咔啡 阅读(3384) 评论(0) 推荐(0)
摘要: 1、TINYTEXT 2、TEXT 3、MEDIUMTEXT 4、LONGTEXT 阅读全文
posted @ 2020-05-02 21:05 咔啡 阅读(1292) 评论(0) 推荐(0)
摘要: 在 MySQL 中,使用以下代码查询显示前 50 行: SELECT*FROM LIMIT 0,50; 阅读全文
posted @ 2020-05-02 21:04 咔啡 阅读(363) 评论(0) 推荐(0)
摘要: BLOB 是一个二进制对象,可以容纳可变数量的数据。TEXT 是一个不区分大小写 的 BLOB。 BLOB 和 TEXT 类型之间的唯一区别在于对 BLOB 值进行排序和比较时区分大小 写,对 TEXT 值不区分大小写。 阅读全文
posted @ 2020-05-02 21:03 咔啡 阅读(1608) 评论(0) 推荐(0)
摘要: 索引是通过以下方式为表格定义的: SHOW INDEX FROM <tablename>; 阅读全文
posted @ 2020-05-02 21:02 咔啡 阅读(424) 评论(0) 推荐(0)
摘要: 它用来压缩 MyISAM 表,这减少了磁盘或内存使用。 MyISAM Static 和 MyISAM Dynamic 有什么区别? 在 MyISAM Static 上的所有字段有固定宽度。动态 MyISAM 表将具有像 TEXT, BLOB 等字段,以适应不同长度的数据类型。 MyISAM Stat 阅读全文
posted @ 2020-05-02 21:01 咔啡 阅读(651) 评论(0) 推荐(0)
摘要: MyISAM: 第 134 页 共 485 页不支持事务,但是每次查询都是原子的; 支持表级锁,即每次操作是对整个表加锁; 存储表的总行数; 一个 MYISAM 表有三个文件:索引文件、表结构文件、数据文件; 采用菲聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引 基本一致,但是辅索 阅读全文
posted @ 2020-05-02 21:00 咔啡 阅读(323) 评论(0) 推荐(0)
摘要: 1、表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最 高,并发度最低。 2、行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最 低,并发度也最高。 3、页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表 锁和行锁之间,并发度一般。 阅读全文
posted @ 2020-05-02 20:59 咔啡 阅读(2421) 评论(0) 推荐(0)
摘要: 先拿 setnx 来争抢锁,抢到之后,再用 expire 给锁加一个过期时间防止锁忘记了 释放。 这时候对方会告诉你说你回答得不错,然后接着问如果在 setnx 之后执行 expire 之前进程意外 crash 或者要重启维护了,那会怎么样? 这时候你要给予惊讶的反馈:唉,是喔,这个锁就永远得不到释 阅读全文
posted @ 2020-05-02 20:36 咔啡 阅读(772) 评论(0) 推荐(0)
摘要: 答:一般使用 list 结构作为队列,rpush 生产消息,lpop 消费消息。当 lpop 没有 消息的时候,要适当 sleep 一会再重试。 如果对方追问可不可以不用 sleep 呢? list 还有个指令叫 blpop,在没有消息的时候,它会阻塞住直到消息到来。如果对 方追问能不能生产一次消费 阅读全文
posted @ 2020-05-02 20:34 咔啡 阅读(860) 评论(0) 推荐(0)
摘要: 答:使用 keys 指令可以扫出指定模式的 key 列表。 页对方接着追问:如果这个 redis 正在给线上的业务提供服务,那使用 keys 指令会 有什么问题? 这个时候你要回答 redis 关键的一个特性:redis 的单线程的。keys 指令会导致线 程阻塞一段时间,线上服务会停顿,直到指令执 阅读全文
posted @ 2020-05-02 20:32 咔啡 阅读(1642) 评论(0) 推荐(0)
摘要: 面试官:想了解你的知识面的广度和深度。 解答: Lucene 是有索引和搜索的两个过程,包含索引创建,索引,搜索三个要点。可以 基于这个脉络展开一些。 最近面试一些公司,被问到的关于 Elasticsearch 和搜索引擎相关的问题,以及自 己总结的回答。 阅读全文
posted @ 2020-04-29 21:35 咔啡 阅读(652) 评论(0) 推荐(0)