Java基础复习重点(个人用)

1.安装idea导入jdk,选择版本。

类是对象的抽象,对象是类的实例

CTRL+alt+L  代码自动对齐

CTRL+/  注释

2.基本数据类型(String是类,不是基本数据类型):

byte:1个字节

short:2个字节

int:4个字节

long:8个字节 //定义的类型后面要加L

float:4个字节 //定义的类型后面要加F

double:8个字节(银行计算精确的值使用decimal)

char:2个字节 //字符

boolean:0个字节(true or false)

3.递归(自己调用自己)

4.数组

array和list 的区别:

list里的元素数据类型可以不一致,并且他们的值不能计算

x=[1,2,'x','y']

array是数组,他们的数据类型必须为同一类型,值可以进行计算

x[10]={1,2,3,4,5}

5.oop面向对象编程的本质:以类的方式组织代码,以对象的组织(封装)数据

面向对象编程 的三大特性:

封装、继承、多态

static是和类一起加载的,其他的方法是在类实例化之后才存在的

引用传递本质还是值的传递

类实例化之后会产生一个自己的对象

student对象就是Student类的具体实例

Student student=new Student();

构造方法:必须和类的名字相同,必须没有返回值,void也不行:无参构造(用来实例化初始值)

重点:使用new关键词,本质是在构造器!

有参构造:一旦定义了有参构造,无参构造必须显示定义

super的注意点:

super调用父类的构造方法,必须在子类构造方法的第一个

super必须只能出现在子类的方法或构造方法中

super和this不能同时调用构造方法

静态方法:方法的调用之和左边有关

非静态:重写

多态 是指方法的多态

static,private,final不可重写

extend是单继承,implement是可以多继承

异常:IO exception:EOF exception(文件已经结束了,但是还要进行读写就会报这个异常),file not found exception

process进程,thread线程

进程是一次执行的过程是动态的,一个进程里面可以包含多个线程

线程就是独立运行的,线程的开启不一定立即在执行,而是由我们的cpu执行调度

面向字符的输入流都是Reader的子类

计算机中数值以补码的方式存在。

递归的核心思想是分解

thread.sleep()方法中每个对象都有一把锁,sleep不会释放锁

高并发:(等待机制)线程同步:队列+锁syncronized(锁机制)

注解:可以被其他程序所读取

反射:反射得出的对象通过invoke方法来进行激活

反射要想访问我们类里的私有private属性,不能直接操作私有属性   需要关闭程序的安全检测,属性或者方法的使用setAccessable(true)就可以了,但是这样会降低程序的效率。

javascript:

json是一种轻量级的数据交换格式,简洁清晰层次结构,有效的提升网络传输的速率

js对象转为json字符串Json.stringify方法

反过来json字符串解析为JavaScript对象则使用Json.parse方法

BOM:浏览器对象模型

window浏览器的窗口

navigator封装了浏览器的信息

screen屏幕

location代表当前页面的url信息

document代表当前页面HTML DOM文档树,获取具体的文档树节点

DOM文档对象模型

操作dom节点要先获取dom节点

插入节点使用append追加

创建新的节点使用createElement

jQuery库存在着大量的JavaScript函数

数据库引擎MyIsam和innodb的区别

myisam节约空间速度较快,不支持事务但是支持全文索引

innodb安全性高,事务的处理,多表多用户操作

修改表的操作:修改表名alter table 旧表名 rename as 新表名

增加表的字段:alter table 表名 add id int(10)

修改表的字段:alter table 表名 modify id varchar(10)

字段重命名:alter table 表名 change id id1 int(1)

modify和change的区别

modify只能修改约束,change可以修改属性名和约束

删除表的字段:alter table 表名 drop id1

数据库备份:

直接物理文件拷贝

在可视化工具里进行导出

使用命令行导出MySQL dump

数据库三大范式

第一范式:原子性:保证每一列都不可再分

第二范式:满足第一范式的前提下,每个表只描述一件事情

第三范式:满足第二范式的前提下,确保数据表中的每一列数据都和主键直接相关,而不能间接相关

事务acid原则

开启事务:start transaction

原子性:要么都成功要么都失败

