JAVA+Web知识点(二)

文章目录

java基础

JVM

jvm运行时内存分布

GC原理

垃圾回收的算法有哪些

内存溢出的情况

类加载机制


OOP

封装、继承、多态、抽象

抽象类与接口的区别

重载与重写的区别

反射

如何判断一个对象是否是某个类或者是它的子类的一个实例

反射为啥效率低

如何优化反射

如何理解面向对象

匿名对象原理

自动装箱、拆箱原理

重写equals为何要重写hashcode

Java语言特性

JDK8的特性

lambda表达式原理

Java常用关键字

Jdk的高级特性(参考核心卷2)

如何写出高质量的java代码,需要注意什么

编码规范

Java中final、finally、finalize的区别与用法

==与equals 区别

简单描述一下java中有哪些修饰符,以及不写时的区别

java中所有的基本数据类型,各占多少字节,int跟integer有什么区别


数据结构与算法

数组如何去重

冒泡排序、快速排序


集合

hashMap源码,存储原理

Hashmap原理,底层是什么数据结构

Hashmap与hashtable有啥区别

Hashtable为啥是同步的,Hashmap为啥是异步的

谈hashmap 以及其与hashtable,currenthashmap区别

ConcurrentHashMap原理,为什么能进一步提高并发

ArrayList是线程安全的吗

双向链表的数据结构工作原理

ArrayList,linklist,Hashmap底层原理


IO

String与stringbuffer,stringbuild用法区别

如何做一个excel导入导出

文件上传下载

String可以继承吗

String s=new String(“xyz”)究竟创建了几个String 对象


并发编程

线程池的原理

同步与异步的区别?如何使用

多线程的应用

线程池的配置

线程池内存队列

如何用jsate ,jmap查看dump使用情况,内存使用

Java同步锁——lock与synchronized区别

Java中Volatile关键字理解

多线程中wait(),sleep(),run(),start(),notify区别

线程优先级

线程安全问题

线程池的种类,特点


网络编程

Http协议三次握手是如何握手的

Http协议消息头有哪些

Http协议请求的标识

Http协议怎么用

http原理,http1.0,http2.0,http3.0有啥区别

HTTP与HTTPS的区别

socket

http协议、TCP/IP协议、AMQP协议


设计原则、设计模式

设计原则

单例与多例的区别

什么是单利模式、什么是多例模式


Web

前端三大框架

Vue

Angular

React


安全

权限管理

Sql注入

敏感信息泄漏

文件下载

文件上传

垂直越权

水平越权

Xss攻击

CSRF

访问权限控制

用户登陆认证

数字签名

安全随机数

加密

路径操作问题

System out输出日志

Cookie窜改


其他

Ajax机制

Ajax如何跨域

Ajax异步请求如何知道请求成功了

Get请求与post请求的区别

json是什么,json原理

session失效的情况,怎么解决

Jsp有哪些域,怎么用

Session共享

Jquery选择器的层级顺序

跨域

Cookie与session

Js闭包问题


数据库

mysql底层索引原理

索引失效

Mysql的索引存在哪里

如何建立索引?索引的顺序如何?

mysql组合索引与字段顺序

如何优化索引

jpa

数据库设计规范

分库分表

分布式存储

数据库的如何排查死锁

mysql常见关键字

内连接与外连接的区别

数据库表的设计

sql优化

存储过程

触发器

Sql的执行顺序

数据库中如何找到重复的记录

什么情况下用索引

如何分库分表

如何跨库查询

菜单栏一级二级三级,如何设计数据库

如何设计角色、权限

模糊查询如何优化

SQL执行计划分析

视图如何传变量

如何优化limit分页数据量大的情况

Mysql事物的隔离有几种级别

死锁的原因,如何排查,如何解决

Mysql,通过show engin innordb state查看死锁日志,关键字waiting

数据库连接池

如何封装jdbc

Mysql有哪些存储引擎

那个存储引擎可以不支持事务

数据库建模

权限表设计

存储过程传参

聚合函数

分区表

数据仓库


Linux

常用命令

java如何调脚本

单体如何部署、maven如何部署、Docker如何部署

chomd 权限的配置分别代表什么意思

在linux中如何启动tomcat用什么命令

maven的常用命令

shell脚本的变量怎么传


架构


源码

springIOC源码
springAOP源码
springMVC源码
springboot源码
tomcat源码
mybaits源码


Spring

Spring bean的生命周期
Spring 事物怎么配
Spring事务与mysql事务
Spring中@Controller和@RestController之间的区别
Spring注解@Component、@Repository、@Service、@Controller区别
Spring boot 注解有哪些
Spring mvc的注解有哪些
SpringMVC理解
Springmvc视图解析器有哪些
Spring分布式事物
springIOC与依赖注入
Sping AOP源码
Spring bean的生命周期
Spring动态代理有两种机制,分别是哪两种
Aop如何实现日志,监控,权限


Spring boot

springboot原理
springboot是如何取消web.xml?
springboot是如何内置tomcat的?

Spring cloud

Eureka原理是什么?为什么要用?怎么用?
Ribbon原理是什么?为什么要用?怎么用?
Hystrix原理是什么?为什么要用?怎么用?
Feign原理是什么?为什么要用?怎么用?
Zuul原理是什么?为什么要用?怎么用?
Config原理是什么?为什么要用?怎么用?
Stream原理是什么?为什么要用?怎么用?
Bus原理是什么?为什么要用?怎么用?
Sleuth原理是什么?为什么要用?怎么用?


Dubbo

Dubbox是什么?架构原理
Dubbo主要提供哪三大核心功能
Dubbo是如何实现RPC调用的
Dubbo是如何实现负载均衡的
Dubbo是如何实现服务注册与发现的?
Dubbo就是SOA服务治理方案的核心框架,什么是SOA


消息中间件

RabbitMQ
MQ如何优化
Mq如何实现同步异步
Zookeeper
kafka


缓存

Redis使用方案
redis集群架构
Redis中字符串类型的Value最多可以容纳的数据长度是多少
为什要用mybatis
SSM每一层是干嘛的
Hibernate
Hibernate懒加载
Hibernate与MyBatis对比
Mybatis缓存怎么用,hibrate缓存怎么用
如何从数据库层面解决并发问题
阿里如何解决分布式事务
分布式缓存
为啥hibrate缓存比mybatis好


分布式高并发

分布式、高并发、高负载、高可用系统架构
搜索、异步框架、集群与负载均衡
如何做一个搜索
单点登录
如何考虑设计一个软件
如何实现一次抢购活动,秒杀系统
谈谈项目优化
报表的框架
如何调用支付宝或微信借口实现支付业务
分布式事务
读写分离


性能调优

JVM调优

tomcat调优

数据库调优

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值