基础学习总结

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基础知识点学习的更多相关文章

  1. Java核心知识点学习----多线程中的阻塞队列,ArrayBlockingQueue介绍

    1.什么是阻塞队列? 所谓队列,遵循的是先进先出原则(FIFO),阻塞队列,即是数据共享时,A在写数据时,B想读同一数据,那么就将发生阻塞了. 看一下线程的四种状态,首先是新创建一个线程,然后,通过s ...

  2. Java基础知识点总结

    前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其 ...

  3. JAVA基础知识点总结(全集)

    1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...

  4. Java基础知识学习(九)

    GUI开发 先前用Java编写GUI程序,是使用抽象窗口工具包AWT(Abstract Window Toolkit).现在多用Swing.Swing可以看作是AWT的改良版,而不是代替AWT,是对A ...

  5. Java核心知识点学习----使用Condition控制线程通信

    一.需求 实现线程间的通信,主线程循环3次后,子线程2循环2次,子线程3循环3次,然后主线程接着循环3次,如此循环3次. 即:A->B->C---A->B->C---A-> ...

  6. Java核心知识点学习----线程中如何创建锁和使用锁 Lock,设计一个缓存系统

    理论知识很枯燥,但这些都是基本功,学完可能会忘,但等用的时候,会发觉之前的学习是非常有意义的,学习线程就是这样子的. 1.如何创建锁? Lock lock = new ReentrantLock(); ...

  7. Java基础知识点(四)

    前言:记录Java基础知识点,方便熟悉与掌握. 1.面向对象的"六原则一法则" “六原则一法则”:单一职责原则.开闭原则.依赖倒转原则.里氏替换原则.接口隔离原则.合成聚合复用原则 ...

  8. Java基础知识点(三)

    前言:准备将Java基础知识点总结成一个系列,用于平常复习并加深理解.每篇尽量做到短小精悍,便于阅读. 1.Math类中相关函数 Math.floor(x):返回不大于x的最大整数.eg:Math.f ...

  9. Java基础知识点(二)

    前言:Java的基础知识点不能间断. 1.Array和ArrayList的区别 关于Array的用法,参看:http://blog.csdn.net/b_11111/article/details/5 ...

随机推荐

  1. 前端学习历程--localstroge

    一. localstorage的特性 1.需要ie8+ 2.浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换 3.local ...

  2. CentOS7+Apache+MySQL+PHP环境

    Apache 1.安装Apache:yum -y install httpd 2.开启apache服务:systemctl start httpd.service 3.设置apache服务开机启动:s ...

  3. centos crash debug

    https://www.dedoimedo.com/computers/crash.html#mozTocId484074 http://people.redhat.com/anderson/cras ...

  4. Django框架---- 信号

    Django中的信号及其用法 Django中提供了"信号调度",用于在框架执行操作时解耦. 一些动作发生的时候,系统会根据信号定义的函数执行相应的操作 Django中内置的sign ...

  5. 【python】python嵌套循环内层循环只执行一次

    今天写了一个两个基因集找相同的基因然后输出这么个小程序就无论如何也跑不起来,原因出在循环嵌套上,这方面之前就出过问题,后来阴差阳错的就好了我也没太注意,但是最近这个问题严重制约了工作效率,我决心找到问 ...

  6. flutter popup

    card ? Overlay https://docs.flutter.io/flutter/widgets/Overlay-class.html pending....

  7. Python 用户交互程序Input

    1.用户交互,用户输入 用户输出命令是input. 设置一个变量并输出. name = input("name:") print(name) 注:python2 下 raw_inp ...

  8. Python socket ssh接收大数据

    通过socket连续接收返回数据 Server服务端 import socket,os server = socket.socket() server.bind(('localhost',9999)) ...

  9. miui获取完整root

    1.先解锁BL锁 需要在miui官网申请,下载相关软件,申请后下载软件,提示需要过xx小时才能解锁(我是72小时) 2.解开BL锁后,在系统设置里开启root权限 3.开启root权限后,发现/sys ...

  10. 开源列式存储引擎Parquet和ORC

    转载自董的博客 相比传统的行式存储引擎,列式存储引擎具有更高的压缩比,更少的IO操作而备受青睐(注:列式存储不是万能高效的,很多场景下行式存储仍更加高效),尤其是在数据列(column)数很多,但每次 ...