一致性:执行前后的总数保持不变

隔离性:多个事务互不干扰

持久性:事务提交之后被持久化到数据库当中去

隔离性的问题:

脏读:一个事务读取了另一个未提交的事务

不可重复读:在同一个事务中重复读表中的数据,表数据发生了改变

幻读:在一个事务内读取了别人插入的事务,导致前后读出的结果不一致

数据库连接池:dbcp,c3p0,druid

B/S浏览器和服务器:承载三高(高并发、高可用、高性能)问题所带来的影响

C/S客户端和服务器

web服务器:IIS,tomcat

web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,他代表了当前页面的web应用

重定向和转发的区别

相同点:页面都会进行跳转

不同点:转发的时候url不会发生变化

重定向时url地址栏会发生变化

jsp(Java server pages):pageContext.request.contextPath获取当前项目的路径

会话session:客户端请求服务端,服务端给客户端一个信件,下次访问带个信件来就行了(cookie)

服务器登记你来过了,下次你来的时候我匹配你(session)

可以把信息或者数据存在session中

cookie和session的区别

cookie是把用户的数据写给用户的浏览器,浏览器端保存(可以保存多个)

session是把用户的数据写到独占的session中,由服务器保存(只保存重要的信息,减少服务器资源的浪费)

session对象由服务器端创建

JavaBean一般用来和数据库字段做映射 ORM(对象关系映射)

mvc三层架构:model view controller

model:业务处理service,数据持久化dao

controller:接受用户的请求,交给业务层处理对应的代码,重定向转发

view:展示数据,提供连接发起servlet请求

filter:过滤器处理中文乱码,登录验证

resulttype:sql语句执行的返回值

parametertype:参数类型

缓存:存在内存中的临时数据

mybatis系统中默认定义两级缓存一级缓存和二级缓存

默认情况下只有一级缓存开启(SQL session级别的缓存也称作本地缓存),二级缓存需要手动开启,是基于namespace级别的缓存,为了提高拓展性,mybatis定义了缓存接口cache

一级缓存:一次回话查询同一样数据只需开启一次mysql

二级缓存:一级缓存在会话提交或者关闭之后,数据会被保存到二级缓存当中,新的会话查询就可以在耳机缓存中查询(实体类序列化,否则会报错)

spring就是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的开源免费框架

IOC控制反转:主动权交给客户,DI依赖注入原型是set注入,本质是一种思想,DI注入是ioc的一种实现方式

通过描述或者注解并通过第三方去产生或获取对象的方式

控制:使用spring之后对象由spring创建

反转:程序本身不创建对象,而变成被动接受对象

由spring来创建管理装配

ioc创建对象的方式:默认是采用无参构造

依赖注入:

构造器注入:

set注入:

依赖:bean对象的创建依赖于spring容器

注入:bean对象的所有属性,都通过容器来注入

在spring中有三种自动装配的方式:

1在XML中显示的配置

2在Java中显示配置

3隐式的自动装配

代理模式:AOP的底层

静态代理的角色分析:

抽象角色:一般会使用抽象类或者接口来实现

真实角色:被代理的角色

代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作

客户:访问代理对象的人

动态代理:动态代理的代理类是动态生成的,不是我们直接写好的

动态代理分为两大类:基于接口的动态代理,基于类的动态代理

一个动态代理类可以代理多个类,动态代理的底层是反射机制

aop面向切面编程

主要使用执行前执行后和增强环绕

Ajax

onblur失去焦点事件

Vue

v-bind绑定事件

v-model:双向绑定

组件slot插槽

this.$emit()方法用于组件内部绑定事件

用axios做异步通信

spring boot

jsr303校验,判断我们输入的合法与否

springboot 内置了servlet容器没有web.xml如果想配置直接@Bean

注册到容器中

spring security:认证、授权

swagger   api框架实时更新最新的api

分布式:由一组通过网络进行通信,完成共同任务而协调的计算机节点所组成的系统

提高机器利用率的资源调度和治理中心soa是关键

RPC协议核心:通讯,序列化

通讯:为了传输

序列化:数据传输需要转换

dubbo:rpc框架:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值