自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

杀神lwz的博客

想保留一些资料或经验总结

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

原创 Hadoop分布式文件系统(一)

狭义上Hadoop指的是Apache软件基金会的一款开源软件。如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点。MapReduce进行编程处理,但是很多软件的底层依然在使用MapReduce引擎来处理数据。作为大数据生态圈第一代分布式计算引擎,由于自身设计的模型所产生的弊端,导致企业一线。生活中类比工厂的流水线:结论:流式其实也是变种的并行计算。第二个副本:放置在于第一个副本不同的 机架的节点上。广义上Hadoop指的是围绕Hadoop打造的。一个程序员最重要的能力是:写出高质量的代码!

2023-09-25 22:51:44 1018

原创 Java 设计模式

设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、 以及解决问题的思考方式。设计模免去我们自己再思考和摸索。就像是经典 的棋谱,不同的棋局,我们用不同的棋谱。设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设 计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠 性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化, 设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计

2021-09-19 20:26:29 202 1

原创 Spring AI

Spring AIJava接入人工智能大模型1.1、四次工业革命发展和变革人类社会的四次工业革命推动了人类社会发展和变革:蒸汽时代、电气时代、信息时代、智能时代。第一次工业革命(18世纪60年代~19世纪中期,大约是1760年到1860年)也称为蒸汽时代,发源于英格兰中部地区,是资本主义工业化的早期阶段;蒸汽机的发明及运用成为了这个时代的标志,因此历史学家称这个时代为“蒸汽时代”;蒸汽时代的显著特征是机械化生产和大规模生产,推动了生产力的飞跃,带来了极大的经济增长;

2024-05-08 00:10:15 952 1

原创 Sakura编辑器

1、sakura左右上下分屏不让联动设置

2024-05-08 00:10:07 171

原创 Apache Spark

简而言之,Spark借鉴了MapReduce思想发展而来,保留了其分布式并行计算的优点并改进了其明显的缺陷。让中间数据存储在内存中提高了运行速度、并提供丰富的操作数据的API提高了开发速度。Spark可以计算:结构化、半结构化、非结构化等各种类型的数据结构,同时也支持使用Python、Java、Scala、R以及SQL语言去开发应用程序计算数据。Spark的适用面非常广泛,所以,被称之为统一的 (适用面广) 的分析引擎 (数据处理)。Spark是一款分布式内存计算的统一分析引擎。

2024-03-25 00:26:48 407

原创 Apache HBase(二)

2. 在配置文件hbase-site.xml 文件中增加如下配置-->分发到集群其他机器。能够展示HBase中所有能使用的命令,主要使用的命令有。查看命令使用方式以create_namespace为例。上面命令中的list相当于数据库中的show命令。再进行下面命令行操作。问题:创建namespace报错!1、进入HBase客户端命令行。1. 停止hbase集群。3. 从启hbase集群。

2024-03-25 00:26:33 698

原创 Apache Flink

Flink起源于Stratosphere项目,Stratosphere是在2010~2014年由3所地处柏林的大学和欧洲的一些其他的大学共同进行的研究项目,2014年4月Stratosphere的代码被复制并捐赠给了Apache软件基金会,参加这个孵化项目的初始成员是Stratosphere系统的核心开发人员,2014年12月, Flink一跃成为Apache软件基金会的顶级项目。在德语中,Flink一词表示快速和灵巧,项目采用一只松鼠的彩色图案作为logo,这不仅是因为松鼠具有快速和灵巧。

2024-03-19 23:07:23 1363

原创 Apache Storm

Storm是一个分布式计算框架,主要使用Clojure与Java语言编写,最初是由Nathan Marz带领Backtype公司团队创建,在Backtype公司被Twitter公司收购后进行开源。最初的版本是在2011年9月17日发行,版本号0.5.0。2013年9月,Apache基金会开始接管并孵化Storm项目。Apache Storm是在Eclipse Public License 下进行开发的,它提供给大多数企业使用。经过1年多时间,2014年9月,Storm项目成为Apache的顶级项目。

