知识点找回2.0

感觉接触的太多,或者时间已久。好多东西都模糊不清了,不过学过的东西,当然是很快可以找回来的啦。

Servlet(server Applet),全称Java Servlet, 是用java编写的服务器端程序。而这些Servlet都要实现Servlet的这个借口,其主要的功能在交互的浏览和修改数据,生成动态的web。Servlet运行支持于java的服务器中。

HttpServlet重写了doGet和doPost方法,或者也可以重写service方法完成对get和post的请求相应。

简单的说一下servlet的生命周期。 servlet有良好的生存期定义,包括加载和实列化,初始化,请求处理,服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destory方法表达。

加载Servlet的class--->实列化Servlet--->调用Servlet的init完全初始化--->相应请求(Service的service方法)--->Servlet容器关闭时(Service的destory方法)

Servlet中forward()与redirect()的区别。 1.0 forward是服务器端的转向,而redirect是客户端的跳转。 2.0 使用forward浏览器地址不会改变,而direct会改变。 3.0 forward是一次请求完成,而direct是重新发起请求。 4.0 Forward在服务器端完成,不用在客户端重新请求,效率更高。

jsp和servlet有哪些相同点和不同点? Jsp是servlet的扩展,所有的jsp文件都会被翻译成一个继承HttpServlet的类。也就是jsp最终也是一个Servlet,这个Servlet对外提供服务。 不同点在于:Servlet的应用逻辑是在java文件中,并且完全从表示层的html分离,而jsp的情况是java和html组合成一个扩展名为.jsp的文件,jsp侧重视图,servlet主要用于逻辑控制。

数据库优化 定位: 查找,定位慢查询,并优化。 创建索引,创建合适的索引,就可以在索引中查询,查询到以后直接找对应的记录。 分表 ,当一个表的数据比较多或者一张表的某些字段的值比较多并且很少使用时,采用水平分表或者垂直分表。 读写分离,当一台服务器不能满足需求时,采用读写分离的方式进行集群。 缓存,使用redis进行缓存。

定位,查找,定位慢查询, 在项目自验项目测试之前,在启动mysql数据库时开启慢查询,并把查询慢的语句写到日志中,并运行一定时间后,通过日志找到慢查询语句。

数据库优化之遵循方式。 1NF,表的列具有原子性,不可分解,列不可分解。 2NF,表中的记录是唯一的,通过我们设计一个主键来维护。 3NF,表中不要有数据冗余,就是说表的信息能够被推导出来,就不应该单独设计一个字段来存放(外键)

选择合适的储层引擎 在并发中,我们经常使用存储引擎myisam/innodb/memory myisam存储引擎 如果对事务要求不高,同时以查询添加为主,没有考虑使用myisam存储引擎,比如bbs中的发帖,回复等。 Innodb存储引擎 对事务要求高,保存的数据都是重要的数据,我们建议用INNODB,比如表单,账号等。 Memory存储引擎 我们的数据变化频繁,不需要入库,同时又频繁的查询和修改,我们考虑使用memory,速度极快。

Myisam和Innodb的区别 1.0 事务安全myisam不支持事务而Innodb支持。 2.0 查询和添加速度,myisam不支持事务就不用考虑同步锁,查找和添加速度快。 3.0 Myisam支持全文索引,Innodb不支持全文索引。 4.0 Myisam不支持外键,Innodb支持外键(通常不设置外键,通常在程序中保持数据一致。)

索引,帮助DBMS高效获取数据的数据结构。 分类:普通索引/唯一索引/主键索引/全局索引。 普通索引:允许出现重复的值。 唯一索引:除了不能有重复的记录外,其它和普通索引一样(用户名,用户身份证。) 主键索引:随着设定主键而创建,也就是把某列设为主键的时候,数据库就会给该列设为索引。 全文索引:用来对表中的文本(char,varchar,text)进行索引。

