java笔记高级部分
你有没有用过linux?你都用它来做什么?
Linux是一个长时间运行比较稳定的操作系统,我们一般用它来当做服务器。
说一下linux下面的一些常用的命令?
Pwd 获取当前路径
Cd 跳转到目录
Su - u 切换到管理员
Ls-ls 列举目录
你是使用什么来连接远程的Linux服务器的?
使用xshell、putty等ssh客户端来连接服务器,使用xftp、winscp等sftp客户端来上传和现在文件。连接和上传、下载必须依赖于服务器的ssh、sftp服务,也就是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中常用的缓存有,
1、hibernate的二级缓存。
2.可以使用redis来作为中央缓存。
jdbc批量插入几百万数据怎么实现?
1、变多次提交为一次
2、使用批量操作
有没有使用过redis? Redis是什么
key-value的nosql数据库
主要用来做缓存数据库的数据和web集群时当做中央缓存存放seesion
转载于:https://www.cnblogs.com/bianshiguang/p/10990020.html
java笔记高级部分相关推荐
- 【Java笔记+踩坑】SpringBoot基础3——开发。热部署+配置高级+整合NoSQL/缓存/任务/邮件/监控
导航: [黑马Java笔记+踩坑汇总]JavaSE+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud/SpringCloudAlibaba+黑马旅游+谷粒商城 目录 ...
- 11.3-全栈Java笔记:线程的生命周期
一个线程对象在它的生命周期内,需要经历5个状态. 新生状态(New) 用new关键字建立一个线程对象后,该线程对象就处于新生状态.处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态 ...
- 10.4-全栈Java笔记:常用流详解(二)
上节我们讲到「Java中常用流:文件字节流和字节数组流」,本节我们继续走起~ 缓冲流 BufferedInputStream和BufferedOutputStream这两个流是处理流,通过内部缓存数 ...
- 9.1-全栈Java笔记: 容器泛型—认识Collection接口
开发和学习中需要时刻和数据打交道,如果组织这些数据是我们编程中重要的内容. 我们一般通过"容器"来容纳和管理数据. 事实上,数组就是一种容器,可以在其中放置对象或基本类型数据. ...
- 4.8-全栈Java笔记:包机制
包机制是java中管理类的重要手段. 开发中,我们会遇到大量同名的类,通过包我们很容易对解决类重名的问题,也可以实现对类的有效管理. 包对于类,相当于,文件夹对于文件的作用. package 我们通过 ...
- Java笔记05-Collection、泛型、迭代器
Java笔记05-Collection.泛型.迭代器 [Collection.泛型] 主要内容 Collection集合 迭代器 增强for 泛型 第一章 Collection集合 1.1 集合概述 ...
- 10.6-全栈Java笔记:常见流详解(四)
上节我们讲到「Java中常用流:数据流和对象流」,本节我们学习文件字符流和文件缓冲流~ 文件字符流 前面介绍的文件字节流可以处理所有的文件,但是字节流不能很好的处理Unicode字符,经常会出现&qu ...
- 10.8-全栈Java笔记:序列化/反序列化的步骤和实例
本节我们详细讲解10.3节中提到的序列化和反序列化操作. 序列化和反序列化是什么 当两个进程远程通信时,彼此可以发送各种类型的数据. 无论是何种类型的数据,都会以二进制序列的形式在网络上传送.比如,我 ...
- 11.1-全栈Java笔记:多线程技术的基本概念
多线程是JAVA语言的重要特性,大量应用于网络编程.应用于服务器端程序的开发.以及最常见的UI界面底层原理.操作系统底层原理都大量使用了多线程. 我们可以流畅的点击软件或者游戏中的各种按钮,其实,底层 ...
最新文章
- Leetcode题库 2038.邻色同删(双指针法 C实现)
- python-dev 安装错误
- 作者:​王宁(1979-),男,厦门华厦学院副教授、高级工程师。
- Unity3d读取.csv文件
- 计算机应用基础win7.pdf,计算机应用基础WIn7操作题(12页)-原创力文档
- 9 | Spatial-based GNN/convolution模型之GIN
- c语言一个整数各位数字个数_C语言编写程序输出10个整数中最小值或最大值
- 第五课--使用定时器实现中断(1)
- 得到 jason中 string 的值_简单高性能的Json解析器: Jason
- 适合android手机 pdf阅读器,手机版pdf阅读器有哪些 这五款软件一定有适合你的
- 视频教程-DelphiXE10安卓开发(实战篇)-其他
- 【142】阿蛮歌霸使用技巧
- Python 处理 PDF 的神器 -- PyMuPDF(上)
- 1-初识C语言-C语言学习笔记来自比特鹏哥的资料
- win10无法访问linux共享服务器,Win10无法访问NAS或Linux网络共享的处理方法
- 信号处理基本概念:单位脉冲响应和单位阶跃响应
- Android ExceptionThrowable 常见异常和解决方法 奔溃日志上报 monkey异常修改
- 高校房产管理系统中周转房有哪些管理功能和范围
- 3款电脑必装软件,功能强大且免费,打死也舍不得卸载
- 成功的人生至少需要一张跳板