2024-03-19 23:05:22 919

原创 代码编写规范

按照步骤拆分:step1Task() step2Task() step3Task()等。按照阿里巴巴《Java开发手册》编码规约进行约束自己的编码风格。拆分功能:befHandler() aftHandler()等。

2024-03-12 23:36:59 286

原创 FineBI软件--可视化报表

FineBI是帆软软件有限公司推出的一款商业智能(Business Intelligence)产品。FineBI是定位于自助大数据分析的BI工具,能够帮助企业的业务人员和数据分析师,开展以问题导向的探索式分析。多人协作可视化各种应用场景各种常见的分析图表和各种数据源大数据。

2024-03-12 23:28:40 416

原创 Apache HBase(一)

HBase使用与Bigtable非常相似的数据模型。用户将数据行存储在带标签的表中。数据行具有可排序的键和任意数量的列。该表存储稀疏,因此如果用户喜欢,同一表中的行可以具有疯狂变化的列。HBase 的设计理念依据Google的BigTable论文,论文中对于数据模型的首句介绍。映射中的每个值都是一个未解释的字节数组。Apache HBase™是以hdfs为数据存储的,一种。指代非关系型数据库的key-Value结构。稀疏的、分布式的、持久的。稀疏、分布式、多维、排序。的NoSQL数据库。

2024-03-09 09:26:33 729

原创 Apache Hive(三)

数据问题问题1:当前数据中,有一些数据的字段为空,不是合法数据解决:where 过滤问题2:需求中,需要统计每天、每个小时的消息量,但是数据中没有天和小时字段,只有整体时间字段,不好处理解决:Substr函数问题3:从GPS的经纬度中提取经度和纬度解决:split函数问题4:将ETL以后的结果保存到一张新的Hive表中解决:create table ... as select ....

2024-03-09 09:25:44 584

原创 Kubernetes(k8s)(一)

优点:可以保证每个容器拥有自己的文件系统、CPU、内存、进程空间等。运行应用程序所需要的资源都被容器包装,并和底层基础架构解耦。容器化的应用程序可以跨云服务商、跨Linux操作系统发行版进行部署。缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容易产生影响。:可以在一台物理机上运行多个虚拟机,每个虚拟机都是独立的一个环境。优点:程序环境不会相互产生影响,提供了一定程度的安全性。:互联网早期,会直接将应用程序部署在物理机上。缺点:增加了操作系统,浪费了部分资源。

2024-01-21 23:45:46 694 1

原创 Apache Hive(二)

1、Hive SQL DML语法之加载数据。2、Hive SQL DML语法之查询数据。3、Hive SQL Join关联查询。4、Hive SQL 中的函数使用。

2024-01-21 23:26:35 589

原创 数据仓库 & Apache Hive

数据仓库(英语:Data Warehouse,简称数仓、DW),是一个用于存储、分析、报告的数据系统。数据仓库的目的是构建面向分析的集成化数据环境,分析结果为企业提供决策支持思考:1、假如你现在手里有200w,当下的时间点去投资口罩生成,你做不做?能不能赚钱?2、假如你是公司营销总监,是否愿意招聘女主播进行短视频带货直播销售?

2024-01-12 00:31:24 633

原创 Hadoop分布式文件系统(三)

Hadoop MapReduce是一个分布式计算框架,用于轻松编写分布式应用程序,这些应用程序以可靠,容错的方式并行处理大型硬件集群(数千个节点)上的大量数据(多TB数据集)。MapReduce是一种面向海量数据处理的一种指导思想,也是一种用于对大规模数据进行分布式计算的编程模型。

2024-01-12 00:04:15 755

原创 MySql数据库备份和恢复

