基础学习总结

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. CentOS 7 之 Systemd 入门教程:命令篇

    Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置 历史上,Linux 的启动一直采用init进程 下面的命令用来启动服务 [root@DaMoWang ~]# ...

  2. 游戏服务器之Java热更新

    对于运行良好的游戏来说,停服一分就会损失很多收益.因为有些小bug就停服就划不来了.在使用Java开游戏服务器时,JVM给我们提供了一些接口,可以简单做一些热更新.修复一些小Bug而不用重启服务. J ...

  3. halcon脱离hdvp运行

    halcon如何脱离HDevelop运行:第一种方式(测试多台电脑全部正常):(推荐)使用本站开发的脱机修复助手:https://www.51halcon.com/thread-1217-1-1.ht ...

  4. SpringMvc @PathVariable 工作原理

     SpringMvc  @PathVariable 工作原理: 友情提示:查看清晰大图,请鼠标右击图片后,选择新标签页中打开. 相关对象: DispatcherServlet DefaultAnnot ...

  5. flask 定义数据关系(多对一)

    多对一 一对多关系反过来就是多对一关系,这两种关系模式分别从不同的视角出发.一个作者拥有多篇文章,反过来就是多篇文章属于同一个作者.为了便于区分,我们使用居民和城市来演示多对一关系:多个居民住在同一个 ...

  6. transition属性值

    一.transition-property: transition-property是用来指定当元素其中一个属性改变时执行transition效果,其主要有以下几个值:none(没有属性改变):all ...

  7. ACM总结——2017区域赛网络赛总结

    从省赛回来至今4周,每周周末都在打网络赛,每次都是划水,总结下自己弱弱的ACM吧!划水水~~ 首先是新疆赛区,基本上都是图论相关的东西,全靠队友,自己翻水水,实力躺了5道. 然后是沈阳赛区,终于有点贡 ...

  8. golang中 "下划线" 的用法

    1.忽略返回值 这个应该是最简单的用途,比如某个函数返回三个参数,但是我们只需要其中的两个,另外一个参数可以忽略,这样的话代码可以这样写: v1, v2, _ := function(...) 2.用 ...

  9. element-ui checkbox传默认值的问题

    新入职一家公司了,准备把项目中遇到的问题随时记录下来.以前遇到的问题解决了没有记录,导致面试的时候问项目中遇到那些问题时,好多都忘了. 今天记录一下element-ui 的 checkbox 传递默认 ...

  10. oracle中number数据类型简单明了解释

    NUMBER (p,s) p和s范围: p 1-38 s -84-127 number(p,s),s大于0,表示有效位最大为p,小数位最多为s,小数点右边s位置开始四舍五入,若s>p,小数点右侧 ...