摘要:
Spring 通过提供ORM模块,支持我们在直接JDBC之上使用一个对象/关系映射映射(ORM)工具,Spring 支持集成主流的ORM框架,如Hiberate,JDO和 iBATIS SQL Maps。Spring的事务管理同样支持以上所有ORM框架及JDBC。
阅读全文
posted @ 2020-11-05 12:37
咔啡
阅读(97)
推荐(0)
摘要:
你两种依赖方式都可以使用,构造器注入和Setter方法注入。最好的解决方案是用构造器参数实现强制依赖,setter方法实现可选依赖。 Spring Beans
阅读全文
posted @ 2020-11-02 16:50
咔啡
阅读(173)
推荐(0)
摘要:
可以,你可以写一个自己的容器类。如果你想使用 Java 中增强的循环来遍历, 你只需要实现 Iterable 接口。如果你实现 Collection 接口,默认就具有该属性。
阅读全文
posted @ 2020-11-02 15:44
咔啡
阅读(151)
推荐(0)
摘要:
1. 通过ActionContext.getSession获取 2. 通过ServletActionContext.getRequest()获取 3. 通过SessionAware接口注入 4. 通过ServletRequestAware接口注入 第一种获取requet对象方法 HttpServle
阅读全文
posted @ 2020-11-02 15:42
咔啡
阅读(90)
推荐(0)
摘要:
3.2.0 版本后,添加了 Chroot 特性,该特性允许每个客户端为自己设置一个命名 空间。如果一个客户端设置了 Chroot,那么该客户端对服务器的任何操作,都将 会被限制在其自己的命名空间下。 通过设置 Chroot,能够将一个客户端应用于 Zookeeper 服务端的一颗子树相对 应,在那些
阅读全文
posted @ 2020-11-02 15:38
咔啡
阅读(109)
推荐(0)
摘要:
基本数据类型包括byte、int、char、long、float、double、boolean和short。java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类
阅读全文
posted @ 2020-11-02 15:05
咔啡
阅读(194)
推荐(0)
摘要:
@Autowired 注解提供了更细粒度的控制,包括在何处以及如何完成自动装配。它的用法和@Required一样,修饰setter方法、构造器、属性或者具有任意名称和/或多个参数的PN方法。
阅读全文
posted @ 2020-11-02 15:02
咔啡
阅读(69)
推荐(0)
摘要:
HQL功能很强大,适合各种情况,但是动态条件查询构造起来很不方便; Criteria 最适合动态查询,但不太适合统计查询,QBE还不够强大.只适合简单的查询; Native-SQL可以实现特定的数据库的SQL,但是可移植性并不好。 如大部分查询都是动态条件查询,首先criteria,甚至使用Hibe
阅读全文
posted @ 2020-11-02 14:55
咔啡
阅读(68)
推荐(0)
摘要:
DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。 它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。
阅读全文
posted @ 2020-11-02 14:42
咔啡
阅读(272)
推荐(0)
摘要:
FileSystemXmlApplicationContext : 此容器从一个XML文件中加载beans的定义,XML Bean 配置文件的全路径名必须提供给它的构造函数。 ClassPathXmlApplicationContext: 此容器也从一个XML文件中加载beans的定义,这里,你需要
阅读全文
posted @ 2020-11-02 14:41
咔啡
阅读(103)
推荐(0)
摘要:
当然可以。但是如果我们调用了 Thread 的 run()方法,它的行为就会和普通的方 法一样,会在当前线程中执行。为了在新的线程中执行我们的代码,必须使用Thread.start()方法。
阅读全文
posted @ 2020-11-02 14:37
咔啡
阅读(469)
推荐(0)
摘要:
Redisson、Jedis、lettuce 等等,官方推荐使用 Redisson。
阅读全文
posted @ 2020-10-30 19:34
咔啡
阅读(348)
推荐(0)
摘要:
HQL功能很强大,适合各种情况,但是动态条件查询构造起来很不方便; Criteria 最适合动态查询,但不太适合统计查询,QBE还不够强大.只适合简单的查询; Native-SQL可以实现特定的数据库的SQL,但是可移植性并不好。 如大部分查询都是动态条件查询,首先criteria,甚至使用Hibe
阅读全文
posted @ 2020-10-30 19:02
咔啡
阅读(128)
推荐(0)
摘要:
大体上,对于HIBERNATE性能调优的主要考虑点如下: l 数据库设计调整 l HQL优化 l API的正确使用(如根据不同的业务类型选用不同的集合及查询API) l 主配置参数(日志,查询缓存,fetch_size, batch_size等) l 映射文件优化(ID生成策略,二级缓存,延迟加载,
阅读全文
posted @ 2020-10-30 18:43
咔啡
阅读(321)
推荐(0)
摘要:
工作原理:JAVA EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空
阅读全文
posted @ 2020-10-30 18:40
咔啡
阅读(175)
推荐(0)
摘要:
ORM的全称是Object-Relational Mapping,即对象关系映射。ORM思想的提出来源于对象与关系之间相悖的特性。我们很难通过对象的继承与聚合关系来描述数据表中一对一、一对多以及多对多的关系。而面向对象思想中有关抽象与多态的原理,也无法通过关系数据库的SQL语句得以彰显。因此,我们需
阅读全文
posted @ 2020-10-30 18:37
咔啡
阅读(736)
推荐(0)
摘要:
SQL 标准定义的四个隔离级别为: 1、read uncommited :读到未提交数据 2、read committed:脏读,不可重复读 3、repeatable read:可重读 4、serializable :串行事物
阅读全文
posted @ 2020-10-30 18:19
咔啡
阅读(183)
推荐(0)
摘要:
1)、Redis Sentinal 着眼于高可用,在 master 宕机时会自动将 slave 提升为 master,继续提供服务。 2)、Redis Cluster 着眼于扩展性,在单个 redis 内存不足时,使用 Cluster 进行 分片存储。
阅读全文
posted @ 2020-10-30 18:15
咔啡
阅读(111)
推荐(0)
摘要:
MySQL 服务器通过权限表来控制用户对数据库的访问,权限表存放在 MySQL 数 据库里,由 MySQL_install_db 脚本初始化。这些权限表分别 user,db,table_priv,columns_priv 和 host。
阅读全文
posted @ 2020-10-30 18:13
咔啡
阅读(314)
推荐(0)
摘要:
每个 MyISAM 表格以三种格式存储在磁盘上: ·“.frm”文件存储表定义 ·数据文件具有“.MYD”(MYData)扩展名 索引文件具有“.MYI”(MYIndex)扩展名
阅读全文
posted @ 2020-10-30 18:12
咔啡
阅读(250)
推荐(0)
摘要:
Spring是一个轻量级的容器,非侵入性的框架.最重要的核心概念是IOC,并提供AOP概念的实现方式,提供对持久层,事务的支持,对当前流行的一些框架(Struts,Hibernate,MVC),Sping也提供了与它们的相整合的方案.使用Spring,我们能够减少类之间的依赖性和程序之间的耦合度,最
阅读全文
posted @ 2020-10-29 19:14
咔啡
阅读(125)
推荐(0)
摘要:
面试官:想了解你对基础概念的认知。 解答:通俗解释一下就可以。 传统的我们的检索是通过文章,逐个遍历找到对应关键词的位置。 而倒排索引,是通过分词策略,形成了词和文章的映射关系表,这种词典+映射表 即为倒排索引。 有了倒排索引,就能实现 o(1)时间复杂度的效率检索文章了,极大的提高了 检索效率。
阅读全文
posted @ 2020-10-29 19:08
咔啡
阅读(174)
推荐(0)
摘要:
表格的每一行都由主键唯一标识,一个表只有一个主键。 主键也是候选键。按照惯例,候选键可以被指定为主键,并且可以用于任何外键 引用。
阅读全文
posted @ 2020-10-29 17:11
咔啡
阅读(864)
推荐(0)
摘要:
在缺省模式下,MySQL 是 autocommit 模式的,所有的数据库更新操作都会即时 提交,所以在缺省情况下,MySQL 是不支持事务的。 但是如果你的 MySQL 表类型是使用 InnoDB Tables 或 BDB tables 的话,你的 MySQL 就可以使用事务处理,使用 SET AU
阅读全文
posted @ 2020-10-29 14:42
咔啡
阅读(187)
推荐(0)
摘要:
任何标准表最多可以创建 16 个索引列。
阅读全文
posted @ 2020-10-29 14:24
咔啡
阅读(137)
推荐(0)
摘要:
%对应于 0 个或更多字符,_只是 LIKE 语句中的一个字符。 如何在 Unix 和 MySQL 时间戳之间进行转换? UNIX_TIMESTAMP 是从 MySQL 时间戳转换为 Unix 时间戳的命令 FROM_UNIXTIME 是从 Unix 时间戳转换为 MySQL 时间戳的命令
阅读全文
posted @ 2020-10-29 14:18
咔啡
阅读(720)
推荐(0)
摘要:
1、CONCAT(A, B) – 连接两个字符串值以创建单个字符串输出。通常用于将两个 或多个字段合并为一个字段。 2、FORMAT(X, D)- 格式化数字 X 到 D 有效数字。 3、CURRDATE(), CURRTIME()- 返回当前日期或时间。 4、NOW() – 将当前日期和时间作为一
阅读全文
posted @ 2020-10-29 14:15
咔啡
阅读(80)
推荐(0)
摘要:
共有 5 种类型的表格: 1、MyISAM 2、Heap 3、Merge 4、INNODB 5、ISAM
阅读全文
posted @ 2020-10-29 14:02
咔啡
阅读(436)
推荐(0)
摘要:
如果大量的 key 过期时间设置的过于集中,到过期的那个时间点,redis 可能 会出现短暂的卡顿现象。一般需要在时间上加一个随机值,使得过期时间分散一 些。
阅读全文
posted @ 2020-10-29 13:53
咔啡
阅读(251)
推荐(0)
摘要:
Redis 可以使用主从同步,从从同步。第一次同步时,主节点做一次 bgsave, 并同时将后续修改操作记录到内存 buffer,待完成后将 rdb 文件全量同步到复制 节点,复制节点接受完成后将 rdb 镜像加载到内存。加载完成后,再通知主节点 将期间修改的操作记录同步到复制节点进行重放就完成了同
阅读全文
posted @ 2020-10-29 13:47
咔啡
阅读(597)
推荐(0)
摘要:
B+树,经过优化的 B+树 主要是在所有的叶子结点中增加了指向下一个叶子节点的指针,因此 InnoDB 建 议为大部分表使用默认自增的主键作为主索引。
阅读全文
posted @ 2020-10-29 13:02
咔啡
阅读(155)
推荐(0)
摘要:
阻塞式方法是指程序会一直等待该方法完成期间不做其他事情,ServerSocket 的 accept()方法就是一直等待客户端连接。这里的阻塞是指调用结果返回之前,当前 线程会被挂起,直到得到结果之后才会返回。此外,还有异步和非阻塞式方法在 任务完成前就返回。
阅读全文
posted @ 2020-10-29 12:40
咔啡
阅读(212)
推荐(0)
摘要:
索引是一种特殊的文件(InnoDB 数据表上的索引是表空间的一个组成部分),它们 包含着对数据表里所有记录的引用指针。 普通索引(由关键字 KEY 或 INDEX 定义的索引)的唯一任务是加快对数据的访问速 度。 普通索引允许被索引的数据列包含重复的值。如果能确定某个数据列将只包含彼 此各不相同的值
阅读全文
posted @ 2020-10-29 11:15
咔啡
阅读(314)
推荐(0)
摘要:
在 java.lang.Thread 中有一个方法叫 holdsLock(),它返回 true 如果当且仅当当 前线程拥有某个具体对象的锁。
阅读全文
posted @ 2020-10-29 10:13
咔啡
阅读(183)
推荐(0)
摘要:
每当行被更改时,时间戳字段将获取当前时间戳。 列设置为 AUTO INCREMENT 时,如果在表中达到最大值,会发生什么情况? 它会停止递增,任何进一步的插入都将产生错误,因为密钥已被使用。 怎样才能找出最后一次插入时分配了哪个自动增量? LAST_INSERT_ID 将返回由 Auto_incr
阅读全文
posted @ 2020-10-29 10:12
咔啡
阅读(241)
推荐(0)
摘要:
XML DTD(功能有限) XML Schema (功能强大) Schema本身是XML的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的),Schema支持命名空间,Schema支持数据类型,并且支持自定义数据类型,功能更完善,更强大,提供了无限的可扩展性。而且Schema是W
阅读全文
posted @ 2020-10-28 19:40
咔啡
阅读(206)
推荐(0)
摘要:
处于等待状态的线程可能会收到错误警报和伪唤醒,如果不在循环中检查等待条件,程序就会在没有满足结束条件的情况下退出。
阅读全文
posted @ 2020-10-28 19:38
咔啡
阅读(95)
推荐(0)
摘要:
先说什么是交叉连接: 交叉连接又叫笛卡尔积,它是指不使用任何条件,直接将一 个表的所有记录和另一个表中的所有记录一一匹配。 内连接 则是只有条件的交叉连接,根据某个条件筛选出符合条件的记录,不符合 条件的记录不会出现在结果集中,即内连接只连接匹配的行。 外连接 其结果集中不仅包含符合连接条件的行,而
阅读全文
posted @ 2020-10-28 19:37
咔啡
阅读(1315)
推荐(0)
摘要:
同步集合与并发集合都为多线程和并发提供了合适的线程安全的集合,不过并发集合的可扩展性更高。在 Java1.5 之前程序员们只有同步集合来用且在多线程并发的时候会导致争用,阻碍了系统的扩展性。Java5 介绍了并发集合像ConcurrentHashMap,不仅提供线程安全还用锁分离和内部分区等现代技术
阅读全文
posted @ 2020-10-27 10:45
咔啡
阅读(250)
推荐(0)
摘要:
线程安全是编程中的术语,指某个函数、函数库在多线程环境中被调用时,能够 正确地处理多个线程之间的共享变量,使程序功能正确完成。 Servlet 不是线程安全的,servlet 是单实例多线程的,当多个线程同时访问同一个 方法,是不能保证共享变量的线程安全性的。 Struts2 的 action 是多
阅读全文
posted @ 2020-10-27 10:43
咔啡
阅读(143)
推荐(0)