mysqldump -uUserName -pPassword –lock-all-tables –flush-logs –delete-master-logs 数据库名 > /root/完全备份文件名.sql。重新启动mysql服务,并且到目录/var/lib/mysql下查对应文件:索引文件sql_backup.index和文件sql_backup.000001,如出现以上两个文件,说明二进制日志功能开启成功了。在/var/mysql/目录下看到新生产的日志文件:sql_backup.000002。

2024-01-08 23:07:20 837

原创 2023我的编程之旅、2024新的启程

2023年发表文章102篇,其中内容概括如下:1、对Java多线程进行更深入的学习与了解。2、Golang语言进行学习。3、JVM优化。MySql优化。4、Java新特性至21学习了解。5、Arthas工具学习。

2024-01-08 00:52:39 1138 1

原创 Hadoop分布式文件系统(二)

文件系统是一种存储和组织数据的方法,实现了数据的存储、分级组织、访问和获取等操作,使得用户对文件访问和查找变得容易。文件系统使用树形目录的抽象逻辑概念代替了硬盘等物理设备使用数据块的概念,用户不必关心数据底层存在硬盘哪里,只需要记住这个文件的所属目录和文件名即可。文件系统通常使用硬盘和光盘这样的存储设备,并维护文件在设备中的物理位置。

2024-01-04 00:09:44 1229

原创 MySql函数

创建mysql函数名createIndex。创建mysql函数名DeleteData。

2024-01-04 00:09:12 425

原创 Java强软弱虚引用

强引用是我们最常见的普通对象引用,只要还有强引用指向一个对象,就能表明对象还“活着”,垃圾收集器不会碰这种对象。弱引用需要用java.lang.ref.WeakReference类来实现,它比软引用的生存期更短,对于只有弱引用的对象来说,只要垃圾回收机制一运行,不管JVM的内存空间是否够用,都会回收该对象占用的内存。创建引用的时候可以指定关联的队列,当GC释放对象内存的时候,会将引用加入到引用队列,如果程序发现某个虚引用已经被加入到引用队列,那么就可以在所引用的对象的内存被回收之前采取必要的行动,

2023-12-30 23:13:03 1150

原创 Netty(一)-NIO

现在的互联网环境下,分布式系统大行其道,而分布式系统的根基在于网络编程,而Netty恰恰是Java领域网络编程的王者。如果要致力于开发高性能的服务器程序,高性能的客户端程序,必须掌握Netty。

2023-12-30 23:12:21 567

原创 Java 并发编程(九)-ScheduleThreadPoolExecutor

从名字上就可以看出,当前线程池是用于执行定时任务的线程池。Java比较早的定时任务工具是Timer类。但是Timer问题很多,串行的,不靠谱,会影响到其他的任务执行。其实除了Timer以及ScheduleThreadPoolExecutor之外,正常在企业中一般会采用Quartz或者是 SpringBoot提供的Schedule的方式去实现定时任务的功能。ScheduleThreadPoolExecutor支持延迟执行以及周期性执行的功能。定时任务线程池的有参构造。

2023-12-24 00:12:16 117

原创 Java 并发编程(八)-异步编程-CompletableFuture

平时多线程开发一般就是使用Runnable,Callable,Thread,FutureTask,ThreadPoolExecutor这些内容和并发编程息息相关。相对来说成本都不高,多多使用是可以熟悉这些内容。这些内容组合在一起去解决一些并发编程的问题时,很多时候没有办法很方便的去完成异步编程的操作。执行异步任务,但是没有返回结果。完整一个可以有返回结果的异步任务。获取返回结果,如果基于get方法获取,线程需要挂起在WaitNode里。

2023-12-24 00:12:04 277

原创 Java 并发编程(七)-异步编程-FutureTask

FutureTask内部的整体结构中,实现了RunnableFuture的接口,这个接口又继承了Runnable, Future这个两个接口。只要任务结束了,无论是正常返回,异常返回,还是任务被取消都会执行这个方法,而这个方法其实就是。可以基于FutureTask的方法去取消任务,查看任务是否结果,以及获取任务的返回结果。异步任务启动之后,可以获取一个绑定当前异步任务的FutureTask。任务执行完毕后,修改任务的状态以及封装任务的结果。,以及调用任务封装结果的方式,还有最后的一些后续处理。

