随笔分类 - Java
java学习总结
摘要:大家可以通过这些面试题查漏补缺。 ps:链接点进去就是答案 一、Java基础 44 道 1. 解释下什么是面向对象?面向对象和面向过程的区别? 2. 面向对象的三大特性?分别解释下? 3. JDK、JRE、JVM 三者之间的关系? 4. 重载和重写的区别? 5. Java 中是否可以重写一个 pri
阅读全文
摘要:我的春招 Hello,首先自我介绍一下,我是一所普普通通的二本院校的大三学生,坐标江苏。 今年三月份拿到了腾讯实习的offer,人生中第一次面试是腾讯,部门是 TEG 的云架构,并且顺利签约,说实话内心还是挺高兴的,在这里和大家分享一下自己的经历。 该读者后面也拿到了阿里的 offer 我的看法 下
阅读全文
摘要:文章写到现在也有一年多了,其中有不少文章广受好评,例如动态规划的文章: 当然也包括其他算法文章,计算机网络等等文章,还有一些人看了我个人相关经历等文章,也从迷茫到充满干劲,说实话,你们的收获,便是我持续创作到最大动力! 所以呢,为了让大家更好着阅读我写过多文章,我把自己的原创文章整理成了一份带高清目
阅读全文
摘要:重量级锁?自旋锁?自适应自旋锁?轻量级锁?偏向锁?悲观锁?乐观锁?执行一个方法咋这么辛苦,到处都是锁。 今天这篇文章,给大家普及下这些锁究竟是啥,他们的由来,他们之间有啥关系,有啥区别。 重量级锁 如果你学过多线程,那么你肯定知道 锁 这个东西,至于为什么需要锁,我就不给你普及了,就当做你是已经懂的
阅读全文
摘要:大家可能都听说说 Java 中的并发包,如果想要读懂 Java 中的并发包,其核心就是要先读懂 CAS 机制,因为 CAS 可以说是并发包的底层实现原理。 今天就带大家读懂 CAS 是如何保证操作的原子性的,以及 Java8 对 CAS 进行了哪些优化。 synchronized:大材小用 我们先来
阅读全文
摘要:本章主要总结了集合的一些基础但有重点的知识点,例如他们的底层数据结构以及集合之间的区别,其中 HashMap 最为重点。 集合 Java的集合框架中可以分为两大类:第一类是按照 单个元素 存储的 Collection 集合,其中 Set, List, Queue 都实现了 Collection 接口
阅读全文
摘要:代码风格并不影响程序的运行,也不会给你的程序带来潜在的危险。但一段好的代码风格,能让人阅读起来特别舒服,特别的阅读别人代码的时候,有些人的代码可以说是完全不注意空格、缩进、大小写的,看起来特别不舒服。 给人好的印象,从一段代码风格开始。今天我总结了几个最常用到的代码规范、可以说你每时每刻都会接触到的
阅读全文
摘要:我想大部分都知道 i++ 和 ++i的区别,i++ 就是先拿i来使用,之后再自增加1,而++i则是先自增加1,在拿i来使用,例如对于下面这两个语句,我敢保证大部分人都会做: 答案分别为 1,2。对于这个答案我猜大多数人都能答出来。不过 i++ 和 ++i 这两个操作,在内部是如何实现的呢? 我们先来
阅读全文
摘要:接触过线程安全的同学想必都使用过synchronized这个关键字,在java同步代码快中,synchronized的使用方式无非有两个: 通过对一个对象进行加锁来实现同步,如下面代码。 synchronized(lockObject){ //代码 } 对一个方法进行synchronized声明,进
阅读全文
摘要:对于volatile这个关键字,相信很多朋友都听说过,甚至使用过,这个关键字虽然字面上理解起来比较简单,但是要用好起来却不是一件容易的事。这篇文章将从多个方面来讲解volatile,让你对它更加理解。 计算机中为什么会出现线程不安全的问题 volatile既然是与线程安全有关的问题,那我们先来了解一
阅读全文
摘要:在写之前我们先来看几个问题,假如你对这些问题已经很懂了的话,那大可不用看这篇文章,如果不大懂的话,那么可以看看我的想法。问题1: public static void main(String[] args){ String t1 = new String("1"); t1.intern(); Str
阅读全文
摘要:1.解释器与JIT编译器 首先我们先来了解一下运行在虚拟机之上的解释器与JIT编译器。当我们的虚拟机在运行一个java程序的时候,它可以采用两种方式来运行这个java程序: 采用解释器的形式,也就是说,在运行.class运行的时候,解释器一边把.class文件翻译成本地机器码,一边执行。显然这种一边
阅读全文
摘要:在java的容器集合中,hashmap的使用频率可以说是相当高的。不过对于hashmap的存(put())以及取(get())的原理可能很多人还不大清楚,今天,我就给大家介绍下它是如何存如何取的。
阅读全文