Java经典

JAVA容器-自问自答学HashMap

这次我和大家一起学习HashMap,HashMap我们在工作中经常会使用,而且面试中也很频繁会问到,因为它里面蕴含着很多知识点,可以很好的考察个人基础。但一个这么重要的东西,我为什么没有在一开始就去学习它呢,因为它是由多种基础的数据结构和一些代码设计思想组成的。我们要学习了这些…

MySQL JSON数据类型操作

mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据时,还是比较别扭的。 上面的语句,主要注意json_col这个字段,指定的数据类型…

【刷题】二叉树非递归遍历

三道题的解决思路可统一,模板也极其相似,比九章提供的更漂亮。 比如{1,2,3},当cur位于节点1时,1、2属于“左”节点,3属于“右”节点。DFS的非递归实现本质上是在协调入栈、出栈和访问,三种操作的顺序。上述统一使得我们不再需要关注入栈顺序,仅需要关注出栈和访问(第3点)…

HashMap实现原理

HashMap是常考点,而一般不问List的几个实现类(偏简单)。以下基于JDK1.8.0_102分析。 简单的说,capacity就是bucket的大小,loadFactor就是bucket填满程度的最大比例。当bucket中的entries的数目(而不是已占用的位置数)大于…

一点一滴探究 JVM 之内存结构

我一直尝试着用不一样的文字来写博客!原因很简单,你讲的知识书上都有,那么每个人为什么不选择看书而选择看你的博文来学习呢?因为书上的内容都是大片大片描述性的文字,对于jvm这块的知识,又是异常枯燥,但又不能不学习的硬骨头!这恰好也就能说明Head First系列的书籍为什么比较火…

【译】Java 8的新特性—终极版

Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级。在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java 8 – Lambdas and Concurrency、Java 8 Date Tim…

深入理解 Java 中 protected 修饰符

看似简单的东西可以引出很多问题,学习过程中很多概念我们都只是「好像了解」、「貌似是这样」、「应该没问题」, 其实缺乏的是仔细思考, 对自己少问了几个「为什么」。 在 Java 中, 访问权限修饰符属于最最基础的知识, protected 修饰符只是其中一个, 如果你要问为什么不…

漫画:什么是HashMap?

众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。 HashMap数组每一个元素的初始值都是Null。 对于HashMap,我们最常使用的是两个…

