Java-技术专区-问题专区-应该了解的基础技术点
Java基础
- Arrays.sort实现原理和Collection实现原理
- foreach和while的区别(编译之后)
- 线程池的种类,区别和使用场景
- 分析线程池的实现原理和线程的调度过程
- 线程池如何调优
- 线程池的最大线程数目根据什么确定
- 动态代理的几种方式
- HashMap的并发问题
- 了解LinkedHashMap的应用吗
- 反射的原理,反射创建类实例的三种方式是什么?
- cloneable接口实现原理,浅拷贝or深拷贝
- Java NIO使用
- hashtable和hashmap的区别及实现原理,hashmap会问到数组索引,hash碰撞怎么解决
- arraylist和linkedlist区别及实现原理
- 反射中,Class.forName和ClassLoader区别
- String,Stringbuffer,StringBuilder的区别?
- 有没有可能2个不相等的对象有相同的hashcode
- 简述NIO的最佳实践,比如netty,mina
- TreeMap的实现原理
JVM相关
- 类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,他们的执行顺序
- JVM内存分代
- Java 8的内存分代改进
- JVM垃圾回收机制,何时触发MinorGC等操作
- jvm中一次完整的GC流程(从ygc到fgc)是怎样的,重点讲讲对象如何晋升到老年代,几种主要的jvm参数等
- 你知道哪几种垃圾收集器,各自的优缺点,重点讲下cms,g1
- 新生代和老生代的内存回收策略
- Eden和Survivor的比例分配等
- 深入分析了Classloader,双亲委派机制
- JVM的编译优化
- 对Java内存模型的理解,以及其在并发中的应用
- 指令重排序,内存栅栏等
- OOM错误,stackoverflow错误,permgen space错误
- JVM常用参数
- tomcat结构,类加载器流程
- volatile的语义,它修饰的变量一定线程安全吗
- g1和cms区别,吞吐量优先和响应优先的垃圾收集器选择
- 说一说你对环境变量classpath的理解?如果一个类不在classpath下,为什么会抛出ClassNotFoundException异常,如果在不改变这个类路径的前期下,怎样才能正确加载这个类?
- 说一下强引用、软引用、弱引用、虚引用以及他们之间和gc的关系
JUC/并发相关
- ThreadLocal用过么,原理是什么,用的时候要注意什么
- Synchronized和Lock的区别
- synchronized 的原理,什么是自旋锁,偏向锁,轻量级锁,什么叫可重入锁,什么叫公平锁和非公平锁
- concurrenthashmap具体实现及其原理,jdk8下的改版
- 用过哪些原子类,他们的参数以及原理是什么
- cas是什么,他会产生什么问题(ABA问题的解决,如加入修改次数、版本号)
- 如果让你实现一个并发安全的链表,你会怎么做
- 简述ConcurrentLinkedQueue和LinkedBlockingQueue的用处和不同之处
- 简述AQS的实现原理
- countdowlatch和cyclicbarrier的用法,以及相互之间的差别?
- concurrent包中使用过哪些类?分别说说使用在什么场景?为什么要使用?
- LockSupport工具
- Condition接口及其实现原理
- Fork/Join框架的理解
- jdk8的parallelStream的理解
- 分段锁的原理,锁力度减小的思考
Spring
- Spring AOP与IOC的实现原理
- Spring的beanFactory和factoryBean的区别
- 为什么CGlib方式可以对接口实现代理?
- RMI与代理模式
- Spring的事务隔离级别,实现原理
- 对Spring的理解,非单例注入的原理?它的生命周期?循环注入的原理,aop的实现原理,说说aop中的几个术语,它们是怎么相互工作的?
- Mybatis的底层实现原理
- MVC框架原理,他们都是怎么做url路由的
- spring boot特性,优势,适用场景等
- quartz和timer对比
- spring的controller是单例还是多例,怎么保证并发的安全
分布式相关
- Dubbo的底层实现原理和机制
- 描述一个服务从发布到被消费的详细过程
- 分布式系统怎么做服务治理
- 接口的幂等性的概念
- 消息中间件如何解决消息丢失问题
- Dubbo的服务请求失败怎么处理
- 重连机制会不会造成错误
- 对分布式事务的理解
- 如何实现负载均衡,有哪些算法可以实现?
- Zookeeper的用途,选举的原理是什么?
- 数据的垂直拆分水平拆分。
- zookeeper原理和适用场景
- zookeeper watch机制
- redis/zk节点宕机如何处理
- 分布式集群下如何做到唯一序列号
- 如何做一个分布式锁
- 用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗
- MQ系统的数据如何保证不丢失
- 列举出你能想到的数据库分库分表策略;分库分表后,如何解决全表查询的问题。
算法&数据结构&设计模式
- 海量url去重类问题(布隆过滤器)
- 数组和链表数据结构描述,各自的时间复杂度
- 二叉树遍历
- 快速排序
- BTree相关的操作
- 在工作中遇到过哪些设计模式,是如何应用的
- hash算法的有哪几种,优缺点,使用场景
- 什么是一致性hash
- paxos算法
- 在装饰器模式和代理模式之间,你如何抉择,请结合自身实际情况聊聊
- 代码重构的步骤和原因,如果理解重构到模式?
数据库
- MySQL InnoDB存储的文件结构
- 索引树是如何维护的?
- 数据库自增主键可能的问题
- MySQL的几种优化
- mysql索引为什么使用B+树
- 数据库锁表的相关处理
- 索引失效场景
- 高并发下如何做到安全的修改同一行数据,乐观锁和悲观锁是什么,INNODB的行级锁有哪2种,解释其含义
- 数据库会死锁吗,举一个死锁的例子,mysql怎么解决死锁
Redis&缓存相关
Redis的并发竞争问题如何解决了解Redis事务的CAS操作吗
缓存机器增删如何对系统影响最小,一致性哈希的实现
Redis持久化的几种方式,优缺点是什么,怎么实现的
Redis的缓存失效策略
缓存穿透的解决办法
redis集群,高可用,原理
mySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据
用Redis和任意语言实现一段恶意登录保护的代码,限制1小时内每用户Id最多只能登录5次
redis的数据淘汰策略
网络相关
http1.0和http1.1有什么区别
TCP/IP协议
TCP三次握手和四次挥手的流程,为什么断开连接要4次,如果握手只有两次,会出现什么
TIME_WAIT和CLOSE_WAIT的区别
说说你知道的几种HTTP响应码
当你用浏览器打开一个链接的时候,计算机做了哪些工作步骤
TCP/IP如何保证可靠性,数据包有哪些数据组成
长连接与短连接
Http请求get和post的区别以及数据包格式
简述tcp建立连接3次握手,和断开连接4次握手的过程;关闭连接时,出现TIMEWAIT过多是由什么原因引起,是出现在主动断开方还是被动断开方。
其他
maven解决依赖冲突,快照版和发行版的区别
Linux下IO模型有几种,各自的含义是什么
实际场景问题,海量登录日志如何排序和处理SQL操作,主要是索引和聚合函数的应用
实际场景问题解决,典型的TOP K问题
线上bug处理流程
如何从线上日志发现问题
linux利用哪些命令,查找哪里出了问题(例如io密集任务,cpu过度)
场景问题,有一个第三方接口,有很多个线程去调用获取数据,现在规定每秒钟最多有10个线程同时调用它,如何做到。
用三个线程按顺序循环打印abc三个字母,比如abcabcabc。
常见的缓存策略有哪些,你们项目中用到了什么缓存系统,如何设计的
设计一个秒杀系统,30分钟没付款就自动关闭交易(并发会很高)
请列出你所了解的性能测试工具
后台系统怎么防止请求重复提交?
Java-技术专区-问题专区-应该了解的基础技术点的更多相关文章
- Docker 基础技术之 Linux cgroups 详解
PS:欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. 推荐大家到公众号阅读,那里阅读体验更好,也沉淀了很多篇干货. 前面两篇 ...
- JAVA中浅复制与深复制 - coolmist - ITeye技术网站
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- Java开源生鲜电商平台-系统架构与技术选型(源码可下载)
Java开源生鲜电商平台-系统架构与技术选型(源码可下载) 1. 硬件环境 公司服务器 2. 软件环境 2.1 操作系统 Linux CentOS 6.8系列 2.2 反向代理/web服务器 ...
- Java和.NET(C#)的开发用到的技术对比总结
前言 声明:我指的是一般的Java和.NET(C#)的后台开发用到的技术总结 最近一直在应聘ing,楼主的项目还是.NET(C#)项目居多,Java项目相对少,在这也吐槽下,招.NET(C#)的公司实 ...
- Java笔记(十二) 文件基础技术
文件基础技术 一.文件概述 一)基本概念 1.文件的分类: 1)文本文件:文件中每个二进制字节都是某个可打印字符的一部分.如.java文件 2)二进制文件:文件中每个二进制字节不一定用来表示字符,也可 ...
- Java基础-Java中的并法库之线程池技术
Java基础-Java中的并法库之线程池技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是线程池技术 二.
- Java第三阶段学习(十三、会话技术、Cookie技术与Session技术)
一.会话技术 1. 存储客户端状态 会话技术是帮助服务器记住客户端状态(区分客户端)的. 2. 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话.会话技术就是记录这 ...
- Java 进阶7 并行优化 JDK多任务执行框架技术
Java 进阶7 并行优化 JDK多任务执行框架技术 20131114 Java 语言本身就是支持多线程机制的,他提供了 Thread 类 Runnable 接口等简单的多线程支持工 ...
- Java工程师学习指南第2部分:JavaWeb技术世界
本文整理了微信公众号[Java技术江湖]发表和转载过的Java Web优质文章,想看到更多Java技术文章,就赶紧关注吧. IDEA中的Maven实战 老师,免费版的IDEA为啥不能使用Tomcat? ...
- Java中AWT、Swing与SWT三大GUI技术的原理与效率差异
Java中AWT.Swing与SWT三大GUI技术的原理与效率差异 转 https://blog.csdn.net/weixin_37703598/article/details/81843810 ...
随机推荐
- javaIO流(二)--字节流与字符流
一.流的基本概念 在java.io包中,File类是唯一一个与文件本身有关的程序处理类,但是File类只能操作文件本身,而不能操作文件内容,IO操作的核心意义在于输入和输出操作.而对于程序而言,输入和 ...
- Apache Shiro 会话+缓存+记住我(三)
1.会话管理SessionDao和SessionManager 1)安装Redis 2)依赖 <dependency> <groupId>redis.clients</g ...
- 构建一个简单的Spring Boot项目
11 构建一个简单的Spring Boot项目 这个章节描述如何通过Spring Boot构建一个"Hello Word"web应用,侧重介绍Spring Boot的一些重要功能. ...
- luoguP1084 疫情控制(题解)(搜索+贪心)
luoguP1084 疫情控制 题目 #include<iostream> #include<cstdlib> #include<cstdio> #include& ...
- Nacos-服务注册地址为内网IP的解决办法
最近在使用Spring Cloud Alibaba这一套微服务解决方案,但是在服务注册的时候,网关死活找不到微服务地址,自己的微服务通过网关怎么也访问不到. 查找原因 仔细一查才发现,网关去访问了一个 ...
- mybatis默认的数据源连接池(PooledDataSource和UnPooledDataSource)
一般情况下我们操作数据库都是通过connection,但是频繁创建和删除connection会严重影响效率,因此在这种情况下我们一般会用到连接池,因为项目中用到的是mybatis,所以了解一下myba ...
- 43.Word Break(看字符串是否由词典中的单词组成)
Level: Medium 题目描述: Given a non-empty string s and a dictionary wordDict containing a list of non- ...
- Hadoop本地环境安装
一.服务器环境 本人用的是阿里云的ECS的入门机器,配置1核2G,1M带宽,搭了个Hadoop单机环境,供参考 Linux发行版本:Centos7 JDK:阿里云镜像市场中选择JDK8 二.安装步骤 ...
- 阿里云Linux(Centos7)下搭建SVN服务器
1,使用yum安装SVN yum -y install subversion 安装完成之后,验证安装结果 svn help 2,新建仓库目录 在/usr/soft目录下面创建一个svn目录,用来作为s ...
- 版本控制系统之SVN和GIT的区别
版本控制器的作用: 1. 可以协同代码管理,让多人开发代码得以实现. 2. 回归到以前的任何一个时间点的代码处(好比:开始写了很多代码,后面有修改了一些,突然IDE崩溃,但是发现还是以前的代码更好,这 ...