Java大型互联网公司经典面试题,论JDK源码的重要性的无限思考

论JDK源码的重要性:一道面试题引发的无限思考!大家在看到这个标题时想的是什么?小编我为什么要讲这个问题呢?
那我们就看一下这道面试题是什么呢?差不多是这样子的…

Java多线程编程-(20)-借ThreadLocal出现OOM内存溢出问题再谈弱引用WeakReference

一、简单回顾

在上几篇的时候,已经简单的介绍了不正当的使用ThreadLocal造成OOM的原因,以及ThreadLocal的基本原理,下边我们首先回顾一下T…

Java多线程编程-(19)-多线程异步调用之Future模式

一、线程计数器回顾

在《Java多线程编程-(8)-两种常用的线程计数器CountDownLatch和循环屏障CyclicBarrier》 这一篇中,我们使用…

Java多线程编程-(17)-读写锁ReentrantReadWriteLock深入分析

一、前言

上两篇的内容中已经介绍到了锁的实现主要有ReentrantLock和ReentrantReadWriteLock。
ReentrantLock是重入…

Java多线程编程-(16)-无锁CAS操作以及Java中Atomic并发包的“18罗汉”

一、背景

通过上面的学习,我们应该很清楚的知道了在多线程并发情况下如何保证数据的安全性和一致性的两种主要方法:一种是加锁,另一种是使用ThreadLocal。…

Java多线程编程-(15)- 关于锁优化的几点建议

一、背景

在《 Java多线程编程-(11)-从volatile和synchronized的底层实现原理看Java虚拟机对锁优化所做的努力》 这一篇文章中,我…

Java多线程编程-(14)-Java中的队列同步器AQS和ReentrantLock锁原理简要分析

一、Lock接口

在上一篇文章中: Java多线程编程-(5)-使用Lock对象实现同步以及线程间通信 介绍了如何使用Lock实现和synchronized关…

Java多线程编程-(13)-从volatile和synchronized的底层实现原理看Java虚拟机对锁优化所做的努力

Java多线程编程-(12)-单例模式几种写法的错与对
一、背景

对于Java来说我们知道,Java代码首先会编译成Java字节码,字节码被类加载器加载到JV…

Java多线程编程-(11)-面试常客ThreadLocal出现OOM内存溢出的场景和原理分析

一、案例代码

1、首先看一下代码,模拟了一个线程数为500的线程池,所有线程共享一个ThreadLocal变量,每一个线程执行的时候插入一个大的List集合:…

Java多线程编程-(10)-看了这篇关于ThreadLocal的原理应该透彻了

ThreadLocal可以说是笔试面试的常客,每逢面试基本都会问到,关于ThreadLocal的原理以及不正当的使用造成的OOM内存溢出的问题,值得花时间仔细研…

Java多线程编程-(5)-线程间通信机制的介绍与使用(温馨提示:图文较多,建议Wiff下打开)

线程间通信简介
我们知道线程是操作系统中独立的个体,但是这个单独的个体之间没有一种特殊的处理方式使之成为一个整体,线程之间没有任何交流和沟通的话,他就是一个个单…

Java多线程编程-(4)-线程本地ThreadLocal的介绍与使用

ThreadLocal简介

我们通过上两篇的学习,我们已经知道了变量值的共享可以使用public static变量的形式,所有的线程都使用同一个被public…

Java多线程编程-(3)-从一个错误的双重校验锁代码谈一下volatile关键字

在Java多线程编程-(2)中提及到了一段使用Synchronized关键字实现的单利模式–双重校验锁,代码如下:

慧眼的小伙伴,已经发现了其中的问题,并给…

Java多线程编程-(2)-可重入锁以及Synchronized的其他基本特性

下边介绍一下关于Synchronized的其他基本特性。
1
Synchronized锁重入
(1)关键字Synchronized拥有锁重入的功能,也就是在使用…

Java多线程编程-(1)-线程安全和锁Synchronized概念

1
进程与线程的概念
(1)在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单位都是进程。
在未配置 OS 的系统中,程序的执行方式是顺序执…

三本书影响一个人

清理书柜的时候,无意间发现了一张1999年的老照片,“一回忆著一拈看,便似花前重见面”。那是在加拿大安大略湖畔雪地里的照片,勾起了老码农的回忆。

象牙塔的年代…

Redis常见的5种不同的数据类型详解

相关文章:
Redis简介以及和其他缓存数据库的区别
前言

Redis除了可以存储键还可以存储常见的5种数据类型,分别是:String、List、Set、Ha…

Tomcat服务器顶层结构和启动过程

号外:2016 最流行的是哪一种 Java 应用服务器呢?
通过从部署的 1240 个 JVM 中得到的数据,我们能够确定出现了 862 个容器供应商,或者说是…

Java虚拟机之垃圾收集器(5)

一、关于Java垃圾回收的简介
(1)Java 内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法…

Java性能优化之字符串优化处理

1.String对象
String对象是java中重要的数据类型,在大部分情况下我们都会用到String对象。其实在Java语言中,其设计者也对String做…