面试官问:“在项目中用过多线程吗?”你就把这个案例讲给他听!

在面试当中,有时候会问到你在项目中用过多线程么? 对于普通的应届生或者工作时间不长的初级开发 ???—— crud仔流下了没有技术的眼泪。 博主这里整理了项目中用到了多线程的一个简单的实例,希望能对你有所启发。 多线程开发实例 应用背景 应用的背景非常简单,博主做的项目是一个审核类的项目,审核的数据 ... »

MySQL索引由浅入深

索引是SQL优化中最重要的手段之一,本文从基础到原理,带你深度掌握索引。 一、索引基础 1、什么是索引 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构,索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引优化应该是对查询 ... »

这些不可不知的JVM知识,我都用思维导图整理好了

JVM是面试中必问的部分,本文通过思维导图以面向面试的角度整理JVM中不可不知的知识。 先上图: 1、JVM基本概念 1.1、JVM是什么 JVM 的全称是 「Java Virtual Machine」,也就是我们耳熟能详的 Java 虚拟机。 JVM具备着计算机的基本运算方式,它主要负责把 Jav ... »

给你的SpringBoot项目定制一个牛年专属banner吧

新春快乐,牛年大吉! 新的一年是牛年,在SpringBoot项目里自定义了一个牛年相关的banner,看起来可真不错。 上面是自己制作的一个banner,相关的ASCII字符在文末。 SpringBoot项目自定义banner非常简单,通过在classpath下添加一个banner.txt或设置ba ... »

计算机网络的七层结构、五层结构和四层结构

1、 计算机网络体系 计算机网络体系结构分为3种:OSI体系结构(七层),TCP/IP体系结构(四层),五层体系结构。 OSI体系结构: 概念清楚,理论也比较完整,但是它既复杂又不实用。 TCP/IP体系结构:TCP/IP是一个四层体系结构,得到了广泛的运用。 五层体系结构:为了方便学习,折中OSI ... »

synchronized详解

synchronized是Java多线程中元老级的锁,也是面试的高频考点,让我们来详细了解synchronized吧。 在Java中,synchronized锁可能是我们最早接触的锁了,在 JDK1.5之前synchronized是一个重量级锁,相对于juc包中的Lock,synchronized显 ... »

思维导图整理Java并发基础

话不多说,先上图。 1、基本概念 欲说线程,必先说进程。 进程:进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程:线程是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的资源。 操作系统在分配资源时是把资源分配给进程的, 但是 CPU 资源比较特 ... »

一步步使用SpringBoot结合Vue实现登录和用户管理功能

前后端分离开发是当今开发的主流。本篇文章从零开始,一步步使用SpringBoot结合Vue来实现日常开发中最常见的登录功能,以及登录之后对用户的管理功能。通过这个例子,可以快速入门SpringBoot+Vue前后端分离的开发。 前言 1、前后端分离简介 在这里首先简单说明一下什么是前后端分离和单页式 ... »

一张脑图整理Docker常用命令

先上图: Dcoker基本概念 Docker 包括三个基本概念: 镜像(Image):Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改 ... »

Git全栈开发者使用指南

一、Git基础 1、Git简介 Git是一种分布式版本控制系统,由Linux之父Linus开发。 所谓分布式版本管理系统,就是在每一台机器上都有一个完整的仓库。 2、Git官网 Git官网:git 在官网上可以获取Git的安装软件。 除此之外,还可以下载《progit》——这是最棒的Git学习资料, ... »

Maven打包跳过测试

使用Maven打包的时候,可能会因为单元测试打包失败,这时候就需要跳过单元测试。 Maven跳过单元测试有种方法。 一、命令行方式跳过测试 我们可以用两种命令来跳过测试 mvn clean install -DskipTests mvn clean install -Dmaven.test.skip ... »

SpringBoot学习笔记(十七:MyBatis-Plus )

@ 一、MyBatis-Plus简介 MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 MyBatis-Plus具有如下特性: 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗 ... »

HashMap源码阅读笔记

@ 本文基于jdk1.8 HashMap采用 key/value 存储结构,每个key对应唯一的value。 在jdk1.7之前,HashMap 的内部存储结构是数组+链表。 在jdk1.8中 HashMap的存储结构是 数组+链表+红黑树,提高了效率。 一、红黑树 在阅读HashMap源码之前,有 ... »

一个真正的高级开发是什么样的?

译 原文地址:https://dev.to/themarcba/what-is-a-senior-developer-really-59dg 对于高级开发人员是什么样存在一个普遍的误解。有人会告诉你高级开发是有着多年的经验,而其它人会告诉你是“光速bug修复者”。这些都不是。 高级高发不是这样☝️ ... »

重学数据结构(六、树和二叉树)

树结构是一类重要的非线性数据结构。直观来看,树是以分支关系定义的层次结构。树结构在客观世界广泛存在,如人类社会的族谱和各种社会组织机构都可用树来形象表示。 树在计算机领域中也得到广泛应用,尤以二叉树最为常用。如在操作系统中,用树来表示文件目录的组织结构。在编译系统中,用树来表示源程序的语法结构。在数 ... »

北漂程序猿约会大学班花,竟发现彼此都……

是的,我是个标题党!我错了! 博主在今年结束了四处漂泊的流浪野生程序猿生涯,找了家国企,将自己圈了起来。 到了北京,想起在北京还有一些同学,本文的班花小姐姐就是其中一个——是的,小姐姐真的是班花,很甜的那种,这点没有标题党。 ↓↓↓ 其实,大学时候,接触的并不多。但是,独自北上,真正“独在异乡为异客 ... »

一年经验Java开发0713面试

@ 介绍一下你做的某些模块,有些什么比较复杂的地方? 略。 你们的文件怎么存储的? 我们的文件是存储在MongoDB中的。 MongoDB单个文档的存储限制是16M,如果要存储大于16M的文件,就要用到MongoDB GridFS。 GridFS是Mongo的一个子模块,使用GridFS可以基于Mo ... »

Java8 Stream

@ 1、什么是流? Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不相关的东西。 Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合 ... »

Java Lambda表达式

译 原文作者:Jakob Jenkov 原文链接:http://tutorials.jenkov.com/java/lambda-expressions.html @ Java Lambda表达式是Java8中的新特性。Java lambda表达式是Java进入函数式编程的第一步。因此,Java l ... »