java干货
文章平均质量分 92
小饭饭带你玩waigua
这个作者很懒,什么都没留下…
展开
-
《好好面试》专栏来啦,总结了这几年面别人的经历
去年面了多个候选人,深知java面试中埋了哪些坑,我用对话的形式记录了这个过程,写了一个专栏《好好面试》,包括最合适的答案要给你了,看完这些,java基础基本没问题了看看我在基础数据类型方面埋了什么坑说说看,Java有多少种基本的数据类型?多大?Java有8中基本的数据类型,分别是byte,占据1个字节8位char,占据2个字节16位short,占据2个字节16位int,占据4个字节32位float,占据4个字节32位long,占据8个字节64位double,占据8个字节64位b原创 2021-07-06 00:07:48 · 123 阅读 · 0 评论 -
聊聊Autowired的常考面试题
金三银四,很快又到了招聘旺季了,最近经常需要去做各种面试,发现很多几年工作经验的候选人,对Spring了解也是知之甚少,更多的只是会用,比如一个@Autowired原理都可以问倒一大片。为此,趁着女朋友狗泽今天加班,长话短说的聊聊这个话题吧!@Autowired注解是如何实现自动装配的@Autowired注解之所以可以实现自动装配,主要是依赖Spring提供的处理器AutowiredAnnotationBeanPostProcessor,该处理器在初始化的时候便加入了对@Autowired、@In.原创 2021-02-06 19:31:49 · 462 阅读 · 0 评论 -
Java面试官告诉你JMM是什么和面什么
我去年以面试官的身份面了多个候选人,深知很多人其实并没有搞清楚Java的内存模型的概念和存在作用,当我在问谈谈Java的内存模型的时候,大多数人都回答了什么JVM的内存结构啊,也就是堆那些啊什么的,这些都是错的,那么实际上Java的内存模型实际上是什么呢?它的常问面试题又是什么呢?别急,我这边已经给你整理好了。了解几个重要的概念。CPU和缓存一致性我们都知道,计算机在执行程序的时候,每条指令都是在 CPU 中执行的,而执行的时候,又免不了和数据打交道,而计算机上面的数据,是存放在计算机的物理内存上的。原创 2021-01-18 09:04:50 · 638 阅读 · 1 评论 -
去年面了多个候选人,看看我挖的坑还有他们应该要补的Java基础(二)
看看我在Object 通用方法埋了什么坑equals方法用过吧?看看这道题,说说看equals方法在前和在后有什么区别?没什么区别。错,初学者或者代码打得少的人都会犯这个错。test1会直接报空指针异常,你想想看,null.equals看不起来不就怪怪的吗?空指针怎么可能有方法呢是吧,**拓展:**我们一般在企业开发中都会将已知的字面量放在equals,未知的参数放在equals后面,这样可以避免空指针,编程新手容易犯这个异常,我review过的代码这么实现的,说实话,挺多次的,不止编程新人原创 2021-01-13 22:30:40 · 170 阅读 · 0 评论 -
一招解决游戏内存不足的神器Caffeine
问题定位:最近奉命解决游戏中一直在的内存不够的问题,最终定位到底层的缓存机制使用的是google提供的ConcurrentLinkedHashMap做数据缓存的。简单介绍下ConcurrentLinkedHashMap,这是一个基于LRU策略的缓存,说白了就是热点数据缓存,支持设置最大缓存个数,监控到缓存数量超过最大值后会依据权重策略让数据过期。分析:根据ConcurrentLinkedHashMap的特性,我们这边推测出玩家数据在被加载放到缓存后,如果缓存没有超过设置的最大值,则这些数据会一直放在原创 2020-11-01 16:31:11 · 602 阅读 · 0 评论 -
三年Java开发经验,连如何动态注册bean都不知道
### 干货点:看完该篇文章我们可以了解到为何要动态注册bean、动态注册bean的方式、注册和实例化的区别、spring是什么时候实例化bean的。### 描述:前阵子在给项目写组件的时候研究了下spring组件拓展流程,其中遇见了动态注册bean的操作,对于长期使用spring容器管理bean的同学来说动态注册bean应该是活久见系列,为此打算以组件中使用到的方式讲讲动态注册方面的相关解说。#### 应用场景在自定义组件的时候,需要自定义命名空间注册器,其中需要提供一个配置解析器Confi原创 2020-06-29 00:18:05 · 304 阅读 · 0 评论 -
idea远程调试黑科技
不知道各位有没有遇见以下情况: 【国服第一测试】:我本地环境出了一个bug,那个【稀饭下雪】你过来看看。或者: 【国服第一测试】:外网正式服出了一个bug,我导了数据库环境到本地,看了下确实是bug,那个【稀饭下雪】你过来看看。再或者: 【国服第一狗策划】:内网服怎么又出bug了,那个【稀饭下雪】你过来看看。然后,我每次都是屁颠屁颠过去看了下 【稀饭下雪】:哦,确实有bug,那个xxx,你将数据库发给我下,还有对应账号发给我下,我本地试试,然后回来就是操作三连:拉对应版本代码、原创 2020-06-21 11:29:51 · 294 阅读 · 0 评论 -
组件化撸了一个聊天室,号召大家一起拓展
游戏已经上线了一年多了,现在正处于维护期,因此经常研究公司的底层架构和组件,研究透了后自己便会尝试自己写一个,而这个就是研究了相关组件后写的一个通讯组件啦,将通讯模块设计成组件的方案是支持导入到各个工程的,有需要可以自取。demo访问地址: http://chatroom.lixifan.cn/index.html源码地址: https://github.com/wiatingpub/chatRoom技术栈springbootnetty,通讯模块使用的是netty,采用的是webso.原创 2020-06-21 11:24:29 · 245 阅读 · 0 评论 -
学Aop?看这篇文章就够了!!!
在实际研发中,Spring是我们经常会使用的框架,毕竟它们太火了,也因此Spring相关的知识点也是面试必问点,今天我们就大话Aop。特地在周末推文,因为该篇文章阅读起来还是比较轻松诙谐的,当然了,更主要的是周末的我也在充电学习,希望有追求的朋友们也尽量不要放过周末时间,适当充电,为了走上人生巅峰,迎娶白富美。【话说有没有白富美介绍(o≖◡≖)】接下来,直接进入正文。为什么要有aop我...原创 2019-08-16 00:41:12 · 354 阅读 · 0 评论 -
【好好面试】学完Aop,连动态代理的原理都不懂?
【干货点】 此处是【好好面试】系列文的第12篇文章。文章目标主要是通过原理剖析的方式解答Aop动态代理的面试热点问题,通过一步步提出问题和了解原理的方式,我们可以记得更深更牢,进而解决被面试官卡住喉咙的情况。问题如下SpringBoot默认代理类型是什么为什么不用静态代理JDK动态代理原理CGLIB动态代理原理JDK动态代理和CGLIB动态代理的区别为什么CGLIB不能像JDK代...原创 2019-08-05 00:32:12 · 202 阅读 · 0 评论 -
【好好面试】手把手调试,教你分析Spring-Aop
【干货点】 此处是【好好面试】系列文的第11篇文章。看完该篇文章,你就可以了解Spring中Aop的相关使用和原理,并且能够轻松解答Aop相关的面试问题。更重要的是,很多人其实一看源码就头大,这次专门将个人阅读源码的整个调试过程一步步呈现出来,希望对你们有一定的帮助。上篇文章比较轻松诙谐的描述了Aop的由来和实际应用【传送门:https://mp.weixin.qq.com/s/tQLO-lF_...原创 2019-07-18 23:30:59 · 229 阅读 · 0 评论 -
【好好面试】你必须要懂的Spring-Aop
【干货点】此处是【好好面试】系列文的第10篇文章。看完该篇文章,你就可以了解Spring中Aop的相关使用和原理,并且能够轻松解答Aop相关的面试问题。在实际研发中,Spring是我们经常会使用的框架,毕竟它们太火了,也因此Spring相关的知识点也是面试必问点,今天我们就大话Aop。特地在周末推文,因为该篇文章阅读起来还是比较轻松诙谐的,当然了,更主要的是周末的我也在充电学习,希望有追求的...原创 2019-07-07 20:49:29 · 264 阅读 · 0 评论 -
你所不知道的HelloWorld背后的原理
【今日最佳】对于程序员而言,所谓的二八定律指的是 花百分之八十的时间去学习日常研发中不常见的那百分之二十的原理。据说阿里某程序员对书法十分感兴趣,退休后决定在这方面有所建树。于是花重金购买了上等的文房四宝。一日,饭后突生雅兴,一番磨墨拟纸,并点上了上好的檀香,颇有王羲之风范,又具颜真卿气势,定神片刻,泼墨挥毫,郑重地写下一行字:hello world。当然了,这是个专属程序员的段子哈哈哈。...原创 2019-07-01 19:53:54 · 221 阅读 · 0 评论 -
Java之不允许改变的容器
系列文描述: 该文章是日常笔记系列的第二篇,主要记录了如何使用不允许改变的容器,相信看完肯定有所收获。不允许改变的容器作用描述:最近在研发中间件期间,由于业务需要,需要通过配置生成全局所有的容器,而该容器对外是不允许外界修改的,为了满足这种需求,使用了不可变集合,顾名思义,该种集合除了get操作,不允许外界增删改。代码演示:import java.util.Ar...原创 2019-03-27 23:45:01 · 259 阅读 · 0 评论 -
Java之类字面常量
系列文描述 该文章是日常笔记系列的第二篇,记录了类字面常量的特殊性,相信看完肯定有所收获。关于类字面常量描述:最近接触了比较多的反射,了解到类字面常量特殊的地方,故做笔录,同时也和大家分享下类字面常量特殊在哪里。所谓的类字面常量指的是A.class,这是java提供的生成对Class对象的引用。关于类的概念我们都很熟悉,关于类的使用JDK大致为我们做了三步操作,分别是加载,这...原创 2019-03-27 23:52:45 · 605 阅读 · 0 评论 -
基于spring实现事件驱动
干货点通过阅读该篇博客,你可以了解了解java的反射机制、可以了解如何基于spring生命周期使用自定义注解解决日常研发问题。具体源码可以点击链接。问题描述在日常研发中,经常会遇见业务A的某个action被触发后,同时触发业务B的action的行为,这种单对单的形式可以直接在业务A的action执行结束后直接调用业务B的action,那么如果是单对多的情况呢?方案解决这里提供一种在日常研...原创 2019-04-07 17:26:55 · 458 阅读 · 0 评论 -
拓展spring组件之自定义标签
干货点了解如何基于spring自定义标签,这是自定义组件的第一步。而最重要的是了解了这个过程后也可以大致了解spring自身部分组件是怎么相互工作和触发的,如spring-aop,组件可以通过反调AopNamespaceHandler了解大致面貌。系列文描述书写该系列文的初衷是因为最近正在负责一个组件的开发,于是打算将接触和学习到的知识写进博客里。这第一篇,记录基于spring如何自定义标签...原创 2019-04-14 15:13:53 · 226 阅读 · 0 评论 -
异常(no providers installed)
问题描述最近遇见了一个异常,将java项目打完jar包后在windows运行的时候报异常提示:java.util.ServiceConfiguretionError: com.sun.tools.attach.spi.AttachProvider: Provider Sun.tools.attach.WindowsAttachProvider could not be instantiate...原创 2019-04-26 20:51:21 · 4382 阅读 · 1 评论 -
动态注册bean
干货点:看完该篇文章我们可以了解到为何要动态注册bean、动态注册bean的方式、注册和实例化的区别、spring是什么时候实例化bean的。描述:前阵子在给项目写组件的时候研究了下spring组件拓展流程,其中遇见了动态注册bean的操作,对于长期使用spring容器管理bean的同学来说动态注册bean应该是活久见系列,为此打算以组件中使用到的方式讲讲动态注册方面的相关解说。应用场景...原创 2019-05-04 16:51:08 · 523 阅读 · 0 评论 -
开发必学,io&nio
作为一个程序开发人员,不可避免的要与io打交道,通常我们也都会在简历栏目上写上熟悉or了解io,那么你是否真的了解io与nio的区别呢?【划重点:面试官常问点】首先,在详细描述io与nio的区别之前我们要先意识到所有的系统I/O都分为两个阶段:等待就绪和操作。并且等待就绪的阻塞是不使用CPU的,是在“空等”;而真正的读写操作的阻塞是使用CPU的,真正在"干活",也意味着会消耗cpu资源。...原创 2019-05-15 22:55:43 · 145 阅读 · 0 评论 -
不,你不了解Spring实例化bean的时候做了什么
Spring加载bean的时候构造函数什么时候调用、@PostConstruct什么时候调用、实现了BeanPostProcessor接口的bean中的postProcessAfterInitialization和postProcessBeforeInitialization什么时候调用?你是否清楚呢?如果清楚的话可以直接忽略该篇文章!!!最近来了几个新人,被问了一个和bean生命周期相关的...原创 2019-05-29 11:40:55 · 290 阅读 · 0 评论 -
连引用都答不上,凭什么说你是Java服务端开发
【干货点】看完该篇文章,就基本可以解答面试热点【谈谈对Java中几种引用的理解】了。大家都知道我公众号的副业是所以经常会有朋友找我吹水,最近就说到了一个面试题谈谈对Java中几种引用的理解。因此打算以该面试题为例子,写篇文章说说在Java中引用是什么以及怎么用。【划重点:给你三秒钟时间思考,如果是你,该如何回答面试官的这个问题呢】引用是什么【划重点】在Java中引用包括:&n...原创 2019-06-17 19:16:09 · 160 阅读 · 0 评论 -
基于Java使用观察者模式
系列文描述: 该文章是日常笔记系列的第二篇,此乃第一节,主要记录了开发中如何基于Java使用观察者模式,相信看完肯定有所收获。基于Java实现观察者模式作用描述:在日常研发过程总会遇见业务A随着业务B发生相关变化的情况,这种情况便可以运用观察者模式,而对于观察者模式,Java已经为我们提供了已有的接口和类方便我们使用。对于订阅者Java为我们提供了一个接口,JDK源码如下:...原创 2019-03-27 23:39:18 · 656 阅读 · 0 评论