自定义博客皮肤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)
  • 收藏
  • 关注

原创 【杂记】Filter过滤器和Interceptor拦截器的区别

Filter过滤器和Interceptor拦截器的区别

2023-10-30 17:36:13 94

原创 【杂记】java 大集合进行拆分

java 大集合进行拆分

2023-10-27 10:01:38 646

原创 【杂记】java 读取未知文件大小,实现byte[]数组的动态扩容

byte数据动态扩容

2023-10-26 14:44:27 428

原创 【杂记】异步调用

(1)join()是实例方法不是静态方法,需要使用线程对象去调用,如thread.join()。(2)调用join()时,不是thread所指向的目标线程阻塞,而是当前线程阻塞。(3)只有等到thread所指向的线程执行完成或者超时,当前线程才能启动执行。

2023-05-31 21:37:58 495

原创 【杂记】高并发的几种设计模式

单例模式是一种常见的设计模式,一般用于安全对象管理,比如XML读写实例、系统配置实例、任务调度实例、数据库连接池实例等。单例模式一般分为懒汉式、饿汉式。饿汉式单例在类加载时候,就直接初始化。懒汉式,就是在类使用的时候,才对单例进行初始化。

2023-05-28 16:41:29 1083

原创 【杂记】JUC高并发容器

其主要的思想是:如果有多个访问器,如果有多个访问器(Accessor)访问一个资源(如内存或者磁盘上的数据存储),它们会共同获取相同的指针指向相同的资源,只要有一个修改器(Mutator)需要修改该资源,系统就会复制一份专用副本(Private Copy)给该修改器,而其他访问器所见到的最初资源仍然保持不变,修改的过程对其他访问器都是透明的(Transparently)。COW的主要优点是如果没有修改器去修改资源,就不会创建副本,因此多个访问器可以共享同一份资源。

2023-05-24 21:37:14 666

原创 【杂记】AQS同步器

(1)CAS恶性空自旋会浪费大量的CPU资源;(2)在SMP架构的CPU上会导致"总线风暴";

2023-05-18 22:05:36 404

原创 【杂记】显式锁

JDK 5版本引入了java.util.concurrent并发包,简称为JUC包,里面提供了各种高并发工具类,通过此JUC工具包可以在Java代码中实现功能非常强大的多线程并发操作。所以,Java显式锁也叫JUC显式锁。

2023-05-13 16:54:52 515

原创 【杂记】有序性和可见性

按照数据读取顺序和与CPU内核结合的紧密程度,CPU高速缓存有L1和L2高速缓存(即一级高速缓存和二级缓存高速),部分高端CPU还具有L3高速缓存(即三级高速缓存)。每一级高速缓存中所存储的数据都是下一级高速缓存的一部分,越靠近CPU的高速缓存读取越快,容量也越小。所以L1高速缓存容量很小,但存取速度最快,并且紧靠着使用它的CPU内核。L2容量大一些,存取速度也慢一些,并且仍然只能被一个单独的CPU核使用。L3在现代多核CPU中更普遍,容量更大、读取速度更慢些,能被同一个CPU芯片板上的所有CPU内核共享。

2023-04-26 22:02:43 414

原创 【杂记】CAS 操作

JVM的synchronized重量级锁涉及操作系统内核态下互斥锁的使用,因此其线程阻塞和唤醒都涉及进程在用户态到内核态的频繁切换,导致重量级锁开销大,性能低,而JVM的synchronized轻量级锁使用CAS进行自旋抢锁,CAS是CPU指令级的原子操作,并处于用户态下,所有JVM轻量级锁的开销较小。由于CAS的操作具有原子性,所以在使用CAS方法操作数据时,并不会造成数据不一致性的问题。

2023-04-24 21:40:23 861

原创 【杂记】java 内置锁

java 锁

2023-04-18 21:33:26 564

原创 【杂记】线程池杂记

线程池以及线程

2023-04-05 17:01:31 302

原创 关于freemake解析xml双集合组成JSON

