java基础知识点学习
基础学习总结
1、锁sync/lock都有哪些方法,底层实现 synchronized ['sɪŋkrənaɪzd]
2、线程池的参数、线程池执行的流程,当到达线程池到达最大数,队列也满了,出现的异常
3、写一个主线程等待两个子线程执行完成,在往下执行逻辑
答案:
1、可以使用thred.jion()方法进行判断该行程执行完没有了,
2、使用CountDownLatch定义该线程数,每一个线程执行完成调用一下countDown()让CountDownLatch数量减一,最后使用await()方法,如果等于0往下执行,不等于0休眠
3、使用CyclicBarrier类,对每一个线程调用await()方法,所有线程执行完成一起返回一个状态,而CountDownLatch每个线程执行完成就返回该线程的状态
参考链接:https://blog.csdn.net/u011277123/article/details/54015755
4、自己写一个阻塞队列
5、jvm如何判断一个对象是否有效的方式
6、jvm垃圾回收机制
7、大量创建对象如何进行优化
8、目前jdk8的垃圾回收机制
9、说一些jvm我们常用的调优参数
10、arrayList 底层实现,以及扩容原理
11、hashmap 底层与实现原理
12、对list集合中的实体进行排序
13、collections.sort()的集合底层排序算法实现
14、arrays.sort()的数组底层排序实现
15、comparable与comparator他们的区别
16、spring 中的ioc与aop
17、spring ioc如何把对象注解到容器中
18、类的作用域
19、aop通过什么使方法增强,底层如果实现的前置后置通知
20、mysql索引
21、画一下name与age他们的索引图
22、介绍一下索引优化
23、like后边的条件索引是否都无效
24、redis数据结构,5.0增加了什么特性
25、redis是什么存储结构
26、redis如何做数据的持久化,他们分别有什么区别
27、redis主从复制过程
28、在rdb复制过程中产生新的数据,如果复制到从的缓存中
29、redis如何做集群,在现有的集群中如何添加一台机器,连接一台集群,查询的数据不在连接的集群上边,底层如何实现返回结果
三面没有录音只能回忆部分
30、如果对亿级别的ip数据进行汇拢统计,查出访问前十的ip地址
31、参加过项目的设计模式吗?
32、主要问的就是项目的开发流程
33、elk搭建干什么用
34、es每天大约有多少日志文件产生,对es的数据多久删除一次,对数据建立几个索引
35、redis的底层实现,底层存储,如何进行查询、添加数据
36、红黑二叉树与跳表的区别
37、算法是否了解,讲一下你们视频推荐如何实现的算法
四面
画一个熟悉项目的设计模式
对员工工资还有明细设计一个数据库表
聊一些其它的发展和底层
五面
1、ThreadLocal使用
当使用ThreadLocal维护变量的时候 为每一个使用该变量的线程提供一个独立的变量副本,是线程的局部变量,为每一个线程所单独持有的,
其他线程不能对其进行访问(因为每个线程都创建一个副本,所以要考虑到它对资源的消耗,防止出现内存溢出的情况)
2、对集合进行排序
collections.sort(list,compparable)
3、map集合,treemap与hashMap区别,treeMap如何对对象进行排序
4、static关键词有什么用处
静态成员变量,静态成员方法、静态代码块(在类初始化加载一次),static一个很重要的用途就是实现单例设计模式
5、反射机制,写一个实例中的所有方法和字段
Mirror<?> sourceMirror = Mirror.me(source);
Field[] sourceFds = sourceMirror.getFields();
int var7 = sourceFds.length;
for(int var8 = 0; var8 < var7; ++var8) {
Field sourceFd = sourceFds [var8];
String fieldName = sourceFd.getName();
}
6、写一个单例,直接new一个test是否可以new出来,(需要写一个重构方法)
class Singleton{
private static Singleton instance=null;
private Singleton(){}
public static Singleton getInstance(){
if(instance==null){
instance=new Singleton();
}
return instance;
}
}
7、多一张表中多个字段重复完全重复的记录查询出来
select a,b,c,count(*) num from x group by a,b,c having num>1
8、100个人100个房间,最开始100个房间门关闭的,每个人都轮流经过这100个房间,是他的倍数,就改变门的状态,问最后有几个门是开着的
主要是考察的该房间数下边被除数的个数是奇数还是偶数,这样理解问题就简单很多了
java基础知识点学习的更多相关文章
- Java核心知识点学习----多线程中的阻塞队列,ArrayBlockingQueue介绍
1.什么是阻塞队列? 所谓队列,遵循的是先进先出原则(FIFO),阻塞队列,即是数据共享时,A在写数据时,B想读同一数据,那么就将发生阻塞了. 看一下线程的四种状态,首先是新创建一个线程,然后,通过s ...
- Java基础知识点总结
前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其 ...
- JAVA基础知识点总结(全集)
1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...
- Java基础知识学习(九)
GUI开发 先前用Java编写GUI程序,是使用抽象窗口工具包AWT(Abstract Window Toolkit).现在多用Swing.Swing可以看作是AWT的改良版,而不是代替AWT,是对A ...
- Java核心知识点学习----使用Condition控制线程通信
一.需求 实现线程间的通信,主线程循环3次后,子线程2循环2次,子线程3循环3次,然后主线程接着循环3次,如此循环3次. 即:A->B->C---A->B->C---A-> ...
- Java核心知识点学习----线程中如何创建锁和使用锁 Lock,设计一个缓存系统
理论知识很枯燥,但这些都是基本功,学完可能会忘,但等用的时候,会发觉之前的学习是非常有意义的,学习线程就是这样子的. 1.如何创建锁? Lock lock = new ReentrantLock(); ...
- Java基础知识点(四)
前言:记录Java基础知识点,方便熟悉与掌握. 1.面向对象的"六原则一法则" “六原则一法则”:单一职责原则.开闭原则.依赖倒转原则.里氏替换原则.接口隔离原则.合成聚合复用原则 ...
- Java基础知识点(三)
前言:准备将Java基础知识点总结成一个系列,用于平常复习并加深理解.每篇尽量做到短小精悍,便于阅读. 1.Math类中相关函数 Math.floor(x):返回不大于x的最大整数.eg:Math.f ...
- Java基础知识点(二)
前言:Java的基础知识点不能间断. 1.Array和ArrayList的区别 关于Array的用法,参看:http://blog.csdn.net/b_11111/article/details/5 ...
随机推荐
- flask重要点
django与flask的区别 django: 大而全的框架,包含了很多组件,例如:ORM.form.ModelForm.session... flask: 轻量级的可扩展强的框架.有丰富的第三方组件 ...
- 千行代码入门Python
这个是从网上找到的一份快速入门python的极简教程,大概一千行左右,个人觉得不错,特此收藏以备后用. # _*_ coding: utf-8 _*_ """类型和运算- ...
- SpringDataJpa开发环境的搭建以及使用
一.所需工具 安装jdk.IntelliJ IDEA和mysql数据库. 二.SpringDataJpa快速起步 开发环境的搭建: ①.在IDEA软件上添加依赖包:在http://mvnreposit ...
- vue解决启动报错cjs loader.js Error: Cannot find module '../config'问题
vue解决启动报错cjs loader.js Error: Cannot find module '../config'问题 今天下载了一个开源项目一直运行不了,折腾了半天才找到问题所在,config ...
- 谷歌技术"三宝"之BigTable
转自:https://blog.csdn.net/OpenNaive/article/details/7532589 2006年的OSDI有两篇google的论文,分别是BigTable和Chubby ...
- HBase运维实践-聊聊RIT的那点事
相信长时间运维HBase集群的童鞋肯定都会对RIT(Region-In-Transition,很多参考资料误解为Region-In-Transaction,需要注意)有一种咬牙切齿的痛恨感,一旦Reg ...
- .NET 实用扩展方法
.NET 实用扩展方法(持续更新...) 1. 字符串转换为可空数值类型(int, long, float...类似) /// <summary> /// 将字符串转换成32位整数,转换失 ...
- shiro 分布式缓存用户信息
很多分布式缓存登录用户信息一般都是存在redis类似的缓存里面.其中实现细节或者拆分都是大同小异. 一般用户登录权限管理都用shiro处理. 如果仔细分应该就是一下3种. 1,有一个单独的用户权限管理 ...
- Learning-MySQL【4】:表的操作管理和 MySQL 的约束控制
一.表的操作 1.表的基本概念 数据库与表之间的关系:数据库是由各种数据表组成的,数据表是数据库中最重要的对象,用来存储和操作数据的逻辑结构. 表由列和行组成,列是表数据的描述,行是表数据的实例. 表 ...
- [转载]Linux 16进制查看命令、工具
转自:https://blog.csdn.net/chenglian_999/article/details/4672177 2009年10月14日 21:45:00 chenglian_999 阅读 ...