源无极

导航

 

2018年11月29日

摘要: 在java中,单例有很多种写法,面试时,手写代码环节,除了写算法题,有时候也会让手写单例模式, 这里记录一下单例的几种写法和优缺点。 1.初级写法 2.饿汉式 3.懒汉式 4.双锁检验 5.内部类 6.枚举 1.初级写法 1 package sheJiMoShe; 2 3 public class 阅读全文
posted @ 2018-11-29 23:19 源无极 阅读(190) 评论(0) 推荐(0)
 
摘要: 一、SpringBoot2.x监控Actuator实战上集 简介:讲解SpringBoot使用actuator监控配置和使用 可用性:100%,99.9% 1、介绍什么是actuator 官方介绍: Spring Boot包含许多附加功能,可帮助您在将应用程序投入生产时监视和管理应用程序。 可 以选 阅读全文
posted @ 2018-11-29 22:36 源无极 阅读(270) 评论(0) 推荐(0)
 
摘要: 一、阿里云服务器介绍和使用讲解 简介:阿里云服务器介绍和使用讲解 1) ​ 2)第一次需要注册 ​ ​ ​ ​ 3)控制台 ​二、阿里云Linux服务器部署JDK8实战 简介:在阿里云服务器上安装JDK8和配置环境变量 jdk 下载 https://www.oracle.com/technetwor 阅读全文
posted @ 2018-11-29 22:35 源无极 阅读(189) 评论(0) 推荐(0)
 
摘要: 一、服务端推送常用技术介绍 ​ 简介:服务端常用推送技术介绍,如websocket,sse轮询等 1、客户端轮询:ajax定时拉取(延迟1s) 2、服务端主动推送:WebSocket (时时刷新延迟1毫秒) 全双工的,本质上是一个额外的tcp连接,建立和关闭时握手使用http协议,其他数据传输不使用 阅读全文
posted @ 2018-11-29 22:33 源无极 阅读(783) 评论(0) 推荐(0)
 
摘要: 一、SprinBoot2.x响应式编程简介 简介:讲解什么是reactive响应式编程和使用的好处 1、基础理解: 依赖于事件,事件驱动(Event-driven) 一系列事件称为“流” 异步 非阻塞 1)买奶茶的案例(一个一个等待处理) ​ 2)响应式编程 ​ 观察者模式:服务员一直观察后台的情况 阅读全文
posted @ 2018-11-29 22:32 源无极 阅读(553) 评论(0) 推荐(0)
 
摘要: 一、SpringBoot多环境配置介绍和项目实战(核心知识) 简介:SpringBoot介绍多环境配置和使用场景 1、不同环境使用不同配置 例如数据库配置,在开发的时候,我们一般用开发数据库,而在生产环境的时候,我们是用正式的数据 ​ 2、配置文件存放路径 classpath根目录的“/config 阅读全文
posted @ 2018-11-29 22:29 源无极 阅读(167) 评论(0) 推荐(0)
 