2.1 list 集合遍历 主要是遍历集合/数组 两种遍历方式:①是按照索引进行数组遍历;counter 返回当前迭代(由循环变量名称识别)从1开始的索引。index 返回当前迭代(由循环变量名称识别)从0开始的索引。2.6 has_next 辨别循环项是否是当前迭代(由循环变量名称识别)的最后一项。2.4 id_index num[id_index] 获取当前索引对应的属性值。2.5 判断条件。

2023-03-22 10:46:53 368

原创 liunx 新增用户

1.使用root用户进入服务器2.创建新用户(后期全部为esb用例)adduser wqe3.修改esb用户的登录密码passwd wqee4.修改用户权限4.1使用root用户进行权限配置vim /etc/sudoers4.2添加新增用户,赋予它权限(按文件标亮的地方进行修改)eqe ALL=(ALL) NOPASSWD:ALL4.3保存退出:wq!5.进行用户切换(‘’-‘’切换需要将环境直接切换过去)su - esb...

2021-06-07 11:47:03 86

原创 liunx JDK安装流程

1.检查服务器上面是否安装JDK(jdk版本必须在1.8以上)java -version2.如果jdk版本满足,则不需要重新安装,不满足,则需要重新安装2.1查看服务器操作系统uname -a2.2下载对应的jdk版本(注意,liunx版本)https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html2.3下载的tar.gz文件上传到要安装的服务器上2.4解压jdk.tar.gz文件(文件格式为:名称.t

2021-06-07 11:44:57 94 1

原创 liunx nginx安装流程

1.安装nginx环境1.1 gcc环境yum install gcc-c++1.2 正则表达式yum install -y pcre pcre-devel1.3 zip环境yum install -y zlib zlib-devel1.4 https环境配置yum install -y openssl openssl-devel library2.编译安装2.1 安装nginx压缩包官网下载地址:http://nginx.org/en/download.html2.2 指定安装和编

2021-06-07 11:43:42 69

原创 大数据-第15章 hbase 概况

1.hbase简介答:hadoop database是一个高可靠、高性能、面向列、可伸缩、实时读写的分布式数据库,是主要用来存储非结构化和半结构化的松散数据。2.关系数据库和hadoop面临的问题答:①hadoop可以很好地解决大规模数的离线批量处理问题,但是,受限于hadoop MapReduce编程框架的高延迟数据处理机制,使的hadoop无法满足大规模数据实时处理应用的需求;②HDFS是批量访问模式,不是随机访问模式;③关系型数据库无法应对在数据规模剧增时导致系统扩展性和性能问题;④传

2020-08-19 10:42:13 687

原创 大数据-第13章 elasticsearchL 概况

1.数据类型答:①结构化(关系型数据库:MySQL);②非结构化:文本文档,图片;③半结构化:json、xml。2.elasticsearch答:elasticsearch是一个基于Lucene的实时的分布式搜索和分析引擎,设计用于云计算中,能够实现实时搜索、稳定、可靠、快速、安装使用方便。3.ES与SOLR答:①接口:ES提供REST风格的访问接口;SOLR提供类似webservice的接口;②分布式存储:SOLR 4.x才支持,ES是为分布式而生成的;③支持格式:SOLR支持XML

2020-08-19 10:37:51 125

原创 大数据-第12章 spark-streaming概况

1.流数据的特征答:①数据快速持续到达,潜在大小也许是无穷无尽的;②数据来源从多,格式复杂;③数据量大,但不关注存储,一旦经过处理,要么丢弃,要么归档存储;④注重数据的整体价值,不过分关注各别数据;⑤数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元素的顺序。2.数据处理模式答:①批量处理:处理静态数据,如hadoop;②实时计算:处理流数据,如spark streaming。3.流计算答:实时获取来自不同数据源的海量数据,经过实时分析处理,获得有价值的信息。流计算秉承

2020-08-19 10:34:30 250

原创 大数据-第11章 spark-SQL 概况

1.shark答:hive on spark ,是为了实现与hive兼容,Shark在hiveQL方面重用了hive中hiveQL解析、逻辑执行计划翻译、执行计划优化等逻辑,可以近似认为仅将物理执行计划从MapReduce作用替换成了spark作业,通过hive的hiveQL解析,把hiveQL翻译成spark上的RDD操作。2.shark面临的问题答:①一些执行优化完全依赖于hive,不方便添加新的优化策略;②spark是线程级并行,而MapReduce是进程级并行,因此spark在兼容hiv

2020-08-07 23:07:30 259

原创 大数据-第10章 spark 概况

执行流程①用户编写spark语句运行程序②生成一个application以及运行环境driver③生成一个sparkcontext以及向资源管理器申请运行application的资源④资源管理器向exceutor分配资源,并且启动exceutor⑤sparkcontext解析spark程序(1).生成spark的RDD对象(2).根据RDD对象生成DAG关系依赖图(3).将DAG关系依赖图交给DAGScheduler(4). DAGScheduler解析成一个个的stage(5).将s.

2020-08-07 23:05:17 382

原创 大数据-第09章 Scala 基础应用

1.命令式编程和函数式编程答:命令式编程涉及多线程之间的状态共享,需要锁机制实现并发控制;函数式编程不会在多个线程之间共享状态,不需要用锁机制,可以更好并行处理,充分利用多核CPU并行处理能力。2.Scala语言答:Scala是一门类java的多范式语言,它整合了面向对象和函数式编程的最佳特性,纯粹的面向对象的语言。3.Scala两种类型的变量答:var :是可以改变的,声明的时候需要进行初始化,初始化后可以再次对其赋值。Val :是不可变的,声明的时候需要进行初始化,初始化以后就不可以在

2020-08-01 18:00:00 237

原创 大数据-第08章 kafka 结构原理图

结构流程:①生产者将消息写入主题topic②topic将消息放入分区③分区将消息存储,并发送给kafka broker(kafla节点)④kafka节点将消息分发与关注了主题topic的各个消费者组⑤消费者与消费者组签订reblance,平均分配分区信息,并且一个消费者组里面只能有一个消费者消费给主题的消息。kafka简介答:kafka是一个分布式、支持分区、多副本的、基于zookeeper协调的分布式消息系统。可以实时的处理大量数据以满足各种需求场景,用Scala语言编写的。2.br.

2020-07-29 23:01:46 201

原创 大数据-第07章 hive 结构原理图

执行流程:①客户编写hiveQL语句,并发送与hive服务器Driver②根据语句在数据源里面查找元数据③根据语句进行解释、编译、优化并发送与hadoop(1)将hiveQL语句先转换为抽象语法树(2)将抽象语法树转换为查询块(3)将查询块转换为逻辑查询计划(4)将查询计划语句进行优化,去重,(5)将逻辑查询计划转换为物理计划(6)优化物理计划,选出最优的策略发送与hadoop进行执行④hadoop接收优化后的方案执行调用hdfs和MapReduce来执行⑤客户端访问hadoop获取.

2020-07-25 21:51:21 739

原创 大数据-第06章 zookeeper结构原理图

执行流程:①客户端向服务端发送请求②sever 服务器接收客户端请求(通过选举机制选举出follower服务器和leader服务器,若sever自身弃权,则变成观察者身份,只能执行后期的命令,没有投票权)③follower(server)服务器将接收的信息发送到leader(server)④leader接收follower的消息,并集合所有server来判断是否执行客户端请求(过半原则来判断,超过一半的server同意执行,才可以执行)⑤将所有的sever判断的结果放入消息队列中,发送给所有se.

2020-07-19 17:39:24 919

原创 大数据-第05章 YARN结构原理图

执行流程:①客户端向RM发送执行请求②RM接收请求,并创建一个容器用来执行AM,启动后与RM保持心跳,随时给RM反应情况。③AM向RM发送请求,申请相应的容器(内存、CPU等资源)④将申请的资源放入相应的容器中⑤AM对调用容器的资源,NM启动执行程序,并与NM进行通信⑥NM对AM保持心跳,同时NM向AM发送任务执行情况和资源的使用情况1.yarn概述答:yarn是一个通用资源管理系统和调度平台,可以为上层应用提供统一的资源管理和调度,为一些运算提供一些资源,它的引入为集群在利用率、资源统.

2020-07-18 22:16:28 949

原创 大数据-第04章 MapReduce结构原理图

1.分布式计算编程与传统计算编程框架的区别?答:2.MapReduce概述答:.MapReduce是一个将复杂的、运行与大规模集群上的并行计算过程抽象成两个函数map和reduce,采用分而治之的策略,将一个存储在分布式文件系统中的大规模数据集,会被切分成许多独立的分片,这些分片可以被多个map任务处理,设计理念就是以计算想数据靠拢。架构采用master/slave,一个master和若干slave,master上运行jobTracker(ResourceManger),salve上运行TaskT.

2020-07-16 22:46:57 391

原创 大数据-第03章 文件管理系统结构原理图(HDFS)

1.HDFSl流程介绍

2020-07-09 22:30:37 496

原创 大数据-java基础-第12章 面向对象的java实现-接口练习

1.通过实现接口,根据不同的动物来显示他们的声音。分析:①定义一个动物的接口public interface Animal { public abstract void sound(); }②定义一个动物猫,来实现动物接口,并重写声音方法public class Cat implements Animal { private String name; public Cat() {}; public Cat(String name) { this.name=name;

2020-07-06 17:29:55 451 1

原创 大数据-java基础-第12章 面向对象的java实现-接口

1.什么是常量,主要作用?答;常量是一种标识符,用final修饰,它在运行期间恒定不变,在程序中只能被引用,而不能重新赋值,其初始化仅可以在两个地方:①在其定义出,也就是在final变量定义时直接给赋值;②在构造方法中;作用增强程序的可读性、可维护性。2.常量的定义规则?答:①加入final关键字代表常量,加入static关键字代表类变量;②尽量使用含义直观的常量来表示哪些将在程序中多次出现的数字或字符串。3.final方法与final类答:final方法:将方法声明为final,说明

2020-07-06 17:15:25 207

原创 大数据-java基础-第11章 面向对象的java实现-继承和多态练习

1.定义动物类,其中都具有姓名、年龄、性别的属性和睡觉的行为,其中狗继承动物类,但具有自己吃骨头的行为,猫继承动物类,但具有自己吃老鼠的行为,兔子继承动物类,但具有自己吃草的行为。分析:①定义动物类public class Animal { String name; int age; String sex; public Animal(String name,int age,String sex) { this.name=name; this.sex=sex; this.age=

2020-07-04 10:03:59 166

原创 大数据-java基础-第11章 面向对象的java实现-继承和多态

1.什么是继承?答:子类具有父类的一般特性(包括属性和行为),以及自身的特殊的特性。在java中所以java类都直接或者间接继承了java.lang.object类。2.如何实现继承?答:继承是指从一个基类出发定义另一个类即派生类的过程。派生类自动具有基类的所有非私有的实例变量和实现方法,而且派生类还可以增加新的成员变量和方法。Java中用extends关键词来实现继承(继承为单继承)。3.方法重写(overriding)?答:子类和父类的方法具有相同的名称、参数列表、返回类型,①方法重写

2020-07-04 09:55:27 174

原创 大数据-java基础-第09章 类的方法

1.方法的命名规范?答:通常方法名是一个动词,如果又两个以上的单词组成,第一个单词的首字母小写,其后单词首字母大写。2.方法的返回值?答:两种情况:①如果方法具有返回值,方法中必须使用关键词return返回该值(返回值只能返回一个值,不能多个值),返回类型为该返回值得类型;②如果没有返回值,返回类型为void。3.方法的调用?答:方法是一个“黑匣子”,完成某个特定的应用程序功能,并返回结果,方法的调用:执行方法包含的语句:对象名.方法名();。方法之间是 允许相互调用,不需要知道方法的具体

2020-07-04 09:43:07 102

原创 大数据-java基础-第07章 字符串练习

1.输入内容,结尾以#键结束,并打印出内容public class Exercise0102 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc =new Scanner(System.in); int i =0; String couse1=" "; System.out.println("请输入内容 :"); while(i >=0){ S

2020-07-04 09:36:10 96

原创 大数据-java基础-第07章 字符串

1.什么是字符串答:字符串就是由一串文字所组成的。2.字符串如何储存答:使用String对象来存储字符串,例如:String s =”sssss”; String s =new String(“sss”)(String类位于java.lang包里面,适用于任何类里面,无需加载包。3.字符串的方法(String st =new String(“ssss”))4.StringBuffer作用答:StringBuffer是对String的增强版,可以使用append方法继续字符串的追加,并且只是

2020-07-04 09:21:13 91

原创 大数据-java基础-第02章 变量、数据类型和运算符

1.变量的定义?答:变量是存储数据的一个基本单元2.变量的如何划分?答:变量可以由于位置的不同可以分为:成员(全局)变量和局部变量;成员变量在方法外部,类的内部定义的变量,系统会自动对其进行默认值初始化,可以不手动赋值;局部变量在方法或语句内部定义的变量,必须显示初始化(需要手动赋值),不具备自动初始化的能力。3.标识符如何命名规划?答:①有字母、数字、下划线、$符号组成,但不能以数字开头,中间不能存在空格;②不能是关键字和保留字;③区分大小写;④标识符没有长度限制;⑤中文的变量

2020-07-03 09:21:48 110

原创 大数据-java基础-第03章 条件结构(if和switch)练习

1.输入一个整数,判断其个位是不是以9结尾public class Excercise02 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个数"); int a = sc.nextInt(); int remainder = a %10; if(remainder ==9 ) { System.out.pri

2020-07-03 09:14:24 444

原创 大数据-java基础-第03章 条件结构(if和switch)

1.if条件结构?答:if条件结构是根据条件判断之后再做处理。If(表达式){语句},当表达式的条件为真时,在执行语句,为假是不执行。2.if-else条件结构?答:If(表达式){语句1}else{语句2},当表达式的条件为真时,在执行语句1,为假时执行语句2。3.条件运算符?答:条件运算符也称为三元运算符,语法为:表达式?语句1:语句2;先判断表达式,表达式为真时,返回结果为语句1,表达式为假时,返回结果为语句2。4.键盘如何输入?答:键盘在控制台输入,需要导入java里面util

2020-07-03 08:55:49 138

原创 大数据-java基础-第04章 while和do-while循环结构练习

1.缸子里能装50升水。现有15升。每次能挑5升。要挑几次才能挑满?分析:1.定一个变量 a 来存储每次挑的水2. 定义一个变量 b 来显示挑水的次数3.判断条件为挑满水为止public class Excericse05 { public static void main(String[] args) { int a =5 ; int b =1; while((a*b)+15 <=50) { b++; } System.out.print("要挑"+(b-1)+

2020-07-02 10:12:18 1277

原创 大数据-java基础-第04章 while和do-while循环结构

1.循环的定义?答:循环就是在不停的干着同一件事情。2.循环结构的特点?答:循环结构的特点是都存在循环条件和循环操作。3.什么是while循环,while循环的特点是?答:while循环为:while(循环条件){循环操作};当循环的条件为真是则执行循环操作,当条件为假时,结束;whlie循环的特点是先判断循环条件在执行循环操作。4.while循环的步骤?答:①分析循环条件和循环操作,②套用whlie语法写代码,③检查循环是否可以退出。5. 什么是do-while循环,do-w

2020-07-02 10:07:50 150

空空如也

空空如也

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

TA关注的人

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