[[译] JWT 整合 Spring Security OAuth](https://juejin.im/entry/5a043...

在本教程中,我们将讨论将 Spring Security OAuth2 与 JSON Web Token 整合。 我们将在上一篇 OAuth 系列文章的基础上开展。 请注意,我们需要向授权服务器和资源服务器同时添加 spring-security-jwt 依赖。 请注意,我们在…

聊聊单元测试

遇到问题多思考、多查阅、多验证,方能有所得,再勤快点乐于分享,才能写出好文章。
单元测试(unit testing):是指对软件中的最小可测试单元进行检查和验证。
这个定义有点抽象,这里举几个单元测试的特性,大家感受一下:一般是一个函数配几个单元测试、单元测试不应该依赖外部系统…

目录:SpringBoot学习目录

上述是有关SpringBoot初期目标的目录,后期在更新文章中可能还会添加,每次添加都会修改本文章内容,并且每次发布新文章都会添加超链接到对应的章节。SpringBoot目标达成后还会有SpringCloud去构建微服务,希望大家多多支持。
欢迎加入QQ技术交流群,共同进步。


深入理解JVM类加载机制

简述:虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类从被加载到内存中开始,到卸载出内存,经历了加载、连接、初始化、使用四个阶段,其中连接又包含了验证、准备、解析三个步…

JAVA并发-自问自答学ThreadLocal

ThreadLocal很多同学都搞不懂是什么东西,可以用来干嘛。但面试时却又经常问到,所以这次我和大家一起学习ThreadLocal这个类。 1. 从JAVA官方对ThreadLocal类的说明定义(定义在示例代码中):ThreadLocal类用来提供线程内部的局部变量。这种变…

20个非常有用的Java程序片段 - 编程语言

下面是20个非常有用的Java程序片段,希望能对你有用。

Redis 如何分布式,来看京东金融的设计与实践

R2M 是京东金融线上大规模应用的分布式缓存系统,目前管理的机器总内存容量超过 60TB,近 600 个 Redis Cluster 集群,9200 多个 Redis 实例。

Java虚拟机详解——JVM常见问题总结

本文只是做一个总结,有关jvm的详细知识可以参考本人之前的系列文章,尤其是那篇:Java虚拟机详解04—-GC算法和种类。那篇文章和本文是面试时的重点。

分享:Spring加载资源文件冲突问题


30分钟SQL指南

本篇文章是 SQL 必知必会 的读书笔记,SQL必知必会的英文名叫做 Sams Teach Yourself in 10 Minutes。但是,我肯定是不能够在10分钟就能学会本书所有涉及到的sql,所以就起个名字叫30分钟学会SQL语句(其实半个小时也没有学会...)。
目前…

聊一聊Spring中的线程安全性

Spring作为一个IOC/DI容器,帮助我们管理了许许多多的“bean”。但其实,Spring并没有保证这些对象的线程安全,需要由开发者自己编写解决线程安全问题的代码。 Spring对每个bean提供了一个scope属性来表示该bean的作用域。它是bean的生命周期。例如,…

你必须了解的反射——反射来实现实体验证

日常开发,都是通过API进行前后端的系统对接,对API参数的验证是一个使用率非常高的功能,如果能非常简便的的进行参数验证,能降低代码量,提升工作效率。 这样导致实现起来重复的代码太多,而且开发起来太耗时。这里使用注解的方式进行优化,只需要在实体定义的时候,定义验证的内容,使用的…

[[译] RESTful API 设计最佳实践](https://juejin.im/entry/59e46...

项目资源的URL应该如何设计?用名词复数还是用名词单数?一个资源需要多少个URL?用哪种HTTP方法来创建一个新的资源?可选参数应该放在哪里?那些不涉及资源操作的URL呢?实现分页和版本控制的最好方法是什么?因为有太多的疑问,设计RESTful API变得很棘手。

面试中单例模式有几种写法?

纠结单例模式有几种写法有用吗?有点用,面试中经常选择其中一种或几种写法作为话头,考查设计模式和coding style的同时,还很容易扩展到其他问题。这里讲解几种猴哥常用的写法,但切忌生搬硬套,去记“茴香豆的写法”。编程最大的乐趣在于“know everything, cont…

JVM系列之Java内存结构详解

相信大多数Javaer对Java的内存结构都有一定的了解,但如果对于Java的内存结构只停留的"堆","栈"中显然是不够的。今天来给大家详细谈一谈Java的内存区域结构,本文基于 JDK7 的内存结构做讲解,JDK8的内存结构加上了metaspace,有些许变动,想详细了解的同…

JVM系列之实战内存溢出异常

大家好,相信大部分Javaer在code时经常会遇到本地代码运行正常,但在生产环境偶尔会莫名其妙的报一些关于内存的异常,StackOverFlowError,OutOfMemoryError异常是最常见的。今天就基于上篇文章JVM系列之Java内存结构详解讲解的各个内存区域重点…

Java 8 习惯用语 级联 lambda 表达式

在函数式编程中,函数既可以接收也可以返回其他函数。函数不再像传统的面向对象编程中一样,只是一个对象的工厂或生成器,它也能够创建和返回另一个函数。返回函数的函数可以变成级联 lambda 表达式,特别值得注意的是代码非常简短

如何合理的规划一次jvm性能调优

JVM性能调优涉及到方方面面的取舍,往往是牵一发而动全身,需要全盘考虑各方面的影响。但也有一些基础的理论和原则,理解这些理论并遵循这些原则会让你的性能调优任务将会更加轻松。为了更好的理解本篇所介绍的内容。你需要已经了解和遵循以下内容: 这些内容在之前的两篇文章已经介绍过了,如果…

Java常用异常整理

填坑,整理下Java的常用异常。正确使用异常在实际编码中非常重要,但面试中的意义相对较小,因为对异常的理解和应用很难通过几句话或几行代码考查出来,不过我们至少应答出三点:异常类的继承关系、常用异常类、常用异常类的使用场景,下文将围绕这三点介绍。 Java中,所有异常都继承自Th…

图解Java多线程

图解Java多线程笔记

一道java面试题分析及思考

无意中了解到如下面试题目,觉得蛮好,但是没有分析,所以自己拿来分析了下,以及自己的一些思考理解。 synchronize实例锁。 并发下的内存可见性。 该题目涉及到2个线程(主线程main、子线程)、关键词涉及到synchronized、Thread.sleep。 synchr…

你可能感兴趣的:(Java经典)