自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

精◈彩◈猿◈笔◈记

知识是一种宝贵的资源和财富,益发掘,更益分享...

  • 博客(49)
  • 收藏
  • 关注

原创 JAVA必备知识点面试题

本文章包含JAVA面试必备基础知识总,包括:Java(基础模块、容器、多线程,并发编程、反射、对象拷贝模块、JavaWeb、Java异常、网络、设计模式);JVM调优及垃圾回收机制、NIO高级编程、Netty高级、maven管理工具、linux开发、sql基础及优化、Spring、SpringBoot、SpringCloud、redis高级、zookeeper基础及分布式锁及负载选举等、消息队列MQ(ActivityMQ、RocketMQ、RabbitMQ)、Dubbo高级等等内容学习的总结。

2020-07-19 21:55:45 420

转载 2020年 Java 最常见200+ 面试题全解析:面试必备

序言在本篇文章开始之前,我想先来回答一个问题:我为什么要写这样一篇关于面试的文章?原因有三个:第一,我想为每一个为梦想时刻准备着的“有心人”,尽一份自己的力量,提供一份高度精华的 Java 面试清单;第二,目前市面上的面试题不是答案不准确就是内容覆盖面太窄,所以提供一份经典而又准确的面试题是非常有必要的;第三,本文会对部分面试题提供详细解读和代码案例,让读者知其然并知其所以然,从而学到更多...

2019-08-03 16:16:32 5860 8

原创 Linux安装RabbitMQ详细教程

目录一、准备环境准备1、RabbitMQ版本 和 Erlang 版本兼容性关系2、官方安装包下载地址3、安装包中说明,请下载对应的安装包二、安装操作步骤1、安装C++依赖环境2、准备安装包3、在【/opt】路径下,创建【rabbitmq】文件夹4、将安装包上传到【rabbitmq】文件夹下5、安装Erlang6、检查Erlang是否安装成功7、安装socat8、安装rabbitmq9、开启管理界面10、添加配置文件,解决只能localhost访问的

2021-12-22 18:05:41 19279 16

原创 linux安装mysql教程【超级详细】

mysql官网下载地址:https://dev.mysql.com/downloads/mysql/Compressed TAR Archivehttps://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz下载方式: 1、通过wget直接下载到/usr/local路径下【这里使用这种方式】 2、通过再别的地方下载后复制到/usr/local路径下wg...

2021-08-24 11:19:04 2356 2

原创 linux虚拟机搭建Kafka集群环境

