- 博客(16)
- 资源 (1)
- 问答 (11)
- 收藏
- 关注

原创 大三Java实习总结网易百度小米美团阿里(均拿offer)
2017年10月 网易考拉 Java 12月 百度 Java 2018年 1月 小米人工智能云平台 Java(已实习过) 3月 美团外卖 Java 5月 阿里 新零售 Java总的来说面试无非要做到两点:1.别人答不上的,你得知道 2.别人答得上的,你得知道的更多!包括但不限于(Java多...
2018-05-17 15:11:19
508
原创 OCP原则的一次优化实践
背景计费系统中的试算方法,为了兼容不同场景的计费规则,定义了CalculateCondition接口,不同的场景分别有各自CalculateCondition实现类,分别对应不同的逻辑下面代码是目前的试算方法中的主要框架结构,分别用了3个if/else的分支判断逻辑,接下来的需求要新添加一个CalculateCondition的实现类及相应逻辑,就必须改动原有代码...... CalculateCondition calculateCondition = reques
2020-07-25 10:26:52
388
原创 谈即时编译优化-以异常堆栈丢失为例
前言日照充足会让西瓜更甜,那拥有即时编译优化会让Java程序怎么样?本文会初步介绍JVM的即时编译优化特性,并且通过异常堆栈丢失这一常见的现象来进行举例即时编译优化Java程序在运行初期是通过解释器来执行,当发现某块代码运行特别频繁,就会将之判定为热点代码(Hot Spot Code), 虚拟机会将这部分代码编译成本地机器码,并对这些代码进行优化。这件事就是即时编译(Just In Time, JIT)优化, 做这件事的就是即时编译器。解释器与编译器目前主流虚拟机都采用解释器、编译器并存的架构。
2020-05-24 10:24:47
357
原创 2K字带你读完《程序员修炼之道》精华
注重实效的哲学我的源码让猫给吃了在所有的弱点中,最大的弱点就是害怕暴露弱点。对于缺点、无知、错误,必须诚实。负责承诺的事情正确完成,无法完成,超出控制的事情不去承诺。为结果负责,出现问题时应提供其他解决方案,不是寻找借口。软件的熵低劣设计,糟糕代码需要发现一个就修一个,否则会加速任何一个整洁,良好系统的腐烂。破窗理论:一辆轿车放一星期无人理睬,一旦有一扇窗户被打破,数小时之内车...
2020-04-06 10:43:00
350
原创 谈谈双亲委派模型的第四次破坏-模块化
前言JDK9引入了Java模块化系统(Java Platform Moudle System)来实现可配置的封装隔离机制,同时JVM对类加载的架构也做出了调整,也就是双亲委派模型的第四次破坏。前三次破坏分别是:双亲委派模型推出之前,SPI机制,以及OSGI为代表的热替换机制,这里不细说。双亲委派模型简介在JDK9引入之前,绝大多数Java程序会用下面三个类加载器进行加载启动类加载器(B...
2020-03-29 19:07:56
277
原创 一定能看懂的RocketMQ事务消息源码分析(干货)
前言得益于MQ削峰填谷,系统解耦,操作异步等功能特性,在互联网行业,可以说有分布式服务的地方,MQ都往往不会缺席。由阿里自研的RocketMQ更是经历了多年的双十一高并发挑战,其中4.3.0版本推出了事务消息的新特性,本文对RocketMQ 4.5.0版本事务消息相关的源码跟踪介绍,通过阅读读者可以知道:事务消息解决什么样的问题事务消息的实现原理及其设计亮点解决什么问题假设我所在的系...
2019-07-14 07:41:17
1115
原创 常见设计模式要点总结
前言最近在看《head first 设计模式》,发现每个章节后的要点总结都是言简意骇,所以特写此篇博客对常见的设计模式要点做个总结。观察者模式在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新观察者模式定义了对象之间一对多的关系主题(可观察者)用一个共同对接口来更新观察者被观察者不知道观察者的细节,只知道观察者实现了观察者接口多个观察者...
2018-10-29 23:35:08
145
原创 一次有趣的局部变量GC
前言最近在看《实战Java虚拟机》, 发现书上的一个关于局部变量表GC挺有意思,先上代码。主角没有GCpublic class Main { public static void reversion(){ { byte[] a = new byte[6*1024*1024]; } System.gc(); ...
2018-10-29 20:30:33
306
原创 几行代码实现RPC框架
前言昨天看了一篇关于用几行代码实现RPC框架的博客http://javatar.iteye.com/blog/1123915,收获很大,于是我想在这篇博客的基础上理一理思路,尽可能的多加一点注释,进一步降低学习RPC框架原理的门槛。原理图先上一个原理图,读者可根据此图来帮助理解后续的代码。 代码RpcFramework核心类import java.io.Obj...
2018-05-22 14:26:18
230
原创 MySQL事务原理浅析
前言 因为自己对数据的可靠性,可用性方面特别感兴趣,所以在MySQL事务方面看了很多资料,也看了很多博客,所以想到自己也写一篇博客整理整理自己所学内容,尽量用自己的语言解释得通俗易懂。事务经典场景 在很多介绍事务的博客都会代入这样一个场景,先简单说说: A给B转账100,A少100,B多100。如果A少100后系统崩溃怎么办?B的钱多不了,这样金钱总数凭空少了10...
2018-05-17 15:10:11
5974
原创 读书笔记之JVM垃圾回收
前言 如果要问Java与其他编程语言最大的不同是什么,我第一个想到的一定就是Java所运行的JVM所自带的自动垃圾回收机制,以下是我学习JVM垃圾回收机制整理的笔记,希望能对读者有一些帮助。哪些内存需要回收?what? 如何判断对象已死?有两种算法引用计数算法 给对象添加一个计数器,每当有一个地方引用它时,计数器的值就加一,当引用失效的时候,计数器就减一 ,任何时刻计数器为0的对象
2017-11-01 20:22:47
315
原创 网易考拉海购Java后台开发实习-面经(已拿offer)
一面(23min)自我介绍项目中最自豪的部分也没什么太自豪的,就是在移动端开发的时候不存在cookie和session,然后用redis存了一下验证码感觉还不错。讲一讲ArrayList和LinkedList ArrayList底层实现是数组,并且每次扩容扩容1.5倍,常用在查询较多的场景中。而LinkedList底层实现是链表常用在增删比较多的场景你说你对锁有了解,说一说你最熟悉的两
2017-10-18 20:31:13
5554
原创 Java并发编程-volatile可见性的介绍
前言要学习好Java的多线程,就一定得对volatile关键字的作用机制了熟于胸。最近博主看了大量关于volatile的相关博客,对其有了一点初步的理解和认识,下面通过自己的话叙述整理一遍。有什么用?volatile主要对所修饰的变量提供两个功能可见性防止指令重排序本篇博客主要对volatile可见性进行探讨,以后发表关于指令重排序的博文。什么是可见性?一图胜千言 上图已经把JAVA内存
2017-10-12 21:48:29
321
原创 浅析MySQL中的explain参数
有什么用? 在MySQL中,当数据量增长的特别大的时候就需要用到索引来优化SQL语句,而如何才能判断我们辛辛苦苦写出的SQL语句是否优良?这时候**explain**就派上了用场。怎么使用?explain + SQL语句即可 如:explain select * from table;如下 相信第一次使用explain参数的朋友一定会疑惑这一大堆参数究竟有什么用呢?笔者搜集了一些资料,在这
2017-09-16 00:01:18
557
原创 JAVA并发编程笔记
Semaphore可以控制某个资源可被同时访问的个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可。闭锁用于所有线程等待一个外部事件的发生;栅栏则是所有线程相互等待,直到所有线程都到达某一点时才打开栅栏,然后线程可以继续执行。while(true) 被底层调用,运算特别快 某些操作来不及进行使用Calable接口实现并发的时候,需要用Future
2017-08-04 11:22:29
286
原创 java并发编程条件队列的唤醒机制探究
bf1,bf2是两个大小各为3的条件队列。3将要put进bf1,此时因为bf1已满而已调用wait()方法挂起线程,此时若对bf2()执行take()方法并调用notifyall()是否会唤醒wait()中的bf1?(对两个队列的操作存在于两个不同的线程中)先上代码public abstract class BaseBoundedBuffer<V>{ private final V[] buf
2017-08-04 11:12:57
414
JAVA面试题大全
2017-10-14
请教下spring中这三个getbean的用法
2017-09-16
请教spring中这三个getbean的用法
2017-09-16
为什么我上传了jar包,依然无法使用标准jstl库,求助
2017-04-05
为什么jsp中添加了<%%>仍不执行java代码,被直接无视掉了
2017-03-18
求教这个JavaScript简单数乘程序的问题所在
2017-02-12
求教为什么我这个JS无法实现动画效果,按着书上敲得,哪儿错了吗
2017-01-30
为何我的DIV模块显示不出颜色
2017-01-15
请教C++关于二叉树类构建的问题
2016-12-15
请教下关于JAVA继承与多态的问题
2016-12-13
请教一下JAVA多态性的问题
2016-12-12
Android studio中imageview无法显示自己导入的图片,求指教
2016-11-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人