【81期】面试官:说说HashMap 中的容量与扩容实现
高手过招,招招致命 JDK1.8 中 HashMap 的底层实现,我相信大家都能说上来个 一二,底层数据结构 数组 + 链表(或红黑树) ,源码如下
【80期】说出Java创建线程的三种方式及对比
1、继承Thread类创建线程类 定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。 创建Thread子类的实例,即创建了线程对象。 调用线程对象的start()方法来启动该线程。
说实话,DataGrip真得牛逼,只是你不会用而已~
最近被同事案例了一款数据库客户端工具:DataGrip,大爱! 其实,这个标题的话肯定会引出一些杠精,为了不给杠精留机会,多做一点说明:Navicat 和 DataGrip 都是非常优秀的数据管理工具,各有所长,这里就不做对比了!你喜欢什么样的风格用什么样的产品,就我个人而言更喜欢 DataGrip 一些。 把杠精安排的明明白白!
实战:如果让你用SpringBoot实现签到奖励的功能,你会怎么做?
最近在做社交业务,用户进入APP后有签到功能,签到成功后获取相应的奖励: 项目状况:前期尝试业务阶段; 特点: 快速实现(不需要做太重,满足初期推广运营即可) 快速投入市场去运营
StackOverflow热帖:Java整数相加溢出怎么办?Java8一步搞定~
在之前刷题的时候遇见一个问题,需要解决int相加后怎么判断是否溢出,如果溢出就返回Integer.MAX_VALUE 解决方案 JDK8已经帮我们实现了Math下,不得不说这个方法是在StackOverflow找到了的,确实比国内一些论坛好多了~
【77期】这一道面试题就考验了你对Java的理解程度
想要搞清楚具体的原因,在这里你需要搞清楚以下几个概念,如果这个概念搞清楚了,你也不会把上面的实现方法写错 形参和实参 参数值传递 自动装箱 所以,上面的问题先放一边,先看一下这几个概念
【73期】面试官:Spring 和 Spring Boot 的区别是什么?
对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot的我当时也是一头雾水,随着经验的积累、我慢慢理解了这两个框架到底有什么区别,相信对于用了 SpringBoot很久的同学来说,还不是很理解 SpringBoot到底和 Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法!
卸载 Notepad++ !事实已证明,它更牛逼……
程序员的成长之路互联网/程序员/技术/资料共享关注阅读本文大概需要10分钟。作者:lucidahttp://lucida.me/blog/sublime-text-complete-guide#摘要(Abstract)本文系统全面的介绍了SublimeText,旨在成为最优秀的SublimeText
【72期】面试官:对并发熟悉吗?说一下synchronized与Lock的区别与使用
昨天在学习别人分享的面试经验时,看到Lock的使用。想起自己在上次面试也遇到了synchronized与Lock的区别与使用。 于是,我整理了两者的区别和使用情况,同时,对synchronized的使用过程一些常见问题的总结,最后是参照源码和说明文档,对Lock的使用写了几个简单的Demo。请大家批评指正。
MyBatis 动态 SQL(认真看看, 以后写SQL就爽多了)
MyBatis 令人喜欢的一大特性就是动态 SQL。在使用 JDBC 的过程中, 根据条件进行 SQL 的拼接是很麻烦且很容易出错的。 MyBatis 动态 SQL 的出现, 解决了这个麻烦。MyBatis通过 OGNL 来进行动态 SQL 的使用的。 目前, 动态 SQL 支持以下几种标签:
【70期】面试官:对并发熟悉吗?谈谈对volatile的使用及其原理
我们已经知道可见性、有序性及原子性问题,通常情况下我们可以通过Synchronized关键字来解决这些个问题,不过如果对Synchronized原理有了解的话,应该知道Synchronized是一个比较重量级的操作,对系统的性能有比较大的影响,所以,如果有其他解决方案,我们通常都避免使用Synchronized来解决问题。
【66期】Java容器面试题:谈谈你对 HashMap 的理解
HashMap 是一种存取高效但不保证有序的常用容器。它的数据结构为“数组+链表”,是解决哈希冲突的产物,也就是我们常说的链地址法。它实现了Map 接口采用K-V 键值对存储数据,并实现了浅拷贝和序列化。 HashMap 的默认初始大小为16,初始化大小必须为2的幂,最大大小为2的30次方。数组中存储的链表节点Entry 类实现于Map.Entry 接口,
【65期】Spring的IOC是啥?有什么好处?
设计模式7大原则 为什么会有人说设计模式已死呢,因为spring这些框架帮你做好了类和对象的管理,让你写代码的时候只专注于你实现的功能,而不是设计。先来看看设计模式的7大原则: 开放-封闭原则
非常有必要了解的Springboot启动扩展点
Spring的核心思想就是容器,当容器refresh的时候,外部看上去风平浪静,其实内部则是一片惊涛骇浪,汪洋一片。Springboot更是封装了Spring,遵循约定大于配置,加上自动装配的机制。很多时候我们只要引用了一个依赖,几乎是零配置就能完成一个功能的装配。 我非常喜欢这种自动装配的机制,所以在自己开发中间件和公共依赖工具的时候也会用到这个特性。让使用者以最小的代价接入。
【64期】MySQL 服务占用cpu 100%,如何排查问题? (MySQL面试第七弹)
对于互联网公司,线上CPU飙升的问题很常见(例如某个活动开始,流量突然飙升时),按照本文的步骤排查,基本1分钟即可搞定!特此整理排查方法一篇,供大家参考讨论提高。 线上系统突然运行缓慢,CPU飙升,甚至到100%,以及Full GC次数过多,接着就是各种报警:例如接口超时报警等。此时急需快速线上排查问题。
【63期】谈谈MySQL 索引,B+树原理,以及建索引的几大原则(MySQL面试第六弹)
MYSQL一直了解得都不多,之前写sql准备提交生产环境之前的时候,老员工帮我检查了下sql,让修改了一下存储引擎,当时我使用的是Myisam,后面改成InnoDB了。为什么要改成这样,之前都没有听过存储引擎,于是网上查了一下。 事实上使用不同的存储引擎也是有很大区别的,下面猿友们可以了解一下。
【60期】事务隔离级别中的可重复读能防幻读吗?(MySQL面试第三弹)
每次谈到数据库的事务隔离级别,大家一定会看到这张表。 其中,可重复读这个隔离级别,有效地防止了脏读和不可重复读,但仍然可能发生幻读,可能发生幻读就表示可重复读这个隔离级别防不住幻读吗? 我不管从数据库方面的教科书还是一些网络教程上,经常看到RR级别是可以重复读的,但是无法解决幻读,只有可串行化(Serializable)才能解决幻读,这个说法是否正确呢?
【59期】MySQL索引是如何提高查询效率的呢?(MySQL面试第二弹)
MySQL(读作/maɪ ˈsiːkwəl/“My Sequel”)是一个开放源码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,目前为Oracle旗下产品。 被甲骨文公司收购后,自由软件社群们对于Oracle是否还会持续支持MySQL社群版(MySQL之中唯一的免费版本)有所隐忧,因此MySQL的创始人麦克尔·维德纽斯以MySQL为基础,成立分支计划MariaDB。
Spring Boot 项目最优雅的 HTTP 客户端工具,用它就够了,太香了!
大家都知道okhttp是一款由square公司开源的java版本http客户端工具。实际上,square公司还开源了基于okhttp进一步封装的retrofit工具,用来支持通过接口的方式发起http请求。如果你的项目中还在直接使用RestTemplate或者okhttp,或者基于它们封装的HttpUtils,那么你可以尝试使用Retrofit。
单点登录的三种实现方式,你会几种?
在 B/S 系统中,登录功能通常都是基于 Cookie 来实现的。 当用户登录成功后,一般会将登录状态记录到 Session 中,或者是给用户签发一个 Token,无论哪一种方式,都需要在客户端保存一些信息(Session ID 或 Token ),并要求客户端在之后的每次请求中携带它们。