自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java多线程

一、多线程的创建1.1 继承Thread类Thread类:Java是通过java.lang.Thread 类来代表线程的。按照面向对象的思想,Thread类应该提供了实现多线程的方式。多线程的实现方案一:继承Thread类定义一个子类MyThread继承线程类java.lang.Thread,重写run()方法。创建MyThread类的对象。调用线程对象的start()方法启动线程(启动后还是执行run方法的)public class ThreadDemo1 {

2022-05-06 17:56:16 177

原创 jQuery常用API

一、 jQuery选择器1.1 基础选择器原生 JS 获取元素方式很多,很杂,而且兼容性情况不一致,因此 jQuery 给我们做了封装,使获取元素统一标准。$(“选择器”) // 里面选择器直接写 CSS 选择器即可,但是要加引号1.2 层级选择器层级选择器最常用的两个分别为:后代选择器和子代选择器。案例:<body> <div>我是div</div> <div class="nav">我是nav div</d

2022-05-06 17:52:34 642

原创 JavaScript预解析

一、 预解析JavaScript 代码是由浏览器中的 JavaScript 解析器来执行的。JavaScript 解析器在运行 JavaScript 代码的时候分为两步:预解析和代码执行。预解析:在当前作用域下, JS 代码执行之前,浏览器会默认把带有 var 和 function 声明的变量在内存中进行提前声明或者定义,预解析也叫做变量、函数提升。代码执行: 从上到下执行JS语句。注意:预解析会把变量和函数的声明在代码执行之前执行完成。二、变量预解析和函数预解析2

2022-05-06 17:48:27 159

原创 JavaScript内置对象

一、内置对象JavaScript 中的对象分为3种:自定义对象 、内置对象、 浏览器对象。前面两种对象是JS 基础内容,属于 ECMAScript; 第三个浏览器对象属于 JS 独有的。内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)内置对象最大的优点就是帮助我们快速开发。JavaScript 提供了多个内置对象:Math、 Date 、Array、String等。二、查文档学习一个内置对象的使用

2022-05-06 17:47:45 121

原创 RabbitMQ核心

一、Hello World我们将用 Java 编写两个程序。发送单个消息的生产者和接收消息并打印出来的消费者。我们将介绍 Java API 中的一些细节。在下图中,“ P”是我们的生产者,“ C”是我们的消费者。中间的框是一个队列-RabbitMQ 代表使用者保留的消息缓冲区。1.1 依赖<!--指定 jdk 编译版本--><build> <plugins> <plugin> <groupId>org

2022-05-06 17:35:59 130

原创 官方文档地址

1. Spring Data JPASpring Data JPA - 参考文档: https://docs.spring.io/spring-data/jpa/docs/2.5.2/reference/html/#new-features2. TDengineTDengine文档:https://www.taosdata.com/cn/documentation/

2021-07-08 17:39:44 80

原创 Elasticsearch

Elasticsearch一、Elasticsearch概述1.1 Elasticsearch的概念1.2 全文搜索引擎1.3 Elasticsearch And Solr1.4 Elasticsearch Or Solr二、Elasticsearch入门2.1 Elasticsearch安装2.2 Elasticsearch基本操作2.2.1 RESTful2.2.2 客户端安装2.2.3 数据格式2.2.4 HTTP 操作2.2.4.1 索引操作一、Elasticsearch概述1.1 Elas

2021-05-22 00:24:06 1629 3

翻译 RabbitMQ

RabbitMQ一、MQ引言1.1 MQ的概念1.2 MQ的分类1.3 不同MQ之间的对比二、RabbitMQ 的引言2.1 RabbitMQ2.2 RabbitMQ的安装2.3 web管理界面介绍一、MQ引言1.1 MQ的概念MQ(Message Quene) : 翻译为消息队列,通过典型的生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现系统间解耦。别名为 消息中间件通

2021-04-26 12:12:17 366

原创 FastDFS

