- 博客(34)
- 收藏
- 关注
原创 Java 多线程梳理(三、线程同步机制)
3、线程同步机制3.1 线程同步机制简介线程同步机制是一套用于协调线程之间的数据访问的机制.该机制可以保障线程安全.Java 平台提供的线程同步机制包括: 锁, volatile 关键字, final 关键字,static 关键字,以及相关的 API,如 Object.wait()/Object.notify()等3.2 锁概述线程安全问题的产生前提是多个线程并发访问共享数据. 将多个线程对共享数据的并发访问转换为串行访问,即一个共享数据一次只能被一个线程访问.锁就是复用这种思路来保障线程安全的锁
2021-10-10 17:51:52
174
原创 Java 多线程梳理(二、线程安全)
2. 线程安全问题多线程安全主要是指多个线程对同一个对象的实例变量进行操作时,会出现值被更改,值不同步的情况.线程安全问题表现为三个方面: 原子性,可见性和有序性2.1 原子性原子(Atomic) 就是不可分割的意思. 原子操作的不可分割有两层含义:访问(读,写)某个共享变量的操作从其他线程来看,该操作要么已经执行完毕,要么尚未发生, 即其他线程年看不到当前操作的中间结果访问同一组共享变量的原子操作是不能够交错的Java 有两种方式实现原子性:一种是使用锁; 锁具有排它性,保证共享变量
2021-05-30 15:30:09
153
原创 Java 多线程梳理(一、线程概述)
线程相关概念线程的创建与启动线程的常用方法线程的生命周期多线程编程的优势与存在的风险1 线程概述1.1 线程相关概念- 进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是操作系统进行资源分配与调度的基本单位。可以把进程简单的理解为正在操作系统中运行的一个程序.- 线程:线程(thread)是进程的一个执行单元. 一个线程就是进程中一个单一顺序的控制流, 进程的一个执行分支进程是线程的容器,一个进程至少有一个线程.一个进程中也可以有多个线...
2021-05-16 19:29:47
194
原创 Java基础--乱炖
一、静态方法、实例方法1. 静态方法、实例方法与实例方法的区别?静态方法比较少用,因为他在一启动就实例化了,比较占资源,静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,静态方法配合单例模式还是比较好用的,比较多的用在数据连接上,避免使用的原则就是减少资源消耗,还有会在工具类里面用。**静态就是类的,实例就是对象的。**静态方法不需要依赖类当中的属性,能在这个方法中封闭的完成一个功能。实例方法更多的会使用到类当中的属性;简单点说,静态方法用来执行无状态的一个完整操作,实例方法则相反,它通常
2021-01-09 12:08:06
325
1
原创 Java基础--Collection(集合)
一、List,Map和Set三者区别:list(注重顺序): List接⼝存储⼀组不唯⼀(可以有多个元素引⽤相同的对象),有序的对象;Set(注重独⼀⽆⼆的性质): 不允许重复的集合。不会有多个元素引⽤相同的对象。HashSet可以存一个空值(null),TreeSet不能存空值(null)Map(⽤Key来搜索的专家): 使⽤键值对存储。 Map会维护与Key有关联的值。两个Key可以引⽤相同的对象,但Key不能重复,典型的Key是String类型,但也可以是任何对象。二、常用集合是否能存储空值(
2020-12-19 03:03:49
477
原创 牛客网--华为机试题
持续更新代码仓库地址github地址:https://github.com/miniWiseNut/algorithm-training.git.华为机试地址.华为机试(部分题目):代码目录:
2020-12-17 23:56:47
3311
3
原创 LeetCode--字符串(38. 外观数列)
原文地址:LeetCode–字符串(38. 外观数列).持续更新代码仓库地址:https://github.com/miniWiseNut/algorithm-training.git.解:前一个数字,用描述性语言说出来就是下一个数字:比如: 2333描述就是 1 个 2, 3个3,记做1233,以此类推。所以上面的题目第6个数是:111221,描述为 3 个 1,2 个 2,1 个 1,记做 312211代码:public class P38外观数列 { public st
2020-09-24 00:17:58
116
原创 Flink--(一、初识Flink)
原文链接: Flink–(一、初识Flink).Flink 是什么Apache Flink 是一个框架和分布式处理引擎,用于对无界和有界数据流进行状态计算。Flink 的全球热度与为什么选择 Flink流数据更真实地反映了我们的生活方式传统的数据架构是基于有限数据集的目标Ø 低延迟Ø 高吞吐Ø 结果的准确性和良好的容错性哪些行业需要处理流数据电商和市场营销Ø 数据报表、广告投放、业务流程需要物联网(IOT)Ø 传感器实时数据采集和显示、实时报警,交通运输业电信业Ø 基
2020-09-16 22:43:26
188
原创 Yarn -- 资源调度器
原文链接: Yarn – 资源调度器.简介Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。Yarn基本架构Yarn主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成,如下图所示:Yarn的工作机制工作机制详解:MR程序提交到客户端所在的节点。YarnRunner向ResourceManager申请一个
2020-08-12 01:26:31
303
转载 Flink初探之 动态限流
前言最近一段时间,接触到公司flink代码,修改时遇到一个flink常见问题,就是上游Producer生产数据的效率大于下游Consumer的消费速度,所以查阅一些大佬的资料,将这一问题记录,后续系统学习flink的时候复习一下Flink 流处理为什么需要网络流控?分析一个简单的 Flink 流任务,下图是一个简单的Flink流任务执行图:任务首先从 Kafka 中读取数据、 map 算子对数据进行转换、keyBy 按照指定 key 对数据进行分区(相同 key 的数据经过 keyBy 后分到同一个
2020-07-27 23:51:34
2950
原创 Kubernetes( 一丶基础知识与核心组件)
原文链接: k8s(Kubernetes 一丶基础知识与核心组件).1. 什么是Kubernetes?Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成Kubernetes内部使用的低级别组件。Kubernetes不仅仅支持Docker,还支持Rocket(另一种容器技术)使用Kubernetes可以:自动化容器的部署和复制随时扩展或收缩容器规模将容器组织成组,并且提供容器间的
2020-07-10 00:03:50
266
原创 Zookeeper(二、分布式集群安装与命令行操作)
原文链接: Zookeeper(二、分布式集群安装与命令行操作).1. 前置条件安装Hadoop集群链接: Hadoop(二、安装Hadoop-3.2.1集群).在hadoop100、hadoop101和hadoop102三个节点上部署Zookeeper。使用的是Zookeeper-3.6.1版本链接:https://pan.baidu.com/s/1PKpjntrFyT-yiF20EdlL_Q提取码:c0ol2.解压安装上传压缩包到centos7 ,hadoop100机器上# 使用
2020-06-24 00:49:27
199
原创 Zookeeper(一、大数据之ZooKeeper基础与原理)
原文链接:Zookeeper(一、大数据之ZooKeeper基础与原理).1. 概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。官网:link.2. 特点3. 数据结构4. 应用场景提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。统一命名服务统一配置管理统一集群管理服务器动态上下线软负载均衡5. Zookeeper内部原理选举机制(重点)半数机制:集群中半数以上机器存活,集群
2020-06-23 02:01:15
224
原创 HDFS(一、HDFS概述、客户端、shell操作)(更新中)
1. HDFS定义HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,他是分布式的,由很多服务器联合起来实现其功能,集群的中的服务器都有各自的角色。HDFS使用场景:适合一次写入,多次读出的场景,且不支持文件的修改。适合用来做数据分析,并不适合用来做网盘应用(读写频繁的)2. HDFS优缺点1. 优点:2. 缺点:3、HDFS组成架构...
2020-06-19 01:15:14
277
原创 Hadoop(三、hadoop运行模式与案例)
1、Hadoop运行模式Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。Hadoop官方网站: 链接: link.hadoop工程模块、相关工程包括哪些?如下图hadoop 生态中,相关工程中:Hbase、Hive、spark、zookeeper是必学的...
2020-06-14 21:47:09
477
原创 Hadoop(二、centos7安装Hadoop-3.2.1集群--超详细)
原文链接 : Hadoop(二、安装Hadoop-3.2.1集群).1. 前置条件准备3台虚拟机,关闭防火墙,修改主机名与ip,互相能ping通,设置ssh免密登录jdk版本:java version “1.8.0_251”Hadoop版本:hadoop-3.2.1链接:https://pan.baidu.com/s/1ygVjxxEl3aFIaFwJHwQD9g提取码:mi8x参考资料:链接: VMware虚拟机网络连接的3种方式.链接: Centos7 修改UUID、IP和主机名.
2020-06-07 17:38:14
833
原创 Hadoop(一、Hadoop与大数据生态)
原文链接: Hadoop(一、Hadoop与大数据生态).1、Hadoop是什么2、Hadoop发行版本Hadoop三大发行版本:Apache、Cloudera、Hortonworks。Apache 版本最原始(最基础)的版本,对于入门学习最好(目前我所学习的版本)。Cloudera在大型互联网企业中用的较多。Hortonworks文档较好。其他的发行版本 :Apache hadoop http://hadoop.apache.org/Cloudera hadoop(CDH)
2020-06-04 23:49:46
408
原创 CentOS7 设置主机名及IP映射、以及配置ssh免密登录
原文地址:链接: CentOS7 设置主机名及IP映射.设置主机名查看主机名hostname修改hostname (使用以下命令进行修改,此方式不需要重启服务器。)hostnamectl --static set-hostname Hadoop.100设置主机名及IP映射使用 vi 编辑器打开 /etc/hosts 文件vi /etc/hosts添加 (ip 别名)映射重启网路服务systemctl restart network测试ping 命令 ping 主机名
2020-06-03 00:02:18
903
原创 VMware虚拟机中Centos7网络配置及ping不通解决思路
原文地址:VMware虚拟机中Centos7网络配置及ping不通解决思路.操作流程来自(更新了图片,并写下自己操作流程):link.在安装好VMware虚拟机并且安装好Centos7系统后,我们就需要进行网络配置了。因为实验环境中,需要固定IP,方便各种环境的使用。我们可以用VMware的NET模式进行网络配置。下面,我们进入配置流程:配置VMware的NET网络模式1、关闭目前需要更改配置的虚拟机。2、点击 编辑虚拟机设置——网络适配器——NAT模式(N):用于共享的IP地址。[外链图
2020-06-02 23:46:43
1604
原创 Centos7 修改UUID、IP和主机名
链接: 原文地址.修改ip地址查看IP地址ip addr修改ip地址(记得要用root用户,要不然无权限修改这个文件)vi /etc/sysconfig/network-scripts/ifcfg-ens33改好之后重启网卡systemctl restart network查看ip,已经修改成功修改hostname查看 hostnamehostname修改hostname (使用以下命令进行修改,此方式不需要重启服务器。)hostnamectl --static s
2020-06-02 23:44:32
4951
原创 Linux目录结构解析
原文链接:Linux目录结构解析.centos7的文件目录/ :根目录, 所有目录挂在其下/boot:存放Ubuntu内核和系统启动文件。系统启动时这些文件先被装载。/bin :通用指令目录/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序,如系统管理、目录查询等关键命令文件。/dev: 类似windows的设备管理器把硬件映射成文件来进行管理(cpu、disk、dvd、u盘)/etc:系统的配置文件目录。密码文件、设置网卡信息、环境变量的设置等都
2020-05-31 20:06:09
217
原创 虚拟机网络连接的3种方式
原文地址: 虚拟机网络连接的3种方式.1.桥接模式虚拟机和主机处于一个相同的网段(192.168.14.xxx),虚拟机自动分配网络地址(192.168.14.0~192.168.14.255,其中 .0作为保留地址,.255作为广播地址,.1作为网关一般不被使用,实际192.168.14.xxx网段使用的数量为253个)优点:处于相同网段,相互可以进行通讯缺点:ip地址有限(253个),有可能造成ip冲突1.1网关的概念网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现
2020-05-31 16:23:22
1415
原创 OpenTSDB-时序数据库(更新中)
前言:文章参考了OpenTSDB文档,以及其他网友的优质博客,结合自己的一些理解,也算是边学边写博客了1. 简介OpenTSDB(Open time series data base),时间序列数据库。顾名思义,就是以时间为标签存储数据,它的特点是能够提供最高 毫秒级精度 的时间序列数据存储,能够长久保存原始数据并且不失精度。但是OpenTSDB这个db有误导性,他其实只是一层读写服务(基于HBase)HBase可以看我另一篇文章: HBase架构基础和结构模型.1.1 什么是时序数据?&nb
2020-05-26 01:52:10
559
1
原创 HBase架构基础和结构模型
HBase 定义HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL 数据库。HBase 数据模型Name Space 命名空间,类似于关系型数据库的 DatabBase 概念,每个命名空间下有多个表。 HBase有两个自带的命名空间,分别是 hbase 和 default, hbase 中存放的是 HBase 内置的表(meta...
2020-04-15 01:09:21
212
原创 SpringBoot整合Rabbitmq(附代码)
git: https://github.com/miniWiseNut/SpringBoot-RabbitMq概念RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。AMQP : Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件...
2020-01-08 18:38:30
224
原创 HTTP协议
HTTP协议常用的HTTP方法HTTP请求报文与响应报文格式常见的HTTP相应状态码常见HTTP首部字段GET方法与POST方法的区别HTTP的缺点与HTTPSHTTP优化HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式http请求由三部分组成,分别是:请求行、消息报头、请求正文常用的HTTP方法GET: 用于请求访问已经被URI(统一资...
2020-01-02 19:34:38
227
转载 java集合常见问题
Java集合常见的集合问题HashMap与HashTable的区别HashMap的put方法的具体流程?HashMap 解决哈希冲突什么是哈希?什么是哈希冲突?HashMap为什么不直接使用hashCode()处理后的哈希值直接作为table的下标?HashMap在JDK1.7和JDK1.8中有哪些不同?为什么HashMap中String、Integer这样的包装类适合作为K?Concurrent...
2019-12-18 21:32:25
449
转载 Docker容器和镜像的导入、导出
一、镜像导出 save查看镜像docker images导出镜像docker save -o test.tar image_name或者docker save image_name > /test.tar二、容器导出 export导出容器,命令格式为:docker export [-o|--output[=""]] CONTATINER或docker expor...
2019-08-15 10:40:55
15495
1
原创 idea 自用插件
idea一些自用插件.ignore安装完成后,.ignore自带了一些插件模版,可以选择使用lombok我们在安装页面可以看到lombok具体支持的所有注解p3c阿里巴巴 出品的java代码规范插件可以扫描整个项目 找到不规范的地方 并且大部分可以自动修复(项目内右击鼠标就可以出现选项)可以上git 查看中文使用手册:https://github.com/alibaba/p...
2019-08-14 04:07:49
156
原创 使用docker部署yapi——API管理平台
yapi——API管理平台yapi环境说明文档来源难点yapiYApi是由去哪儿网移动架构组(简称YMFE,一群由FE、iOS和Android工程师共同组成的最具想象力、创造力和影响力的大前端团队)开源的可视化接口管理工具,一个可本地部署的、打通前后端及QA的接口管理平台,YApi旨在为开发、产品和测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布和维护不同项目,不同平台的API。...
2019-06-30 15:34:10
565
转载 OAuth 中的三种认证方式小故事
转自https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=2665513744&idx=1&sn=93d0db97cfd67422bcd21c8afd00f495&chksm=80d67b53b7a1f24537fdc7c10eb2783357c1f8c65ad55601a722216d2293ae3fb7b1c...
2019-05-31 11:02:37
709
1
转载 从密码到token, 一个授权的故事 auth2.0
转自 https://www.cnblogs.com/bigben0123/p/8334824.html1美好的旧时光我经常怀念三十年前那美好的旧时光, 工作很轻松, 生活很悠闲。上班的时候偶尔有些HTTP的请求发到我这里, 我简单的看一下, 取出相对应的html文档,图片,发回去就可以了, 然后就可以继续喝茶聊天。我的创造者们对我很好, 他们制定的一个简单HTTP协议, 就是请求加响应...
2019-05-31 10:56:26
714
转载 Spring Cloud微服务架构学习之路
Spring Cloud简介Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),比如:Spring Cloud Config、...
2019-05-19 22:24:11
195
转载 SpringBoot校验注解地正确使用
SpringBoot校验注解地正确使用前言方案常用的校验注解转载至:http://www.360doc.com/content/19/0312/17/62719857_821007646.shtmlhttps://blog.csdn.net/qq_39964694/article/details/81183701前言“SpringBoot”前后端分离项目,通常采用Restful接口,我们...
2019-03-12 17:41:40
2798
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人