摘要: 一、JMS介绍和使用场景及基础编程模型 简介:讲解什么是小写队列,JMS的基础知识和使用场景 1、什么是JMS: Java消息服务(Java Message Service),Java平台中关于面向消息中间件的接口 2、JMS是一种与厂商无关的 API,用来访问消息收发系统消息,它类似于JDBC(J 阅读全文
posted @ 2018-11-29 22:28 源无极 阅读(274) 评论(0) 推荐(0)
 
摘要: 一、搜索引擎知识和搜索框架elasticsearch(es)基本介绍 1. 简介:通过京东电商 介绍什么是搜索引擎,和开源搜索框架ElasticSearch6.x新特性介绍 前言:介绍ES的主要特点和使用场景,新特性讲解 mysql:like 模糊,性能问题,(数据量大起来查询太慢) Lucene是 阅读全文
posted @ 2018-11-29 22:23 源无极 阅读(363) 评论(0) 推荐(0)
 
摘要: 一、新日志框架LogBack介绍 简介:日志介绍和新日志框架Logback讲解 1.常用处理java的日志组件 slf4j,log4j,logback,common-logging 等 2、logback介绍:基于Log4j基础上大量改良,不能单独使用,推荐配合日志框架SLF4J来使用 logbac 阅读全文
posted @ 2018-11-29 22:21 源无极 阅读(111) 评论(0) 推荐(0)
 
摘要: 一、SpringBoot定时任务schedule讲解 简介:讲解什么是定时任务和常见定时任务区别 1、常见定时任务 Java自带的java.util.Timer类 timer:配置比较麻烦,时间延后问题 timertask:不推荐 2、Quartz框架(java.util.Timer 改造而来) 配 阅读全文
posted @ 2018-11-29 22:18 源无极 阅读(175) 评论(0) 推荐(0)
 
摘要: 一、分布式缓存Redis介绍 简介:讲解为什么要用缓存和介绍什么是Redis,新手练习工具 1.什么是Redis ​ 由c语言编写的,以键值对的形式存储的非关系数据库. 缓存技术(驻留在内存中) CPU(寄存器) > 内存 > 磁盘 ​ key:value ​ 支持5种数据类型: ​ String 阅读全文
posted @ 2018-11-29 22:17 源无极 阅读(318) 评论(0) 推荐(0)
 
摘要: 一、SpringBoot2.x持久化数据方式介绍 简介:介绍近几年常用的访问数据库的方式和优缺点 1、原始java访问数据库 开发流程麻烦 1、注册驱动/加载驱动 Class.forName("com.mysql.jdbc.Driver") 2、建立连接 Connection con = Drive 阅读全文
posted @ 2018-11-29 22:16 源无极 阅读(215) 评论(0) 推荐(0)
 
摘要: 一、SpringBoot Starter讲解 简单说springboot Starter 就是jar包的集合,集合了很多的依赖 简介:介绍什么是SpringBoot Starter和主要作用 1、官网地址:https://docs.spring.io/spring-boot/docs/2.1.0.B 阅读全文
posted @ 2018-11-29 22:13 源无极 阅读(223) 评论(0) 推荐(0)
 
摘要: 前言: 本节课介绍: 1.自定义过滤器Filter 2.Servlet3的使用 3.自定义Listenter 4.自定义拦截器Interceptor 一.filter 关于过滤器的含义本章不会过多陈述,不了解的可以百度查找,资料很多。 filter简单理解:人 >检票员(filter) > 景点 1 阅读全文
posted @ 2018-11-29 22:12 源无极 阅读(182) 评论(0) 推荐(0)
 
摘要: 一 .SpringBoot启动方式讲解和部署war项目到tomcat9 简介:SpringBoot常见启动方式讲解和部署war项目Tomcat 1.springboot启动有多中启动方式,前几节课我们用了直接启动主程序类Application.java即可 还有打jar包之后 java -jar x 阅读全文
posted @ 2018-11-29 22:10 源无极 阅读(661) 评论(0) 推荐(0)
 
摘要: 一、@SpringBootTest单元测试实战 前言 这次来介绍下Spring Boot中对单元测试的整合使用,本篇会通过以下2点来介绍,基本满足日常需求 Service层单元测试 Controller层单元测试 Service层单元测试 Controller层单元测试 正文 一般我们接口或是方法开 阅读全文
posted @ 2018-11-29 22:08 源无极 阅读(241) 评论(0) 推荐(0)
 
摘要: 前两章学习的时候发现,项目中改代码或是配置的时候都需要启动项目,这在实际开发中效率是非常低的,所以我们有了热部署的概念。 一.热部署的概念 1. 热部署:就是用插件去监听我们的java文件和classpath类文件变化,如果监听到有变化,就启动类加载器,比如是java文件就加载到虚拟机JVM中,这样 阅读全文
posted @ 2018-11-29 22:06 源无极 阅读(309) 评论(0) 推荐(0)
 
摘要: ​ @Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。 1、共同点 两者都可以写在字段和setter方法上。两者如果都写在字段上, 阅读全文
posted @ 2018-11-29 22:01 源无极 阅读(92) 评论(0) 推荐(0)
 
摘要: 一、ASCII 码 我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000 阅读全文
posted @ 2018-11-29 21:56 源无极 阅读(286) 评论(0) 推荐(0)
 
摘要: ​ 相信很多刚接触JQuery的人,很多都会对$(this)和this的区别模糊不清,那么这两者有什么区别呢? 首先来看看JQuery中的 $() 这个符号,实际上这个符号在JQuery中相当于JQuery(),即$(this)=jquery();也就是说,这样可以返回一个jquery对象。那么,当 阅读全文
posted @ 2018-11-29 21:53 源无极 阅读(143) 评论(0) 推荐(0)
 
摘要: 第六章 树 一、选择题 1、二叉树的深度为k,则二叉树最多有( C )个结点。 A. 2k B. 2k-1 C. 2k-1 D. 2k-1 2、用顺序存储的方法,将完全二叉树中所有结点按层逐个从左到右的顺序存放在一维数组R[1..N]中,若结点R[i]有右孩子,则其右孩子是( B )。 A. R[2 阅读全文
posted @ 2018-11-29 21:50 源无极 阅读(7517) 评论(0) 推荐(0)
 
摘要: 一、直接插入排序 ​ 定义 ​ 1 @Test 2 public void InsertSort(){ 3 int[] a={0,5,3,4,6,2}; 4 int i,j; 5 for( i=1;i<a.length;i++){ 6 if(a[i]<a[i-1]){//将啊[i]插入到有序的子表 阅读全文
posted @ 2018-11-29 21:49 源无极 阅读(194) 评论(0) 推荐(0)
 
摘要: 一、简单排序 ​ 1 @Test 2 public void SelectSort(){ 3 int j,min; 4 int[] a={9,1,5,8,3,7,4,6,2}; 5 for(int i=0;i<a.length;i++){ 6 min=i; //将当前下标定义为最小值下标 7 for 阅读全文
posted @ 2018-11-29 21:48 源无极 阅读(158) 评论(0) 推荐(0)
 
摘要: 一、最简单的排序实现 冒泡排序是一种交换排序,其基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 1、 冒泡排序初级版 1 @Test 2 public void BubbleSort1(){ 3 int count =1; 4 int[] a={9,1,5,8,3,7 阅读全文
posted @ 2018-11-29 21:47 源无极 阅读(151) 评论(0) 推荐(0)
 
摘要: 一、树的定义 ​ 注意: ​ 1、节点分类 ​ 2、节点间的关系 ​ ​ 3、树的其他相关概念 ​ ​ 线性表和森林(树)的对比 ​ 二、二叉树 ​ ​ 特点 ​ 二叉树的五种形态 ​ ​ 满二叉树 ​ 完全二叉树 ​ ​ ​ 三、二叉树的性质 性质1 ​ 性质2 ​ 性质3 ​ 性质4 ​ 性质5 阅读全文
posted @ 2018-11-29 21:45 源无极 阅读(279) 评论(0) 推荐(0)
 
摘要: 第三章 栈和队列 一、选择题 1、一个栈的输入序列为:a,b,c,d,e,则栈的不可能输出的序列是( )。 A. a,b,c,d,e B. d,e,c,b,a C. d,c,e,a,b D. e,d,c,b,a 2、判断一个循环队列Q(最多n个元素)为满的条件是( )。 A. Q->rear==Q- 阅读全文
posted @ 2018-11-29 21:44 源无极 阅读(11667) 评论(0) 推荐(0)
 
摘要: 一、定义 ​ ​ 1、栈的操作 ​ 注意:栈的插入和删除改名叫push和pop 2、栈的顺序存储结构和实现 ​ ​ ​ 1)进栈操作 ​ ​ 2)出栈的操作 ​ 3、两栈共享空间 ​ ​ ​ 注意: ​ ​ 4、栈的链式存储结构和实现 1)进栈 ​ ​ ​ 2)出栈 ​ ​ 栈的用途递归 二、队列的 阅读全文
posted @ 2018-11-29 21:43 源无极 阅读(257) 评论(0) 推荐(0)
 
摘要: 第二章 线性表 一、选择题 1、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度( )。 A. O(log2n) B.O(1) C. O(n) D.O(n2) 2、若一个线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用( )存储方式最节省时间。 A. 阅读全文
posted @ 2018-11-29 21:42 源无极 阅读(14820) 评论(1) 推荐(0)
 
摘要: 一 、线性表的定义 :零个或多个数据元素的 ​ 二、线性表的抽象数据类型 ​ ​ 三、线性表的顺序存储结构 ​ 1、数据长度和线性表长度的区别 ​ ​ ​ 一)、顺序存储结构的插入与删除 1、插入操作 ​ ​ 2、删除操作 ​ ​ 3、分析插入和删除的时间复杂度 ​ 根据前面的时间复杂度的推导得知, 阅读全文
posted @ 2018-11-29 21:39 源无极 阅读(237) 评论(0) 推荐(0)
 
摘要: 第一章 绪论和算法 一、选择题 1、研究数据结构就是研究( D )。 A. 数据的逻辑结构 B. 数据的存储结构 C. 数据的逻辑结构和存储结构 D. 数据的逻辑结构、存储结构及其基本操作 (研究非数值计算的程序设计问题中,计算机操作对象以及他们之间的关系和操作) 2、算法分析的两个主要方面是( A 阅读全文
posted @ 2018-11-29 21:38 源无极 阅读(4767) 评论(0) 推荐(0)
 
摘要: 一.数据结构绪论 数据结构含义:是相互之间存在一种或多种特定关系的数据元素的集合 1,数据结构起源 1)数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。 2)程序设计的实质是对确定的问题选择一种好的结构,加上好的算法。 2、基本概念和术语 1)数据: 阅读全文
posted @ 2018-11-29 21:37 源无极 阅读(205) 评论(0) 推荐(0)
 
摘要: 打开浏览器从输入网址到网页呈现在大家面前,背后到底发生了什么?经历怎么样的一个过程?先给大家来张总体流程图,具体步骤请看下文分解! ​ 从URL输入到页面展现 总体来说分为以下几个过程: DNS 解析:将域名解析成 IP 地址 TCP 连接:TCP 三次握手 发送 HTTP 请求 服务器处理请求并返 阅读全文
posted @ 2018-11-29 21:35 源无极 阅读(110) 评论(0) 推荐(0)
 
摘要: 学完了mysql后发现有很多地方不是很明白,于是总结了mysql的经典题型,不论是工作还是面试,我相信还是有一定帮助的。 例题一 ​ 在我的数据库中数据如下(排序有些差别,但是不影响结果) ​ 分析:分两步解答 1)查询除了学号外其他数据重复时显示小的学号id select MIN(id) id f 阅读全文
posted @ 2018-11-29 21:30 源无极 阅读(343) 评论(0) 推荐(0)
 
摘要: 1 //使用泛型 E 2 public class MyArrayList<E> { 3 //定义一个数组 4 private Object[] elementData; 5 private int size; 6 public MyArrayList() { 7 this(10);//初始化 8 阅读全文
posted @ 2018-11-29 21:12 源无极 阅读(257) 评论(0) 推荐(0)
 
摘要: 学过集合的读者都知道,ArrayList的底层实现是用数组实现,而LinkedList的实现则是用链表实现。那么什么是链表呢?其实可以把它比喻成一串珠子,珠子通过线来串连起来。要想找到中间的珠子,就只能通过第一个珠子或者最后一个珠子,一个一个的找下去,直到找到所要的珠子。 ​ 链表分为单向链表和双向 阅读全文
posted @ 2018-11-29 21:09 源无极 阅读(215) 评论(0) 推荐(0)
 
摘要: HashMap集合是Map接口的实现类,在Map集合不同于Collectiion集合,Map集合存放的是键值对,通过键(key)可以找到对应的值(value),而且每一个key是唯一的。那么该如何自定义实现HashMap呢? 通过阅读jdk的源代码,发现HashMap的底层数据结构其实就是数组加上链 阅读全文
posted @ 2018-11-29 21:00 源无极 阅读(308) 评论(0) 推荐(0)
 
摘要: 上次课我们讲了springboot的入门案例,今天先讲一下springboot2.x的简单几种用法,后续我会重点分析springboot2.x的配置文件和启动原 理。(说明:本教程内容详细,主要是照顾基础薄弱的朋友) 回顾: 入门案例中我们讲启动的部分和业务代码放在一起,现在我们将他们分开,如下图所 阅读全文
posted @ 2018-11-29 20:39 源无极 阅读(222) 评论(0) 推荐(0)
 
摘要: 一 什么是spring boot? Takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and is 阅读全文
posted @ 2018-11-29 19:27 源无极 阅读(257) 评论(0) 推荐(0)