答案基本都是错的
底层是用Lucene实现的,要配置到库里面
可以
一般都是调用接口
适用高并发,消峰
有缓存功能,如数据库宕机可以保留
用户缓存
内存,放磁盘太慢,商城一般是用集群
Run-boot,单表不用写sql,多表还是要手写
springCloud核心-eureka ribbon feign hystrix zuul
通俗的将就是用户有很多模块,不可能让用户每个模块都登录,所以就用sso单点登录,用户登录一次可以访问不同的模块
它有两大核心 ioc控制翻转,对象交给spring管理,管理生命周期,有内置的工厂,通过函数拿到他的类,set/get注入,注解注入, aop切面编程,在源代码不变的情况下进行一些扩展功能,spring的最大好处是可以继承很多别的框架
分布式一般都是有集群的,都可以实现集群,有一个eurekaz注册中心每30秒在eureka中心拉取心跳数据,看有没有宕机,如果3次之后没回应,就不再向他发数据了
了解过
如果稳定下来后会搬到这边住
通过接口,具体不是太懂
全文搜索的底层是luncen实现的,底层是用配置的
给予spring框架,把配置开箱即用,让程序员更专注于业务方面,不用再做烦琐的配置,官网也是这样写的,一般都是用注解的形式,把xml文件都省略了
Spring-aop 里面也用的是代理模式 aop实现拓展功能底层就是用jdk的代理模式,还有cglib也是代理模式,jdk的代理模式多一些
动态代理一般都是jdk,cglib用的比较少
浏览商品 要买一个产品 加入购物车 跳转页面 登录 验证用户名 买单
一般分布式,看一是用dubbo还是spring-cloud,spring-cloud是提供一整套的分布式,解决各方面的问题,dubbo 是远程调用,百万级必须要做集群才可以 想淘宝双十一,他是先把商品放在缓存里面直接在缓存里查询,如果没有再查数据库
Conntroller service RequestMapping responsebody pestmapping getmapping
Ioc aop
破解注入 构造注入 注解注入 静态工厂注入
arraylist是数组结构查询快速 linkedlist是链表结构 增删快
Arraylist是数组,数组是用下标查询比较快,链表是两端操作 增删改快
二级缓存,
Session是以及缓存,Map是二级缓存,
一个SQL的执行,要么成功,要么失败,他有四大特性 原子性 隔离性 一致性 持久性
唯一索引,非空索引,普通索引,聚合索引,主键索引
跟磁盘对应的,每隔一段时间持久化一次,
Daoqment
Springboot-applocatsion springboot-config
没用过
一般是调用第三方接口,比如支付宝或者微信
Sring list set hash sorted set
Javaee
Mysql
Redis
Spring
Mybatis
SpringMVC
Mybatis-plus
Shiro
Spring-boot
Rabbitmq
Docker
Tomcat
Nginx
Apache
Eclipse
Sts
powerDesigner
Xshell
Sqlyog
Github
Gitee
Dubbo
Springcloud
Html
Css
Javascript ajax
jQuery
easyUI
Hadoop
Flume
Hive
Storm
传参到缓存,尽量减少中间的计算量,和循环,可以做打印,为零的时候
不用做计算,参数循环量不能太大,列表太大时分线程做,
1.消息持久化
2.ACK确认机制
3.设置集群镜像模式
1.消息补偿机制
String
Hash
List
Set
1、热点数据的缓存
2、限时业务的运用
3、计数器相关问题
4、排行榜相关问题
5、分布式锁
6、延时操作
7、分页、模糊搜索
8、点赞、好友等相互关系的存储
9、队列
单例模式,工厂模式,代理模式,
统一版本
排除加载
分布式事务、分布式锁、分布式session、数据一致性等都是现在分布式系统中需要解决的难题
自增 id、UUID、获取系统当前时间
hashCode的存在主要是用于查找的快捷性
空指针异常,指定类不存在,数组下标越界,文件未找到,方法未找到,输入输出异常
String是字符串常量
StringBuilder是线程不安全的,但是执行速度快
StringBuffer是线程安全的,但是执行速度慢
将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。
面向切面编程(AOP)完善spring的依赖注入(DI),面向切面编程在spring中主要表现为两个方面
1.面向切面编程提供声明式事务管理
2.spring支持用户自定义的切面
面向切面编程(aop)是对面向对象编程(oop)的补充,
没有,
有TreeMap和LinkedHashMap
在表中适当的建立索引
尽量不使用select *
尽量不使用两边都是%的like语句
尽量不使用in 和not in-会造成全表扫描
尽量不使用or-会造成全表扫描
尽量不在where语句中使用表达式
尽量不在where语句中进行null值判断
SQL的隔离级别
读已提交
读未提交
不可重复读
串行化
group by 和limit
单例模式,工厂模式,
注解注入
构造方法注入
Setter
使用or或者是in 和not in
eureka ribbon feign hystrix zuul
单点登录,购物车,评论系统
那个我只负责了文字部分 用户购买之后的评论
Spring Spring MVC My Batis 等框架的执行流程
Jvm调优
Mysql 索引
消息队列
Springboot
Springcloud
设计模式
项目逻辑
Redis
Linux命令
Svn和Git的区别
消息中间件
全文检索
Get | Post | |
---|---|---|
url可见性 | 参数url可见 | url参数不可见 |
数据传输上 | 通过拼接url进行传递参数 | 通过body体传输参数 |
缓存性 | 请求是可以缓存的 | 请求不可以缓存 |
后退页面的反应 | 请求页面后退时,不产生影响 | 请求页面后退时,会重新提交请求 |
传输数据的大小 | 一般传输数据大小不超过2k-4k | 请求传输数据的大小根据php.ini 配置文件设定,也可以无限大 |
安全性 | 不安全 | 安全 |
– | – | – |
Public static void main (String[] args) {
Integer a = 100;
Integer b = 100;
System.out.println(a == b);
Integer a = 200;
Integer b = 200;
System.out.println(a == b);
}
回答:
T/F
Integer类型的范围是-128~127
List list = new ArrayList<>(Arrays.asList("a","b","c","d","e","f"));
for (String s : list) {
if(s.equals("a")) {
System.out.println(s);
list.remove(s);
}
}
}
public static void main(String[] args) {
List list = new ArrayList<>(Arrays.asList("a","b","c","d","e","f"));
Iterator ite = list.iterator();
while(ite.hasNext()) {
String s = ite.next();
System.out.println(s);
ite.remove();
}
}
第一个出现异常,同时修改异常
第二个正常运行,输出a b c d e f
Service是把已有的服务发布成dubbo服务
Reference是引用外部的服务生成可以使用service服务
序列化、禁止序列化
Resulttype数据库,实体类,查询字段都要一致才能查询
Resultmap 定义一个resultmap对列名和实体类之间做一个映射
HashMap用于插入、删除数据用的
TreeMap用于按顺序遍历的时候用
LinkHashMap用于确保输入的顺序与输出的顺序相同的时候用
1
2
public static int jc(int m){ return 0==m ? 1 : m*jc(--m); }
4
原子性,一致性,隔离性,持久性
同样都是记录时间的,不同的是,datatime能记录到9999年,timesamp只能记录到2038年,但可以自动更新时区
通过不断缩小范围从而得到最终的结果,索引过多会导致更新和插入速度变慢
@service @controller @repository
无效的绑定语句(未找到) 一般是拼写错误,或dao层的方法与mapper.xml不一样
不能,抽象类是用来继承的,final表示不可继承