大三Java实习总结网易百度小米美团阿里(均拿offer)

​ 2017年10月 网易考拉 Java ​ 12月 百度 Java ​ 2018年 1月 小米人工智能云平台 Java(已实习过) ​ 3月 美团外卖 Java 5月 阿里 新零售 Java 总的来说面试...

2018-05-17 15:11:19

阅读数 206

评论数 0

常见设计模式要点总结

前言 最近在看《head first 设计模式》,发现每个章节后的要点总结都是言简意骇,所以特写此篇博客对常见的设计模式要点做个总结。 观察者模式 在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新 观察者模式定义了对象之间一对多的关系 主题(可观察...

2018-10-29 23:35:08

阅读数 18

评论数 0

一次有趣的局部变量GC

前言 最近在看《实战Java虚拟机》, 发现书上的一个关于局部变量表GC挺有意思,先上代码。 主角 没有GC public class Main { public static void reversion(){ { byte[] a = new b...

2018-10-29 20:30:33

阅读数 34

评论数 0

几行代码实现RPC框架

前言 昨天看了一篇关于用几行代码实现RPC框架的博客http://javatar.iteye.com/blog/1123915,收获很大,于是我想在这篇博客的基础上理一理思路,尽可能的多加一点注释,进一步降低学习RPC框架原理的门槛。 原理图 先上一个原理图,读者可根据此图来帮助理解后续...

2018-05-22 14:26:18

阅读数 41

评论数 0

MySQL事务原理浅析

前言 ​ 因为自己对数据的可靠性,可用性方面特别感兴趣,所以在MySQL事务方面看了很多资料,也看了很多博客,所以想到自己也写一篇博客整理整理自己所学内容,尽量用自己的语言解释得通俗易懂。 事务经典场景 ​ 在很多介绍事务的博客都会代入这样一个场景,先简单说说: ​ A给B转账...

2018-05-17 15:10:11

阅读数 3646

评论数 3

读书笔记之JVM垃圾回收

前言​ 如果要问Java与其他编程语言最大的不同是什么,我第一个想到的一定就是Java所运行的JVM所自带的自动垃圾回收机制,以下是我学习JVM垃圾回收机制整理的笔记,希望能对读者有一些帮助。哪些内存需要回收?what?​ 如何判断对象已死?有两种算法引用计数算法​ 给对象添加一个计数...

2017-11-01 20:22:47

阅读数 74

评论数 0

网易考拉海购Java后台开发实习-面经(已拿offer)

一面(23min) 自我介绍 项目中最自豪的部分 也没什么太自豪的,就是在移动端开发的时候不存在cookie和session,然后用redis存了一下验证码感觉还不错。 讲一讲ArrayList和LinkedList ArrayList底层实现是数组,并且每次扩容扩容1.5倍,常用在查询较多的...

2017-10-18 20:31:13

阅读数 4790

评论数 4

Java并发编程-volatile可见性的介绍

前言要学习好Java的多线程,就一定得对volatile关键字的作用机制了熟于胸。最近博主看了大量关于volatile的相关博客,对其有了一点初步的理解和认识,下面通过自己的话叙述整理一遍。有什么用?volatile主要对所修饰的变量提供两个功能 可见性 防止指令重排序 本篇博客主要对volati...

2017-10-12 21:48:29

阅读数 156

评论数 0

浅析MySQL中的explain参数

有什么用? 在MySQL中,当数据量增长的特别大的时候就需要用到索引来优化SQL语句,而如何才能判断我们辛辛苦苦写出的SQL语句是否优良?这时候**explain**就派上了用场。 怎么使用?explain + SQL语句即可 如:explain select * from table;如下...

2017-09-16 00:01:18

阅读数 220

评论数 0

看得懂的常见排序算法分析(java实现)

前言 排序算法属于数据结构的内容,不算太难但是要完全掌握还是得一步一步的分析代码体会不同排序算法的思想,并且试着自己实现,在面试中经常会要求手写xx排序算法,如何让一串不规则的数字用最快的时间,最少的空间将这串数字有序,想想也是一件挺有趣的事。 各种排序方法性能的比较 排序方法 最好...

2017-08-29 23:37:01

阅读数 125

评论数 0

JAVA并发编程笔记

Semaphore可以控制某个资源可被同时访问的个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可。 闭锁用于所有线程等待一个外部事件的发生;栅栏则是所有线程相互等待,直到所有线程都到达某一点时才打开栅栏,然后线程可以继续执行。 while(true...

2017-08-04 11:22:29

阅读数 166

评论数 0

java并发编程条件队列的唤醒机制探究

bf1,bf2是两个大小各为3的条件队列。3将要put进bf1,此时因为bf1已满而已调用wait()方法挂起线程,此时若对bf2()执行take()方法并调用notifyall()是否会唤醒wait()中的bf1?(对两个队列的操作存在于两个不同的线程中)先上代码public abstract ...

2017-08-04 11:12:57

阅读数 158

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