java笔记高级部分

你有没有用过linux?你都用它来做什么?

Linux是一个长时间运行比较稳定的操作系统,我们一般用它来当做服务器。

说一下linux下面的一些常用的命令?

Pwd  获取当前路径

Cd 跳转到目录

Su - u 切换到管理员

Ls-ls 列举目录

你是使用什么来连接远程的Linux服务器的?

使用xshellputtyssh客户端来连接服务器,使用xftpwinscpsftp客户端来上传和现在文件。连接和上传、下载必须依赖于服务器的sshsftp服务,也就是linux服务器需要启动这两个服务。

有没有使用过云主机?

没有使用过,但是有所了解。

云主机就是远程的服务器功能,开发者或者企业只需按需付费就可以租用对应的服务器。

有没有做过数据库优化方面的事情?

 做过mysql数据库的优化、其他数据库类似

定位:查找、定位慢查询

查找慢查询并定位慢查询?

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

数据库优化之遵循范式?

第一范式:列不可再分,确保每一列的原子性。

第二范式:属性完全依赖于主键。

第三范式:属性不依赖于其他非主属性

选择合适的存储引擎

myisam / innodb/ memory

MyISAM INNODB的区别(主要)

1. 事务安全 myisam不支持事务而innodb支持

2. 查询和添加速度 myisam不用支持事务就不用考虑同步锁,查找和添加和添加的速度快

3. 支持全文索引 myisam支持innodb不支持

4. 锁机制 myisam支持表锁而innodb支持行锁(事务)

5. 外键 MyISAM 不支持外键, INNODB支持外键. (通常不设置外键,通常是在程序中保证数据的一致)

数据库优化之创建合适的索引?

索引(Index)是帮助DBMS高效获取数据的数据结构

分类:普通索引/唯一索引/键索引/全文索引

索引使用小技巧?

具体技巧:

1. 对于创建的多列索引复合索引不是使用的第一部分就不会使用索引。

2. 对于使用like的查询,查询如果是’%aaa’不会使用到索引aaa%’会使用到索引。

3. 要求使用的所有字段,都必须单独使用时能使用索引.

4. 如果列类型是字符串,那一定要在条件中将数据使用引号引用起来。否则不使用索引

5. 如果mysql估计使用全表扫描要比使用索引快,则不使用索引。

索引弊端

1.占用磁盘空间

2.dml(插入、修改、删除)操作有影响,变慢

使用场景:

a: 肯定在where条件经常使用,如果不做查询就没有意义

b: 该字段的内容不是唯一的几个值(sex)

c: 字段内容不是频繁变化.

数据库优化之分表?

分表分为水平(按行)分表和垂直(按列)分表

数据库优化之读写分离

数据库最终会把数据持久化到磁盘,如果集群必须确保每个数据库服务器的数据是一直的。能改变数据库数据的操作都往主数据库去写而其他的数据库从主数据库上同步数据。

数据库优化之缓存

  在持久层(dao)和数据库(db)之间添加一个缓存层,如果用户访问的数据已经缓存起来时,在用户访问时直接从缓存中获取,不用访问数据库。而缓存是在操作内存级,访问速度快。

作用:减少数据库服务器压力,减少访问时间。

Java中常用的缓存有,

   1hibernate的二级缓存。

2.可以使用redis来作为中央缓存。

 jdbc批量插入几百万数据怎么实现?

1、变多次提交为一次

2、使用批量操作

有没有使用过redis? Redis是什么  

key-valuenosql数据库

主要用来做缓存数据库的数据和web集群时当做中央缓存存放seesion

猜你喜欢

转载自www.cnblogs.com/bianshiguang/p/10990020.html