2023-12-19 23:40:22 604

原创 Java ReentrantLock--Condition

虽然Node对象有prev和next,但是在ConditionObject中是不会使用这两个属性的,只要在Condition队列中,这两个属性都是null。4、在获取锁资源后,要确认是否在获取锁资源的阶段被中断过,如果被中断过,并且不是 THROW_IE,那就确保interruptMode是REINTERRUPT。awaitNanos:仅仅是在await方法的基础上,做了一点点的改变,整体的逻辑思想都是一样的。挂起线程时,传入要阻塞的时间,时间到了,自动唤醒,走添加到AQS队列的逻辑。

2023-12-19 23:40:17 87

原创 Java 并发编程(六)-线程池二

Fork/Join它可以将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果合并成最后的计算结果,并进行输出。Fork/Join框架要完成两件事情:Fork:把一个复杂任务进行分拆,大事化小Join:把分拆任务的结果进行合并。

2023-12-17 10:11:20 103

原创 Java 多线程学习(三)

ReentrantLock的实现,是先基于乐观锁的CAS尝试获取锁资源,如果拿不到锁资源,才会挂起线程。偏向锁在升级为轻量级锁时,会涉及到偏向锁撤销,需要等到一个安全点(STW),才可以做偏向锁撤销,在明知道有并发情况,就可以选择不开启偏向锁,或者是设置偏向锁延迟开启。:如果在一个循环中,频繁的获取和释放做资源,这样带来的消耗很大,锁膨胀就是将锁的范围扩大,避免频繁的竞争和获取锁资源带来不必要的消耗。就是最传统的synchronized方式,拿不到锁资源,就挂起当前线程。如果成功获取到,拿着锁资源走。

2023-12-17 10:10:50 178

原创 JVM Optimization Learning(六)-ZGC

得益于颜色指针的支持,ZGC收集器能仅从引用上就明确得知一个对象是否处于重分配分配集之中,如果用户线程此时并发访问了位于重分配集中的对象,这次访问将被读屏障所截获,然后立即根据Region上的转发表记录将访问转发到新复制的对象上,并同时修正更新该引用的值,使其直接指向新对象,ZGC的这种行为称作指针的“自愈”能力。1、{aarch64,arm32-hflt,mipsel,mips64el,ppc64le,s390x,x86_32,x86_64}:架构,linux中使用arch命令选择对应的架构。

2023-12-10 00:00:42 333

原创 JMH性能测试

JMH,全称Java Microbenchmark Harness(微基准测试框架),是专门用于Java代码微基准测试的一套测试工具API,是由Java虚拟机团队开发的,一般用于代码的性能调优。 BenchMark又叫做基准测试,主要用来测试一些方法的性能,可以根据不同的参数以不同的单位进行计算(例如可以使用吞吐量为单位,也可以使用平均时间作为单位。在BenchmarkMode里面进行调整)。

2023-12-10 00:00:39 127

原创 Linux 软件安装

1、将文件jdk-21.0.1_linux-x64_bin.tar.gz移动到/usr/java下,usr下没有java文件夹,可以先创建java文件夹:mkdir java。内容 /usr/local/bin/redis.conf指定配置文件路径可修改。4、保存退出后,执行source /etc/profile使修改的环境变量生效。3、在/etc/profile文件中,配置环境变量,使JDK在所有用户中生效。redis默认安装路径:/usr/local/bin。5、检查下系统自带的jdk,并删除它。

2023-12-05 00:18:03 947

原创 JVM Optimization Learning(五)-G1

humongous:/hjuːˈmʌŋɡəs/ 巨大的、庞大的。压缩空闲空间不会延长GC的暂停时间。适用不需要实现很高的吞吐量的场景。更易预测的GC暂停时间。

2023-12-05 00:16:59 372