linux虚拟机搭建Kafka集群环境文章目录linux虚拟机搭建Kafka集群环境一、环境准备一、Kafka安装1、打开三台虚拟机2、用Xshell连接,并选择【发送键输入到所有会话】3、在【/opt】下创建kafka文件夹4、下载kafka [官网下载地址](http://kafka.apache.org/downloads)5、解压【kafka_2.13-2.8.0.tgz】6、修改【server.properties】配置文件6.1、修改【zookeeper.connect】参数6.2、分别修改

2021-05-09 16:24:50 2001 24

原创 Zookeeper- 总结

Zookeeper- 总结如想了解更多更全面的Java必备内容可以阅读:所有JAVA必备知识点面试题文章目录: JAVA必备知识点面试题文章目录Zookeeper- 总结1、Http和RPC的区别?2、谈谈Zookeeper的了解?1、Http和RPC的区别?RPC:Remote Produce Call远程过程调用:自定义数据格式,基于原生TCP通信,速度快,效率高。早期的webservice,现在热门的dubbo,都是RPC的典型。Http:网络传输协议:基于TCP,规定了数据传输

2021-05-05 23:53:07 263 2

原创 linux虚拟机搭建Zookeeper集群环境

linux环境搭建zookeeper集群一、环境准备在VMware15.0.4上安装了三台(单数) CentOS_7虚拟机。我准备的ip分别如下(每个人可以根据自己情况而定):192.168.109.100 ;192.168.109.101 ;192.168.109.102在虚拟机上都分别安装jdk1.8二、环境搭建1、进入/opt/zookeeper/文件夹下三台机器上都有apache-zookeeper-3.5.5-bin.tar.gz在自创建了目录/opt/zookeeper

2021-05-04 16:27:21 543 1

原创 Linux虚拟机设置静态IP【完整版】

Linux虚拟机设置静态IP【完整版】文章目录Linux虚拟机设置静态IP【完整版】1、设置虚拟网络,包括(VMnet8、NET模式、关闭DHCP选项、设置IP、网关等)2、在Windows中,设置VMnet8网络信息3、设置虚拟机网络适配器信息4、登录虚拟机后,配置文件【ifcfg-ens33】5、配置【resolv.conf】文件信息6、配置【network】文件信息7、测试1、设置虚拟网络,包括(VMnet8、NET模式、关闭DHCP选项、设置IP、网关等)2、在Windows中,设置

2021-05-04 14:12:06 445

原创 Spring Boot -总结

Spring Boot -总结注:以下Spring Boot源码,如果没有特殊说明都是基于【Spring Boot 2.4.5】版本进行列举。文章目录Spring Boot -总结1、请说说【@SpringBootApplication】注解的作用?2、请说一下【@Configuration】注解的作用?3、请说一下【@EnableAutoConfiguration】注解的作用?4、说说【@Import】注解的作用?4、请说一下【@ComponentScan】注解的作用?1、请说说【@Spring

2021-04-28 12:22:01 143

原创 Java 分布式并发编程 -总结

Java 分布式并发编程如想了解更多更全面的Java必备内容可以阅读:所有JAVA必备知识点面试题文章目录: JAVA必备知识点面试题1、结合说说线程状态的枚举值都有哪些?###jdk1.8 Thread类部分源码如下:public enum State { /** * 尚未启动的线程的线程状态。线程被构建,但是还没有调用start方法。 */ NEW, /** * 可运行线程的线程状态。处于可运行状态的线程正在Java虚拟机中执行,

2021-04-24 16:35:26 182

原创 Spring -总结

1、Spring的设计初衷Spring是为解决企业级应用开发的复杂性而设计,她可以做很多事。但归根到底支撑Spring的仅仅是少许的基本理念,而所有的这些基本理念都能可以追溯到一个最根本的使命:简化开发。它主要采取了4个关键策略:基于POJO的轻量级和最小侵入性编程;通过依赖注入和面向接口松耦合;基于切面和惯性进行声明式编程;通过切面和模板减少样板式代码;而他主要是通过:面向Bean(BOP)、依赖注入(DI) 以及面向切面(AOP) 这三种方式来达成的。2、对控制反转(IOC)的理解

2021-04-12 23:02:35 253

原创 Mysql总结

数据库三大范式第一范式 [1NF]:指在关系模型中,所有表中的列都应该是原子性的。(即:每一列属性都是不可再分的属性值,确保每一列的原子性,不可再分)第二范式 [2NF]:在第一范式的基础上,非码属性必须完全依赖于候选码。(即:要求其他字段都依赖于主键,没有部分依赖)第三范式 [3NF]:在第二范式基础上,任何非主属性不依赖于其它非主属性。(即:消除传递依赖,消除冗余,就是一个表中不能包含有其他表的非主键字段信息)MySQL存储引擎MyISAM与InnoDB区别MySQL中常用的存储引擎主要有:I

2021-03-28 22:53:11 211 2

转载 Java即时编译器原理解析及实践

Java即时编译器原理解析及实践一、序言二、Java的执行过程1、Java的执行过程整体可以分为两个部分2、怎么样才会被认为是热点代码3、JVM中集成了两种编译器4、JDK7前后C1编译器和C2编译器使用的区别5、分层编译即时编译的触发一、序言常见的编译型语言如C++,通常会把代码直接编译成CPU所能理解的机器码来运行。而Java为了实现“一次编译,处处运行”的特性,把编译的过程分成两部分,首先它会先由javac编译成通用的中间形式 字节码,然后再由解释器逐条将字节码解释为机器码来执行。所以在性能上,J

2020-11-21 15:50:14 227 2

原创 PowerDesigner16.5汉化及安装教程

PowerDesigner16.5下载链接:https://pan.baidu.com/s/1JmvgN5NfN1gcMmSH72a9ew 提取码:68cfPowerDesigner安装图文教程:1、解压PowerDesigner安装文件,并双击PowerDesigner.exe;2、欢迎来到PowerDesigner安装界面,点击 NextPowerDesigner3、一定要选择Trial,再点击Next,不要选择其它,这一步如果选择错,后面是不行的。……

2020-10-21 10:05:36 14957

原创 JVM之(执行引擎、字符串常量池、垃圾回收)-总结

本文主要设置:对象的方式;创建一个对象的步骤;堆空间的内存布局;通过对象的引用访问到对象实例;执行引擎,执行引擎;解释器;及时编译器;字符串常量池;String中的intern();引用计数算法;可达性分析算法;GC Roots;finalization机制;标记-清除算法;复制算法;标记-压缩算法;增量收集算法;分区算法;内存溢出;内存泄漏;STW;强引用、软引用、弱引用、虚引用;Serial、Serial Old、ParNew、ParallelParallel Old、CMS、G1、ZGC等内容。

2020-09-24 21:28:48 395

原创 JVM之(内存结构、字节码结构、内存分配与回收)-总结

本文主要涉及:什么是Java虚拟机、JVM的架构模型、JVM生命周期、类加载子系统都有哪些阶段、加载阶段用到的类加载器、双亲委派机制的工作原理、是PC寄存器、虚拟机栈、虚方法、非需方法、本地方法、本地方法栈、什么是堆、分代收集理论堆内存细分、对象分配的过程、Minor GC、Major GC、Full GC、什么是TLAB、逃逸分析、方法区、常量池、运行时常量池、关于JVM的一些常见的面试题等等内容。

2020-09-11 23:53:04 258

原创 Netty高并发网络应用框架-总结

本文主要涉及:Reactor模型(单Reactor单线程、单Reactor多线程、主从Reactor多线程);Netty模型;任务队列;Futrue-Listener机制;Netty核心内容(EventLoopGroup/NioEventLoop/Bootstrap/ServerBootstrap/Pipeline/ChannelHandlerContext等);Netty的ByteBuf与NIO中的ByteBuffer的区别;Google的Protobuf;Netty心跳检测;RPC的调用过程等。

2020-08-24 15:45:01 577

原创 Java BIO、NIO、AIO编程-总结

本文内容涉及:同步与异步,阻塞与非阻塞的区别是什么;什么是IO、BIO、伪异步 IO、NIO、AIO;BIO、NIO和AIO的区别;IO流的分类(按照读写的单位大小来分、按照实际IO操作来分,分成哪些流、按照读写时是否直接与硬盘,内存等节点连接分)什么是内核空间;五种IO模型;对象序列化,什么是反序列化;NIO 由哪些核心组件组成;NIO 通道(Channel)/ 缓冲区(Buffer);缓冲区几个重要属性;什么是选择器(Selector);直接缓冲区与非直接缓冲区的区别。等等

2020-08-16 22:02:44 215

转载 浅析Java线程池实现原理及在实际业务中的实践

本文设计:线程池是什么;线程池解决的是什么问题;线程池总体设计;线程池如何维护自身状态;线程池如何管理任务(任务调度、任务缓冲、任务申请、任务拒绝);Worker线程管理(Worker线程、Worker线程增加、Worker线程回收、Worker线程执行任务);线程池业务背景;线程池实际问题;实现动态化线程池(整体设计、功能架构)等内容。

2020-08-15 17:10:06 216

原创 Java Socket网络编程-总结

本文涉及:什么是网络编程;什么是IP地址、端口号及域名;DNS详细解析过程;网络的分层结构及协议;什么是Socket;什么是TCP/IP协议;TCP协议(定义;报文头解析;三次握手;四次挥手等);UDP协议(定义;报文头解析;使用场景;案例等);TCP协议与UDP协议的区别;TCP 短连接和长连接的区别;TCP粘包、拆包及解决办法;TCP 流量控制;TCP 拥塞控制等等内容

2020-08-13 21:54:14 904

原创 23种设计模式-总结

总体来说设计模式分为三大类: 创建型模式(都是用来帮助我们创建对象的,共有五种):单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。 结构型模式(关注对象和类的组织。共有七种):代理模式、适配模式、桥接模式、组合模式、装饰模式、外观模式、享元模式。 行为型模式(关注系统中对象之间的相互交换,研究系统在运行时对象之间的相互通信和协作,进一步明确对象的职责。共有十一种):责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法、访问者模式。

2020-08-03 17:03:21 640

原创 Java自定义注解-总结

Java自定义注解与设计模式如想了解更多更全面的Java必备内容可以阅读:所有JAVA必备知识点面试题文章目录: JAVA必备知识点面试题一、自定义注解1、什么是注解?Jdk1.5新增新技术,注解。很多框架为了简化代码,都会提供有些注解。可以理解为插件,是代码级别的插件,在类的方法上写:@XXX,就是在代码上插入了一个插件。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。注解分类:元注解: 元注解是用于定义注解的注解,包括@Retention、@Target、@Inherit

2020-07-31 11:13:40 302

原创 Java 多线程并发编程(二) -总结

Java 多线程并发编程(二)1、并发编程三要素?原子性: 原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操 作打断,要么就全部都不执行。可见性: 可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修改后,其他 线程可以立即看到修改的结果。有序性: 有序性即程序的执行顺序按照代码的先后顺序来执行。2、实现可见性的方法有哪些?synchronized 或者 Lock:保证同一个时刻只有一个线程获取锁执行代码,锁释放 之前把最新的值刷新到主内存,更或者volati

2020-07-19 21:26:42 169

原创 Java 多线程并发编程(一) -总结

Java 面试题基础(二)下面列出这份 Java 面试问题列表包含的主题 多线程,并发及线程基础 数据类型转换的基本原则 垃圾回收(GC) Java 集合框架 数组 字符串 GOF 设计模式 SOLID 抽象类与接口 Java 基础,如 equals 和 hashcode 泛型与枚举 Java IO 与 NIO 常用网络协议 Java 中的数据结构和算法 正则表达式 JVM 底层 Java 最佳实践 JDBC Date, Time 与 Calendar Java

2020-07-18 15:34:32 379

原创 Java 数据交换格式与反射机制 -总结

Java数据交换格式与反射机制思考1:什么是数据交换格式?数据交换格式:就是客户端与服务器常用的数据交换格式xml,json,html等,常用于面向接口开发。思考2:什么是JAVA反射机制JAVA反射机制是在运行状态中。对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。1. 数据交换格式 — JSON定义: JSON(JavaScript Object Notation

2020-07-17 20:19:47 163

原创 Java 面试题基础 -总结

Java 面试题基础(一)1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽 象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的 细节是什么。 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类 被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让 变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要 手段(如果不能理解请阅读阎宏博士的《Jav

2020-07-10 20:43:32 2064

原创 java.lang.NoSuchMethodError:freemarker.template.Configuration.<init>(Lfreemarker/template/Version;)V

Caused by: java.lang.NoSuchMethodError: freemarker.template.Configuration.<init>(Lfreemarker/template/Version;)V

2020-04-17 22:11:26 1287

原创 如何通过Git GUI Here将本地的项目上传至Github

GitHub是一个程序员以后成长都会使用到的,不仅有很多优秀的开源框架都在这上面发布,而且用来管理自己的项目也会感到很方便,用得也很顺畅。首先:在自己计算机上已经安装好git,并且在GitHub上已经建好一个项目的存储库。

2020-04-11 17:54:46 651

原创 【算法系列】那些求职面试必会算法汇总

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。不同的算法可能用不同的时间、空间或效率来完成同样的任务。求职面试必会【算法系列】后续不断更新中...

2020-04-10 17:47:59 135

原创 那些程序猿必会的算法:冒泡排序

冒泡排序冒泡排序:是一种最基础的交换排序。冒泡排序就像水冒泡,小(大)的元素经过不断的交换由水底慢慢的浮到水的顶端。我们从左边开始,每次把相邻的两个数两两做比较,当左侧元素大于右侧与它相邻的元素时,则交换它们之间位置,反之,它们之间的位置不发生变化。冒泡排序是一种稳定的排序算法。时间复杂度空间复杂度O(n^2)O(1)======================...

2020-04-10 17:22:45 143

原创 大型互联网云架构宏观思想了解一下

业务模式决定架构例如:电商业务面向互联网海量用户提供服务面向商家提供网络销售平台商品种类繁多,需及时更新数据全天24小时运营,快速处理客户订单交易量大且不断增长,促销活动期间业务量突增支持多种营销模式,逻辑复杂业务模式包括自营B2C、商家B2C、广告、代发物流等经营实物商品和数字商品,交付方式不同支持多种安全的登录方式和支付方式… …等等...

2019-12-13 11:06:36 157

转载 HTML CSS整理笔记

HTML CSS整理笔记或许这份笔记还不足以囊括所有CSS问题,凡事预则立,不预则废。我相信都是这个世界上的“有心人”,还是那句老话:上天不负有心人!我相信你的每一步努力,都会收获意想不到的回报。点击链接后退页面:<a href="javascript:history.go(-1)">回到上一个网页</a>——修改placeholder提示的样式:1.除IE外通...

2019-12-13 11:01:46 214

原创 Linux环境安装redis

序言Redis(REmote DIctionnary Server(远程 字典 服务器))是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据...

2019-08-15 17:32:19 195

原创 Linux通过yum仓库安装gcc详细教程

序言GCC是一个用于linux系统下编程的编译器。是一个用于编程开发的自由编译器。最初,GCC只是一个C语言编译器,它是GNU C Compiler 的英文缩写。随着众多自由开发者的加入和GCC自身的发展,如今的GCC已经是一个包含众多语言的编译器了。其中包括 C,C++,Ada,Object C和Java等。所以,GCC也由原来的GNU C Compiler变为GNU Compiler Co...

2019-08-14 18:32:31 1114

原创 Linux之yum仓库详细配置教程【网络配置/本地配置】

概述YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。在Linux上使用源码的方式安装软件非常满分,使用yum可以简化安装的过程。yum的常用命...

2019-08-14 18:31:05 1264

原创 Java综合知识点总结-面试必背-基础篇

序 言本篇文章还不足以囊括所有 Java 问题,都是日常的总结,后续也会继续更新… …如想了解更多更全面的Java必备内容可以阅读:2019年 Java 最常见200+ 面试题全解析:面试必备:https://blog.csdn.net/shishishilove/article/details/929782111.JDK常用的包java.lang: 有很多常用的基础类,比如String...

2019-08-10 16:36:47 947

原创 Linux常用基本命令

.一、 帮助命令1、 man 获得帮助信息基本语法:man [命令或配置文件] (功能描述:获得帮助信息)显示说明NAME 命令的名称和单行描述SYNOPSIS 怎样使用命令DESCRIPTION 命令功能的深入讨论EXAMPLES 怎样使用命令的例子SEE ALSO 相关主题(通常是手册页)数字说明q用户在shell环境中可以操作的命令或是可执行的文件系...

2019-07-15 20:55:56 447

原创 Linux中VI / VIM编辑器

VI/VIM编辑器1、 概述所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。Vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说vi 是老式的字处理器...

2019-07-13 17:26:22 452

原创 Linux根目录结构

1、 概览2、 树状目录结构3、目录作用讲解 【重要的以及经常用的都加粗了。可以重点了解】/bin:是Binary的缩写,这个目录存放着系统必备执行命令。/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里。/dev:Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式...

2019-07-13 16:44:54 264

原创 Linux操作系统安装 三 : 安装VMTools工具

当我们安装完前两部分之后,登录虚拟linux系统后…我们会发现Windows系统与linux虚拟系统不能交互,即不能相互复制粘贴、不能拖拽文件、不能共享资源文件、每次鼠标切换都需要CTRL+ALT 或者 CTRL+G 来进行切换,特别不便。那什么是VMtools:VM tools顾名思义就是Vmware的一组工具。主要用于虚拟主机显示优化与调整,另外还可以方便linux虚拟系统与本系统的交互,...

2019-07-13 16:02:32 435

空空如也

空空如也

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

TA关注的人

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