JAVA面试常见问题之数据库篇】的更多相关文章

1.MySQL 索引使用的注意事项 更新频繁的列不要加索引 数据量小的表不要加索引 重复数据多的字段不要加索引,比如性别字段 首先应该考虑对where 和 order by 涉及的列上建立索引 2.DDL.DML.DCL.DQL分别指什么 3.explain命令 explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 示例: explain select surname,first_name form a,b where a.i…
一.  面向对象的特征:继承.封装.(抽象).多态 继承:继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展性. 封装:封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的“高内聚.低耦合”,把对同一事物进行操作的方法和相关的方法放在同一个类中,把方法和它操作的数据放在同一个类中. 抽象:抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这个类只考虑这些事物的相似和共性之处 多态:指程序中定义的引用变量所指向的具体类型和通…
前言:数据库的相关知识,在面试中也经常出现,笔者认为非常有必要对此类知识进行相关总结. 1.索引 索引是对数据库表中一列或多列的值进行排序的结构,是帮助数据库高效获取数据的数据结构. 通俗理解:索引就是加快检索表中数据的方法.数据库的索引类似于书籍的索引.在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息:在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库,从而提高查询速度. 索引的优点: 1)通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性.2)可…
Redis为单线程 1.Redis 有哪些数据类型 String 哈希 list set 有序set 2.Redis 内部结构 参考:https://www.cnblogs.com/chenpingzhao/archive/2017/06/10/6965164.html 3.Redis 使用场景 缓存,会话缓存,时效性,访问频率,计数器,社交列表,记录用户判定信息,交集.并集和差集,热门列表与排行榜,最新动态等. 4.Redis 持久化机制 快照(snapshotting):将整个Redis内存…
1.常见的设计模式 单例模式.工厂模式.建造模式.观察者模式.适配器模式.代理模式.装饰模式. 参考:https://www.cnblogs.com/cr330326/p/5627658.html 2.设计模式的六大原则及其含义 单一职责原则:一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因.主要作用实现代码高内聚,低耦合. 开闭原则:一个软件实体应当对扩展开放,对修改关闭.即软件实体应尽量在不修改原有代码的情况下进行扩展. 里氏替换原则:所有引用…
[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.JavaCommon项目 基础: (1)基本数据类型 (2)运算符操作 (3)异常 (4)String,StringBuffer,StringBuilder相关 (5)Number类型相关 (6)随机数.Math.random() 集合操作: (1)集合中的List (2)集合中的Stack (3)集合…
前言:这里继续对java线程相关知识点进行总结,不能间断. 1.yield()方法 yield()的作用是让步.它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权:但是,并不能保证在当前线程调用yield()之后,其它具有相同优先级的线程就一定能获得执行权:也有可能是当前线程又进入到“运行状态”继续运行.注意yield()方法并不会释放锁. 具体: http://www.cnblogs.com/skywang12345/p/3479243.html 2.…
前言:接上篇,这里继续对java线程相关知识点进行总结. 1.notify和notifyall的区别 notify()方法能够唤醒一个正在等待该对象的monitor的线程,当有多个线程都在等待该对象的monitor的话,则只能唤醒其中一个线程,具体唤醒哪个线程则不得而知. nofityAll()方法能够唤醒所有正在等待该对象的monitor的线程,也不能决定哪个线程能够获取monitor. 参考: https://www.iflym.com/index.php/code/201208190001…
前言:在Java面试中,一定会遇到线程相关问题,因此笔者在这里总结Java中有关线程方面知识点,多数从网上得来(文中会贴出主要参考链接),有些也是笔者在面试中所遇到的问题,如有错误,请不吝指正.主要参考:https://segmentfault.com/a/1190000013813740 1.线程的基本概念 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位,可以使用多线程对运算进行提速. 参考: http://www.cnblogs.com/xrq730/p…
前言:在Java面试中,计算机网络的知识也是一项重点,因此笔者在此对计算机网络的相关知识进行总结. 1.OSI参考模型 自下而上:物理层(物理介质,比特流).数据链路层(网卡.交换机).网络层(IP协议).传输层(TCP/UDP协议).会话层(创建/建立/断开连接).表示层(翻译,编码,压缩,加密).应用层(HTTP协议). 简化为TCP/IP模型:网络层(物理层.数据链路层.网络层).传输层,会话层,应用层(表示层,应用层). 参考: https://www.cnblogs.com/evabl…