原创 Arthas(阿尔萨斯)--(四)

options:全局开关。

2023-11-19 23:43:40 300

原创 OGNL语法

OGNL官网地址一个程序员最重要的能力是:写出高质量的代码!!有道无术,术尚可求也,有术无道,止于术。无论你是年轻还是年长,所有程序员都需要记住:时刻努力学习新技术,否则就会被时代抛弃!

2023-11-19 22:31:52 217

原创 Arthas(阿尔萨斯)--(三)

命令将 JVM 中实际运行的 class 的 byte code 反编译成 java 代码,便于你理解业务逻辑;如需批量下载指定包的目录的 class 字节码。,“Search-Class” 的简写,这个命令能搜索出所有已经加载到 JVM 中的 Class 信息,这个命令支持的参数有。“Search-Method” 的简写,这个命令能搜索出所有已经加载了 Class 信息的方法信息。功能,也就是说所有当前类的子类也会被搜索出来,想要精确的匹配,请打开。jad:反编译指定已加载类的源码。

2023-11-16 23:06:45 955

原创 Arthas(阿尔萨斯)--(二)

CPU%: 线程的 cpu 使用率。比如采样间隔 1000ms,某个线程的增量 cpu 时间为 100ms,则 cpu 使用率=100/1000=10%有时候我们发现应用卡住了, 通常是由于某个线程拿住了某个锁, 并且其他线程都在等待这把锁造成的。ID: Java 级别的线程 ID,注意这个 ID 不能跟 jstack 中的 nativeID 一一对应。thread --state WAITING :查看线程中处于等待状态的线程。TIME: 线程运行总 CPU 时间,数据格式为分:秒。

2023-11-13 23:57:55 289

原创 Web 异常 + Error

目录一、Web 异常1、Web 异常1、前端 时间显示设置2、前端校验被挤压向下3、前端 数组操作:未定义属性错误4、前端传回的类型和后端接收的类型不匹配,被过滤器拦截了在后台实体类增加@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")2、前端校验被挤压向下解决3、前端 数组操作:未定义属性错误数组操作:未定义属性错误实际原因:操作的数组对象未定义或null干我们这行,啥时候懈怠,就意味着长进的停止,长进的停止

2023-11-09 11:04:01 364

原创 Sql 异常 + Error

3、我遇到的情况是创建MySQL数据库,选择的排序规则:utf8mb4_0900_ai_ci,经过SQL语句修正库和字段排序规则为utf8mb4_general_ci后,测试还是有此问题。因为MyBatis-Plus XML中,for循环插入数据实际上是将SQL语句拼接成一个非常长的字符串,然后一次性执行。SQL语句后,增加COLLATE utf8mb4_general_ci。--重新创建数据库,选择排序规则utf8mb4_general_ci。1、设置sort_buffer_size大小。

2023-11-09 11:00:04 482 1

原创 Java21新特性

字符串模版可以让开发者更简洁的进行字符串拼接(例如拼接sql,xml,json等)。该特性并不是为字符串拼接运算符+提供的语法,也并非为了替换StringBuffer和StringBuilder。上面使用的STR是java中定义的模版处理器,它可以将变量的值取出,完成字符串的拼接。,STR通过打印STR可以知道它是java.lang.StringTemplate,是一个接口。其他使用示例,在STR中可以进行基本的运算(支持三元运算)预览功能(java文件不要加package包信息)进行字符串与变量的拼接。

2023-11-05 17:05:25 411

原创 Java17-20新特性

Java17是一个LTS(long term support)长期支持的版本,根据计划来看会支持到2029年(java8会支持到2030年),同时Oracle提议下一个LTS版本是java21,在2023年9月发布,这样将LTS版本的发布周期由之前的3年变为了2年。Java版本支持时间。

2023-11-02 00:15:07 761

AZ-204考试题库 284+51Q

AZ-204考试题库 个人备考成功通过考试认证

2022-10-30

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

TA关注的人

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