自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 【面试必备】-- Java工程师知识点

很多人在面试的时候,不知道要准备些什么。接下来,我就给大家梳理一下Java工程师面试时,要准备的知识。如果你每个知识点都能搞定的话,那么我相信面试一定不是什么问题。一、计算机基础知识:数据结构计算机网络二、Java知识:Java基础Java集合Java并发Java虚拟机三、常用框架:Spring coreSpring mvcSpring bootMybatis ...

2019-10-14 17:30:22 437

原创 (一)程序员基础之算法设计与分析

前言程序 = 数据结构+算法。作为一名后端工程师,不懂数据结构和算法,你能写出好程序?我反正是不信。同时,这也是高频的面试点。所以从现在开始,想拿高薪,你最好精通数据结构和算法。一、算法的基本概念1.算法的概念算法(Alogirthm)是对特定问题求解步骤的一种描述,它是指令的有限序列。算法具有五大特征:(1)有穷性(2)确定性(3)可行性(4)输入(5)输出2.算法设计经常采用的算法设计技术有分治、动态规划、贪心、回溯法、分支界限法、概率算法和近似算法等。3.算法表示(

2021-07-27 11:07:17 829

转载 (一)Java面试最全技术专题

blogs介绍博主在互联网行业打拼多年,走了很多弯路,于是希望把我的内功传授给大家。本仓库包含面试、技术博客、软考等文章,希望能够帮助到你。机会从来都是留给努力拼搏的人。目前市面上的一些文章,我感觉比较分散,大多是东讲一点,西讲一点,不系统。鉴于此问题,我想讲一个比较系统的、全面的博客,希望大家能支持。如果有什么问题,可以私聊我,我或许能够帮到你。总之,我反正是比较喜欢那些努力的人,在他们身上,你能看到奋斗者的美。主页:https://my.oschina.net/shengxiaohu123

2021-07-17 14:25:25 110 1

原创 【缓存】-- cache缓存技术详解

标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑...

2019-09-24 17:56:28 594

原创 【Spring源码解析】-- Spring容器启动流程分析[注解版](三)

现在开始进入正题,开启我们对Spring源码的分析。那么首先看下面的代码: public static void main(String[] args){ //创建Spring容器,那么spring容器都经历了撒?怎么完成创建的呢?又是如何实现组件的扫描呢? AnnotationConfigApplicationContext applicationContext...

2019-09-06 16:22:04 260

原创 【Spring源码解析】-- Java注解知识回顾(一)

前言在学习spring注解驱动开发之前,我们先来回顾一下Java的注解相关的知识。一、注解的定义直接看代码:/*自定义注解@Book*/@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE})@Documentedpublic @interface Book { String name() default...

2019-09-05 14:31:56 182

原创 【Spring源码解析】-- 基于注解驱动开发(二)

前言由于目前网上比较的文章都是基于xml,完全基于注解开发,或者是基于注解源码分析比较少。所以决定写一写spring基于注解驱动开发的使用,以及实现原理分析。一、Spring的注解有哪些?功能是什么?...

2019-09-04 11:27:57 280

原创 【J.U.C详解】--线程池ThreadPoolExecutor源码解析

为什么要使用线程池呢?有什么好处?

2019-08-21 15:45:43 348 1

原创 【J.U.C详解】--深入理解AQS

一、AQS是什么?AQS全称AbstractQueuedSynchronizer,抽象队列同步器,简称同步器。它是用来构建锁或者其他同步组件的基础框架。它内部有一个int表示同步状态,通过内置的双向队列获取线程的排队工作,并发包作者doug lea期望它能够成为实现大部分同步需求的基础。1、volatile int state;0 表示无锁状态 大于0表示锁定状态int getState...

2019-08-20 15:18:04 272

原创 【J.U.C详解】--深入理解volatile关键字

一、volatile的语义1.Java内存模型先在了解volatile之前,我们来看看java内存模型。在计算机中,CPU的计算速度很快,但是存储速度跟不上,所以高速缓存就诞生了,它比内存读写速度快很多。那么问题来了,每个CPU都有自己的高速缓存,那他们的数据一致性怎样保证呢?解决缓存一致性方案有两种:通过在总线加 LOCK# 锁的方式通过缓存一致性协议第一种方案, 存在一个...

2019-08-19 17:25:02 235

原创 【J.U.C详解】--深入理解synchronized

目录synchronized使用synchronized实现原理synchronized优化一、synchronized使用在JDK1.5的时候,synchronized被称作为重量级锁。他的效率远不如Lock。但是在JDK1.6的时候,sun对其做了很多优化,因此效率不在是一个考虑指标了,synchronized也是在那么重了。synchronized可以修饰方法和作用于同步代码...

2019-08-19 16:48:46 143

原创 【源码分析】Java集合框架源码分析(三)

先来看看集合Collection的继承关系图:Collection接口主要分为三类:List、Set、Queue。List:有序、有下标、可重复Set:无序(LinkedHashSet除外)、无下标、无重复Queue:队列ArrayList用的比较多,可以做个详细的讲解。LinkedList实现了List接口和Deque接口,底层采用链表实现,下标查询和插入比较慢,优点是作为队列。...

2019-08-08 17:12:55 102

原创 【源码分析】Java集合框架源码分析(二)

接着上一篇继续讲,上一篇讲了一下HashMap,其实Map接口用的最多的实现就是HashMap,也是最复杂的一个。下面我们继续讲其他的实现类:LinkedHashMap、IdentityHashMap、TreeMap、WeakHashMap。1.LinkedHashMapLinkedHashMap他是继承的HashMap,增删改都是原用的HashMap的增删改查。唯一的区别就是遍历的时候,他记...

2019-08-08 13:54:45 87

原创 【源码分析】Java集合框架源码分析(一)

​​​​​​上图是Map的大致继承关系图,集合其实就是一个容器,下面我主要以增、删、改查和遍历来讲解接口和具体的实现类。首先来看Map接口:一、最顶层Map接口public interface Map<K,V> { /*键值对接口 Entry*/ interface Entry<K,V> { K getKey(); ...

2019-08-07 18:03:10 110

原创 【深入理解】TCP协议

一文带你彻底搞清TCP详解

2019-07-24 17:10:05 231

原创 Java基础(二)集合框架

集合框架类图

2019-07-11 15:54:18 104

原创 Java基础(一)

一、数据类型char 占用两个字节,jvm采用Unicode16编码,每个char占用两个字节。浮点类型数值后面跟f、l 例如 float f1 = 5.1f double d1 = 4.1d long size = 5L二、运算符①移位运算符:<< 、>>、 >>>。移位运算符是针对int类型的。如果不是int先强转,然后再移位,最...

2019-07-11 15:52:22 96

原创 计算机网络知识点

计算机网络概述

2019-07-05 14:49:53 122

原创 【数据结构】-- 排序(五)

排序

2019-07-04 14:24:23 103

原创 【数据结构】-- 查找(四)

查找

2019-07-04 14:22:38 98

原创 【数据结构 】-- 非线性结构(三)

非线性结构主要包括树和图。其中树主要的是二叉树。二叉树:每个结点至多只有两个子结点的树称为二叉树。二叉树的遍历:先序DLR、中序LDR、后序LRD、按层遍历①递归 /** * 中序遍历二叉树 * @param node 结点 */ static void preOrder(Node node){ if(node!=null){ ...

2019-07-03 21:35:47 552

原创 【数据结构】-- 线性结构(二)

线性结构线性表:顺序表示、链式表示链表:单向链表、双向链表、循环链表、循环双链表比较:链表插入快,顺序表查找快栈和队列双端队列:允许两端都可以进行入队和出队。...

2019-07-03 17:51:08 163

原创 (五)数据库常见问题收集

摘要:这里搜集一些常见的数据库相关的问题以及面试,如果你全部都能回答上,那么你在数据库上面的知识说明还是很不错,如果不清楚这些问题,那么这些问题可以给你带来技术上的提升。1.什么是事务?...

2019-02-22 14:43:20 952

原创 (四)SQL优化 -高性能MySQL

摘要:在我们平时写SQL的时候,我们大多数只是关心是否能查到想要的结果,忽略了性能问题。当某个时候,要求提升性能的,这个时候可能会无从下手。那么今天就来总结一下,怎么才能写出高性能的SQL。1、表设计和数据类型的优化...

2019-02-19 17:34:40 210

原创 (三)锁和事务

摘要:今天主要给大家介绍一下数据库的锁和事务。数据库的事务主要解决的问题是并发控制,试想一下,如何多个用户并发的去修改同一记录,会发生什么?1、锁锁的类型:共享锁:也叫读锁,多个客户可以同时读取同一个资源,互不干扰。排它锁:也叫写锁,写锁的优先级高于读锁,当写锁被占用的时候,这个时候读也是会被等待的,其他客户写也会等待。锁的粒度:表锁:粒度比较粗,锁定整张表。特点:开销小,...

2019-02-19 16:03:39 143

原创 (二)索引

今天主要讲一讲数据库索引,那么什么是索引?使用索引真的会使查询变快吗?

2019-02-19 11:18:14 211

原创 (一)MySQL体系架构

(一)MySQL体系架构目录一、MySQL体系结构二、MySQL内存结构三、MySQL文件结构四、Innodb体系结构1.MySQL体系结构由图,可以看出MySQL最上层是连接组件。下面服务器是由连接池、管理工具和服务、SQL接口、解析器、优化器、缓存、存储引擎、文件系统组成。连接池:由于每次建立建立需要消耗很多时间,连接池的作用就是将这些连接缓存下来,下次可以直接用已经建立好...

2019-02-19 09:59:16 15658 3

原创 数据结构(一) 绪论

1、什么是数据结构?数据结构:通常数据元素不是孤立存在的,他们之间存在着某种关系,这种元素之间的关系叫做结构。2、数据结构三要素①逻辑结构②存储结构③数据的运算逻辑结构:线性结构和非线性结构存储结构:顺序存储、链式存储、哈希、索引线性结构:线性表、栈、队列、串、数组、广义表非线性结构:树、二叉树、有向图、无向图3、算法定义:对特定问题的...

2018-07-08 12:44:18 114

原创 java工程师知识点总结

一、计算机基础1、数据结构与算2、计算机网络 TCP/IP协议二、Java相关1、Java语言基础2、Java集合框架3、Java虚拟机4、Java多线程5、Java netty框架三、Java Web知识1、MySQL和JDBC2、Servlet 3.0知识3、Tomcat四、Spring框架1、Spring IoC2...

2018-06-15 14:40:42 349

原创 JAVA基础知识概述

注意:闲暇之余,抽空来写点文章,对自己以前学过的知识一个总结、回顾、记录和提升。一.java基础知识

2018-04-24 15:58:50 115

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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