索引的弊端 1.0 占用磁盘空间 2.0 对dml(插入,修改,删除)操作有影响,变慢。 总结:满足以下条件的字段,才被创建索引。 a:在where条件下经常使用。 b:该字段的内容不是唯一的几个值。 c:字段内容不会频繁变化

数据库的分表 分表分为水平(按照行)分表和垂直(按照列)分表 mysql表的数据一般到达百万级别,查询效率会很低,容易造成表锁,水平分表。 如果一张表中的数据字段非常多(长文本,二进制等),并且只有很少的情况下会查询。这个时候就可以把字段多个单独放到一个表,通过外键关联。采用垂直分表 水平分表的策略 1.0 按照时间分表, 这个分表有一定的局限性,当前的数据有较强的时效性。 2.0 按照区间范围分表。 3.0 hash分表 通过一个原始目标的id或者名称通过一定的hash算法计算出数据存储表的表名。

数据库的读写分离 一个数据库支持的最大并发链接数是有限的,如果用户的并发访问太多,一台服务器满足不了要求,就可以集群处理。mysql的集群处理技术最常用的就是读写分离。 主从同步 主从同步,数据库最终会把数据持久化到硬盘中,如果集群必须保证每一个数据库的服务器的数据是一致的,能改变数据库的操作都往主数据写,而其他的数据库从主数据库上同步。 读写分离 使用负载均衡来实现写的操作都往主数据去,而读的操作往从服务器去。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Laoqi's Linux运维专列

MySQL性能调优 – 你必须了解的15个重要变量

1.8K2
来自专栏L宝宝聊IT

存储过程和触发器的应用

1524
来自专栏喵了个咪的博客空间

Otter-入门篇4(单向同步实践)

Otter-入门篇4(单向同步实践)# ? 前言## 在前几节我们已经做好了关于otter的准备工作,配置好了zookeeper,manage和node,本节就...

52410
来自专栏张狗蛋的技术之路

MySQL探秘(三):InnoDB的内存结构和特性

 常言说得好,每个成功男人背后都有一个为他默默付出的女人,而对于MySQL来说,这个“人”就是InnoDB存储引擎。  MySQL区别于其他数据库的最为重要的特...

1422
来自专栏Linyb极客之路

MySQL 之 SQL 优化实战记录

N个机台将业务数据发送至服务器,服务器程序将数据入库至MySQL数据库。服务器中的javaweb程序将数据展示到网页上供用户查看。

1031
来自专栏哲学驱动设计

MIS性能优化常见问题与方案(辅助项目组性能优化的总结贴)

最近帮忙公司的几个项目组进行了不同方面的性能优化,发现几个项目都出现了一些共性的问题。这里写一篇文章,总结一下这几类问题,以及其对应的解决方案。方便其它项目组参...

2216
来自专栏数据和云

Library Cache优化与SQL游标

? 冷菠 冷菠,网名悠然(个人主页http://www.orasky.net),资深DBA,著有《Oracle高性能自动化运维》,有近10年的数据库运维、团队...

2845
来自专栏杨建荣的学习笔记

关于修改分区表的准备和操作细则(r3笔记26天)

在之前的博文中,讨论过一个根据分区键值发现性能问题的案例。90%以上的数据都分布在了一个分区上,其它的分区要么没有数据要么数据很少,这是很明显的分区问题。当然这...

3006
来自专栏闵开慧

mysql性能调优

mysql调优思路: 1.数据库设计与规划--以后再修该很麻烦,估计数据量,使用什么存储引擎  2.数据的应用--怎样取数据,sql语句的优化  3.mysql...

3675
来自专栏文渊之博

探索SQL Server元数据(一)

  在数据库中,我们除了存储数据外,还存储了大量的元数据。它们主要的作用就是描述数据库怎么建立、配置、以及各种对象的属性等。本篇简单介绍如何使用和查询元数据,如...

1262

扫码关注云+社区