FastDFS一、FastDFS入门1.1分布式文件系统一、FastDFS入门1.1分布式文件系统分布式文件系统 (Distributed File System) 是一个软件/软件服务器,这个软件可以用来管理文件。但这个软件所管理的文件通常不是在一个服务器节点上,而是在多个服务器节点上,这些服务器节点通过网络相连构成一个庞大的文件存储服务器集群,这些服务器都用于存储文件资源,通过分布式文件系统来管理这些服务器上的文件。常见的分布式文件系统有:FastDFS、GFS、HDFS、Lustre

2021-04-16 13:04:04 828 1

原创 JUC并发编程

JUC并发编程1. 线程和进程1. 线程和进程进程: 一个程序,QQ.exe Music.exe 程序的集合; 一个进程往往可以包含多个线程,至少包含一个。Java默认有几个线程: 2 个(mian、GC)。线程:开了一个进程 Typora,写字,自动保存(线程负责的)创建线程(对于Java而言):Thread、Runnable、Callable。Java真的可以开启线程吗? 开不了public synchronized void start() { if (thr

2021-03-17 22:51:49 149 1

原创 Spring5 - Aop

Spring5 - Aop一、AOP 的相关概念1.1AOP 概述1.1.1 什么是 AOP1.1.2 AOP 的作用及优势1.1.3 AOP 的实现方式1.2 动态代理1.2.1 动态代理的特点1.2.2 动态代理常用的有两种方式1.2.3 使用 JDK 官方的 Proxy 类创建代理对象1.2.4 使用 CGLib 的 Enhancer 类创建代理对象二、 Spring 中的 AOP2.1 Spring 中 AOP 的细节2.1.1 AOP 相关术语一、AOP 的相关概念1.1AOP 概述1.1

2021-03-09 17:47:03 140

原创 Netty(二)

Netty一、Netty概述1.1 原生NIO存在的问题1.2 Netty官网说明一、Netty概述1.1 原生NIO存在的问题NIO 的类库和 API 繁杂,使用麻烦:需要熟练掌握 Selector、ServerSocketChannel、SocketChannel、ByteBuffer 等。需要具备其他的额外技能:要熟悉 Java 多线程编程,因为 NIO 编程涉及到 Reactor模式,你必须对多线程 和网络编程非常熟悉,才能编写出高质量的 NIO 程序。开发工作量和难度都非常大:例如客户

2021-01-16 19:28:13 746

原创 Netty(一)

Netty一、Netty介绍和应用场景1.1 Netty的介绍1.2 Netty的应用场景1.2.1 互联网行业一、Netty介绍和应用场景1.1 Netty的介绍Netty是由JBOSS提供的一个Java开源框架,现为Github上的独立项目。Netty是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络IO程序。Netty主要针对在TCP协议下,面向Clients端的高并发应用,或者Peer-to-Peer场景下的大量数据持续传输的应用。Netty本质是一个NIO框

2021-01-13 16:21:57 337 1

原创 Java类与对象

Java类与对象一、面向对象思想1.1 面向对象思想概述1.2 类和对象一、面向对象思想1.1 面向对象思想概述概述:Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用Java语言去设计、开发计算机程序。这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。它区别于面向过程思想,强调的是通过调用对象的行为来

2021-01-12 18:00:56 97

原创 Java封装、继承、多态

Java封装、继承、多态一、封装2.1 封装概述一、封装2.1 封装概述概述:面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。原则:将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问。...

2021-01-12 10:29:54 98

原创 Java数组

Java数组一、 数组定义和访问1.1 容器概述1.2 数组概念1.3 数组的定义一、 数组定义和访问1.1 容器概述案例分析现在需要统计某公司员工的工资情况,例如计算平均工资、找到最高工资等。假设该公司有50名员工,程序首先需要声明50个变量来分别记住每位员工的工资,然后在进行操作,这样做会显得很麻烦,而且错误率也会很高。因此我们可以使用容器进行操作。将所有的数据全部存储到一个容器中,统一操作。容器概念容器:是将多个数据存储到一起,每个数据称为该容器的元素。生活中的容器:水杯,衣柜,教室。

2021-01-11 10:46:56 195 3

原创 Java流程控制语句

Java流程控制语句一、流程控制1.1 概述1.2 顺序结构二、判断语句2.1 判断语句--if一、流程控制1.1 概述在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行结果 有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现 我们要完成的功能。1.2 顺序结构public static void main(String[] args){ //顺序执行,根据编写的顺序,从上到下运行 System

2021-01-10 14:45:48 146

原创 Java数据类型转换、运算符、方法

Java数据类型转换、运算符、方法一、数据类型转换一、数据类型转换Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。

2021-01-09 23:23:33 532

原创 Java入门程序

这里写自定义目录标题一、开发前言1. Java语言概述1.1 Java语言1.2 Java语言发展历史1.3 Java语言能做什么2. 计算机基础知识2.1 二进制2.2 字节一、开发前言1. Java语言概述1.1 Java语言Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言。所谓编程语言,是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。1.2 Java语言发展历史1995年Sun公司发

2021-01-09 19:12:02 689 11

原创 Springboot整合消息队列Kafka

Springboot整合消息队列Kafka一、Spring-Kafka二、快速入门2.1 引入依赖2.2 应用配置文件2.3 Application2.4 Demo01Message2.5 Demo01Producer2.6 Demo01Consumer2.7 Demo01AConsumer2.8 简单测试2.9 @KafkaListener一、Spring-Kafka在 Spring 生态中,提供了 Spring-Kafka 项目,让我们更简便的使用 Kafka 。Spring for Apac

2020-12-24 17:58:50 335

原创 消息队列之Kafka

消息队列之Kafka一、Kafka的特点一、Kafka的特点Kafka 最早是由 LinkedIn 公司开发一种分布式的基于发布/订阅的消息系统,之后成为 Apache 的顶级项目。主要特点如下:同时为发布和订阅提供高吞吐量Kafka 的设计目标是以时间复杂度为 O(1) 的方式提供消息持久化能力,即使对TB 级以上数据也能保证常数时间的访问性能。即使在非常廉价的商用机器上也能做到单机支持每秒 100K 条消息的传输。消息持久化将消息持久化到磁盘,因此可用于批量消费,例如 ETL 以及实时应用

2020-12-23 17:53:15 141

原创 SpringSecurity整合OAuth2

SpringSecurity整合OAuth2一、概述1.1 OAuth2.0 是什么?1.2 OAuth2.0 角色解释1.3 OAuth 2.0 运行流程1.4 OAuth 2.0 授权模式二、密码模式一、概述1.1 OAuth2.0 是什么?OAuth(Open Authorization)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。OAuth 允许用户提供一个令牌,而不是用户名和密码来访问他们存放

2020-12-23 15:21:58 2020

原创 Springboot整合SpringSecurity

Springboot整合SpringSecurity一、概述二、快速入门2.1 引入依赖一、概述基本上,在所有的开发的系统中,都必须做认证(authentication)和授权(authorization),以保证系统的安全性。以论坛举例子:【认证】你要登陆论坛,输入用户名张三,密码 1234,密码正确,证明你张三确实是张三,这就是 authentication。【授权】再一 check 用户张三是个版主,所以有权限加精删别人帖,这就是 authorization 。二、快速入门2.1 引

2020-12-23 12:23:42 576

原创 MybatisPlus

MybatisPlus一、简介一、简介MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。官网:http://mp.baomidou.com/参考教程:http://mp.baomidou.com/guide/二、特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mappe

2020-12-05 22:08:02 170

原创 项目简介

项目简介一、在线教育1. 基本概述一、在线教育1. 基本概述在线教育顾名思义,是以网络为介质的教学方式,通过网络,学员与教师即使相隔万里也可以开展教学活动;此外,借助网络课件,学员还可以随时随地进行学习,真正打破了时间和空间的限制,对于工作繁忙,学习时间不固定的职场人而言网络远程教育是最方便不过的学习方式。...

2020-12-05 20:15:09 784

原创 Jenkins+Maven+Sonar

Jenkins+Maven+Sonar一、持续集成基础理论知识1. 持续集成CI1. 什么是集成2. 什么是持续集成3. 持续集成带来的好处4. 持续集成的目的5. 什么情况下需要使用持续集成一、持续集成基础理论知识1. 持续集成CI1. 什么是集成在说持续集成前,我们先了解下什么是“集成”。在实际的软件开发中,常常会有如下两种场景:现在有一个电商平台需要开发,由于电商平台某块众多,此时就需要不同的开发人员开发不同的某块,晨后将所有人开发好的代码集成到个系统中。集成完毕后需要对其进行部署上线。

2020-11-23 10:38:45 2364

原创 Linux操作系统

Linux操作系统一、Linux介绍1. 引言2. Linux介绍3. Linux的版本4. Linux和Windows区别二、Linux安装三、Linux的基本操作1. Linux的基本目录2. 获取Linux中的信息四、Linux命令1. 目录命令2. 文件的命令一、Linux介绍1. 引言在学习Lnux之前,大家先了解开发环境,生产,测试环境。1.开发环境:平时大家大多是在 Windows或者Mac操作系统下去编写代码进行开发,在开发环境中安装大量的软件,这样会导致环境的稳定性和安全性降低。

2020-11-19 15:11:45 549

原创 架构演进

架构演进一、开发环境&生产环境1. 开发环境2. 生产环境一、开发环境&生产环境1. 开发环境平时在写代码时大多都在是 Win10/Win7/Mac这些系统都可以称呼为开发环境,咱们会为了更高效的开发应用程序安装很多很多的软件会导致操作系统不安全稳定性降低。2. 生产环境在生产环境中操作系统不会采用win10/Mac这种操作系统相对不安全,生产环境是要面向全体用户的一般会采用专业的操作系统,大多市面上使用的都是基于linux的操作系统还有 Windows版本的服务器操作系统

2020-11-19 10:20:54 390

原创 Docker的详细使用

Docker的详细使用一、Docker概述1.Docker为什么会出现?二、Docker安装1.Docker的基本组成2. 安装Docker一、Docker概述1.Docker为什么会出现?一款产品:开发-上线两套环境!应用环境,应用配置。开发-运维。问题:我在我的电脑上可以运行!版本更新,导致服务不可用!对于运维来说,考验就十分大?环境配置是十分的麻烦,每一个机器都要部署环境(集群 Redis、ES、Hadoop)!费时费力。发布个项目(jr+( Redis MySQL jdk ES)),项目能

2020-11-11 17:46:27 1672 1

原创 MySql多表关联语句操作

MySql多表关联语句操作一、表结构二、建表语句一、表结构Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表二、建表语句

2020-10-24 23:30:56 827

原创 Shiro详细使用

Shiro详细使用一、权限的管理1.1 什么是权限管理1.2 什么是身份认证1.3 什么是授权二、什么是Shiro三、Shiro的核心架构3.1 Subject3.2 SecurityManager3.3 Authenticator3.4 Authorizer3.5 Realm3.6 SessionManager3.7 SessionDAO3.8 CacheManager3.9 Cryptography四、shiro中的认证4.1 认证4.2 shiro中认证的关键对象一、权限的管理1.1 什么是权限管

2020-10-10 17:14:31 1298

原创 Zookeeper简单使用

Zookeeper简单使用一、单机部署1. 下载并安装二、 Zookeeper集群搭建三、Zookeeper客户端的使用一、单机部署1. 下载并安装下载页面#下载wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6-bin.tar.gz #解压tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz#进入zookeeper目录cd apache

2020-09-17 17:46:08 100

原创 Java常见问题

Java 工程师面试题一、Mybatis部分二、Zookeeper部分三、Dubbo部分四、Elasticsearch部分五、Memcached部分六、Redis部分七、MySQL部分八、Java并发编程1九、Java并发编程2十、Java基础1十一、Java基础2十二、Spring部分1十三、Spring部分2十四、微服务部分十五、Linux部分十六、SpringBoot部分十七、SpringCloud部分十八、RabbitMQ部分十九、Kafka部分一、Mybatis部分二、Zookeeper部分

2020-09-16 16:05:42 253

原创 java集合—ConcurrentHashMap

java集合—ConcurrentHashMap1. 几种常见的锁1.1 synchronized1.2 CAS1.3 volatile(非锁)1.4 自旋锁1.5 分段锁1.6 ReentrantLock1. 几种常见的锁1.1 synchronizedjava中的关键字,内部实现为监视器锁,主要是通过对象监视器在对象头中的字段来表明的。synchronized从旧版本到现在已经做了很多优化了,在运行时会有三种存在方式:偏向锁,轻量级锁,重量级锁。偏向锁,是指一段同步代码一直被一个线程访问,那么

2020-09-09 13:51:17 129

原创 java集合—HashMap

java集合—HashMap1. 红黑树的性质2. 继承体系3. 属性4. 内部类6. 构造方法7. 方法7.1 put(K key, V value)方法 添加元素1. 红黑树的性质节点是红色或黑色。根节点是黑色。每个叶节点(NIL节点,空节点)是黑色的。每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。2. 继承体系HashMap实现了Cloneable,可以被克隆。HashM

2020-09-08 17:54:30 139

原创 java内存模型

java内存模型1. JMM(Java Memory Model)八大原子操作1. JMM(Java Memory Model)八大原子操作lock(锁定): 作用于主内存的变量,把一个变量标识为一条线程独占状态unlock(解锁): 作用于主内存的变量,把一个处于锁定状态的变量释放出来 , 释放后的变量才可以被其他线程锁定。read(读取) : 作用于主内存的变量 , 把一个变量值从主内存传输到线程的工作内存中,以便随后的load动作使用。load(载入): 作用域工作内存的变量,它把rea

2020-09-08 16:12:53 138 1

原创 JVM参数调优

java内存模型1. Java虚拟机原理2. java内存结构3. 堆、栈、方法区概念区别1. Java虚拟机原理所谓虚拟机,就是一台虚拟的机器。他是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为系统虚拟机和程序虚拟机, 大名鼎鼎的Virtual Box、VmWare就属于系统虚拟机,他们完全是对物理计算的仿真,提供了一个可以运行完整操作系统的软件平台。 程序虚拟机典型代码就是Java虚拟机,它专门为执行单个计算程序而计算,在Java虚拟机中执行的指令我们成为Java字节码指令。无论是系统

2020-09-08 09:59:45 303

原创 多线程(面试)

多线程1. 进程与线程的区别?2. 为什么要用多线程?3. 多线程创建方式?4. 是继承Thread类好还是实现Runnable接口好?5. 你在哪里用到了多线程?6. 什么是多线程安全?7. 如何解决多线程之间线程安全问题?8. 为什么使用线程同步或使用锁能解决线程安全问题呢?9. 什么是多线程之间同步?10. 什么是同步代码块?11. 多线程同步的分类?12. 同步代码块与同步函数区别?13. 同步函数与静态同步函数区别?14. 什么是多线程死锁?15. Wait()与Notify ()区别?16. W

2020-09-07 12:43:42 129

原创 java基础(面试)

java面试题一、 java基础1. 面向对象的特征有哪些方面?2. 访问修饰符`public`,`private`,`protected`,以及不写(默认)时的区别?3. String 最基本的数据类型吗?4. float f=3.4;是否正确?5. `short s1 = 1; s1 = s1 + 1;`有错吗?`short s1 = 1; s1 += 1;`有错吗?7. Java有没有goto?8. int和Integer有什么区别?一、 java基础1. 面向对象的特征有哪些方面?封装:通常

2020-09-04 15:55:22 163

原创 正则表达式的常用操作

正则表达式的常用操作1. 正则表达式的作用2. 字符集合1. 正则表达式的作用测试字符串内的模式。例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用- 卡号码模式。这称为数据验证。替换文本。可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。基于模式匹配从字符串中提取子字符串。可以查找文档内或输入域内特定的文本。2. 字符集合正则表达式说明[abc]a、b、c中任意一个字符[^abc]除了a、b、c中任

2020-09-03 13:35:56 682 1

空空如也

空空如也

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

TA关注的人

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