Java

vue+elemntUI合并行2

返回的是一维数组 o:[{id:1,name:s;age:11},{id:1,name:s;age:11},{id:2,name:p;age:15}]  1、对返回的数据做处理 getData() { that.tableData = res.data.data.list; that.getFormatList(); // 重新合并行 }, getFormatList() {

任务调度之Azkaban

针对数据仓库中的任务脚本我们前面已经整理过了,任务脚本还是比较多的,针对初始化表的脚本只需要执行一次即可,其它的脚本需要每天都执行一次,这个时候就需要涉及到任务定时调度了。 Crontab调度器的使用 我们前面在学习Linux的时候学过一个crontab调度器,通过它可以实现定时执行指定的脚本。 针对我们这个数据仓库中的这些脚本使用crontab进行调度是可以的 但是需要注意一点:这些任务之间是有

vue+elementUI 合并行3

1、返回数据为一维数组 getData() { that.tableData = res.data.data.list; } 2、合并函数 挂在vue底层: Vue.prototype.$spanMethodFunc=function(list, props, row, col) 写在method内: spanMethodFunc(list, props, row, col) {

Flink详解

什么是Flink Apache Flink 是一个开源的分布式,高性能,高可用,准确的流处理框架。 分布式:表示flink程序可以运行在很多台机器上, 高性能:表示Flink处理性能比较高 高可用:表示flink支持程序的自动重启机制。 准确的:表示flink可以保证处理数据的准确性。 Flink支持流处理和批处理,虽然我们刚才说了flink是一个流处理框架,但是它也支持批处理。其实对于flink

Flink安装部署

Flink集群安装部署 Flink支持多种安装部署方式 Standalone ON YARN Mesos、Kubernetes、AWS… 这些安装方式我们主要讲一下standalone和on yarn。 如果是一个独立环境的话,可能会用到standalone集群模式。 在生产环境下一般还是用on yarn 这种模式比较多,因为这样可以综合利用集群资源。和我们之前讲的spark on yarn是

Spring的事件驱动模型

作用 在传统企业级Spring应用系统中,正是通过事件驱动模型实现信息的异步通信和业务模块的解耦 组成 包括发送消息的生产者、消息(或事件)和监听接收消息的消费者,这三者是绑定在一起的,可以说是“形影不离” 实现步骤(案例) (1)需要创建用户登录成功后的事件实体类 LoginEvent,该实体类需要继承ApplicationEvent并实现序列化机制 (2)开发监听消息的消费者Co

使用ChatGPT、Dall-E和GPT-4构建AI应用程序

您可以利用 AI 的力量来提升您的 Web 开发技能。 我们发布了一门课程,教您如何使用 ChatGPT、Dall-E 和 GPT-4 构建 AI 应用程序。本课程旨在让您掌握创建尖端人工智能应用程序的知识和技能。 在本课程中,您将利用 OpenAI API 构建三个项目,并探索 ChatGPT、Dall-E 和革命性的 GPT-4 模型的功能。准备好构建一个电影音调生成器、一个可以问我任何问题的

Nginx日志

nginx.conf中有关访客日志定义如下 参数解释 $remote_addr :记录访问网站的客户端IP地址$remote_user :记录远程客户端用户名称$time_local :记录访问时间与时区$request :记录用户的 http 请求起始行信息(请求方法,http协议)$status :记录 http 状态码,即请求返回的状态,例如 200 、404 、502 等$body_b

trc golang 进程请求追踪包

trc 是一个方便的golang 进程请求追踪框架,可以提供方便的请求追踪查看 参考使用 代码来说官方示例,完整的可以查看官方 package main   import ( "context" "fmt" "log" "math/rand" "net/http" "net/http/httptest" _ "

tink google 加密安全实践的框架

tink 是google 多年加密实践的框架,提供了安全的加密处理方法,可以简化不少我们的加密处理 参考使用 public static void main(String[] args) throws GeneralSecurityException, IOException { AeadConfig.register(); // 1. G

低代码的能力边界在哪?

不同平台的走向肯定不一样,也必将出现一批臭大街的低代码平台(那些毫无创新、低含金量)。大致来探讨下低代码及目前低代码的现状与发展吧。 低代码(Low-Code)就是应用新技术、新思想、新的软件架构、新的设计方法打造一个软件定制平台,来实现相对较低的代码编写而实现软件应用需求的目的,其目的就是要降低软件应用定制的开发难度、加快软件应用定制的进度等来实现软件应用的快速定制,最终降低软件开发的成本。产生

一个多功能(聚合)查询接口,实现模糊、分页、主键、排序以及多条件查询

一个多功能(聚合)查询接口,实现模糊、分页、主键、排序以及多条件查询 前言 写的啰嗦了点,看效果请直接忽略中间,直接看后半部分。 引个流,公众号:小简聊开发 概念 瞎编的名字,哈哈哈,我就勉强称之为聚合查询吧,不知道概念符不符合。 大家好,我是小简,很久没写文章了,确实是太忙了,今天我异想天开(其实也有很多类似的实现,只不过没去封装)的想去实现一个查询接口,不同条件不同查询的功能,简单的玩

Flink核心API之DataStream

Flink中提供了4种不同层次的API,每种API在简洁和易表达之间有自己的权衡,适用于不同的场景。目前上面3个会用得比较多。 低级API(Stateful Stream Processing):提供了对时间和状态的细粒度控制,简洁性和易用性较差,主要应用在一些复杂事件处理逻辑上。 核心API(DataStream/DataSet API):主要提供了针对流数据和批数据的处理,是对低级API进

Flink核心API之Table API和SQL

Table API & SQL 注意:Table API 和 SQL 现在还处于活跃开发阶段,还没有完全实现Flink中所有的特性。不是所有的 [Table API,SQL] 和 [流,批] 的组合都是支持的。 Table API和SQL的由来: Flink针对标准的流处理和批处理提供了两种关系型API,Table API和SQL。Table API允许用户以一种很直观的方式进行selec

线程的四个属性

如上图所示,线程有四个属性: 线程ID 线程名称 守护线程 线程优先级 1. 线程ID 每个线程都有id,这个id不能修改 线程id会不停的自增,从1开始 main函数就是第一个线程,id=1 id 是操作系统用来识别各个线程的编号,具有唯一性,从下面 java 的源码中看到,这个线程的Id初始值是0,但是每一次生成Id的时候都是先自增的(++threadSeqNumber)

多线程的未捕获异常类 UncaughtExceptionHandler 的使用

一、需要 UncaughtExceptionHandler 的原因 1. 主线程可轻松的发现异常,子线程的异常比较隐蔽,难以发现 程序运行时,子线程发生了异常,并不影响主线程,也不会终止主线程的程序,主线程将继续执行,这时候子线程的异常可能就不会被察觉,就使得子线程的功能出了问题,但没发现。 代码展示: 打印结果: 如图所示,当主线程输出大量信息时,子线程的异常信息就被淹没了。而且子线程的异常

volatile 关键字

一、volatile 关键字的适用与不适用场景 1. 什么是 volatile volatile是一种同步机制,类似于 Lock 和 Synchronized ,但是他更轻量级,因为使用 volatile 并不会发生上下文切换等开销很大的行为。 如果一个变量被volatile修饰,那么JVM会认为这个变量可能会被并发修改,会保证关于这个变量的修改能立即被其他线程看到。 因为开销小,所以能力也小;

多线程安全的案例展示与解决方案

一、概念 1. 什么是线程安全 当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。 通俗来说就是:不管业务中遇到怎么的多个线程访问某个对象或某个方法的情况,而在编写这个业务逻辑的时候,都不需要额外做任何额外的处理(也就是可以像单线程编程一样),程序

单例模式8种写法

0. 为什么需要单例模式? 节省内存和计算 保证结果正确 方便管理 使用场景: 1. 饿汉式(静态常量)—推荐指数:★★☆☆☆ 优点:不会有线程安全问题。 缺点:在类加载的时候就创建对象,如果一直没使用到该对象的话,就造成了内存浪费,如果对象初始化的工作有很多,也会影响到性能。 代码展示: 2. 饿汉式(静态代码块) —推荐指数:★★☆☆☆ 优缺点和第一种方式基本一致。 3. 懒汉式(线

synchronized 关键字

1. synchronized 关键字的作用 synchronized 关键字解决的是多个线程之间访问资源的同步性,用于保证在同一时刻最多只有一个线程执行该段代码,以达到保证并发安全的效果。 2. 作用范围 修饰代码块:大括号括起来的代码,作用于调用的对象。 修饰方法:整个方法,作用于调用的对象。 修饰静态方法:整个静态方法,作用于所有对象。 修饰类:括号括起来的部分,作用于所有对象。 其中前

Java内存模型

一、Java内存模型简介 1. Java内存模型的“底层原理” 从Java代码到CPU指令的变化过程是怎样的? 最开始,我们编写的Java代码,即 *.Java文件 在执行编译Javac命令后,从刚才的*.Java文件会变出一个新的Java字节码文件,即*.class文件 JVM会执行刚才生成的*.class字节码文件,并把字节码文件转化为机器指令 机器指令可以直接在CPU上执运行,也就是最终

银行转账问题(死锁)

本文主要讲述死锁的一个经典案例—银行转账问题,并对该问题进行定位、修复。 1. 问题说明 当账户A对账户B进行转账时, 首先需要获取到两把锁:账户A和账户B的锁。 获取两把锁成功,且余额大于0,则扣除转出人的余额,并增加收款人的余额,而且这些操作都是在一个原子操作中 获取锁的顺序相反导致死锁,即线程1获取到账户A的锁,然后请求账户B的锁,线程2已经获取到账户B的锁,然后请求A的锁,结果两者互

单例模式的运用

目录一、介绍二、饿汉式2.1 静态变量方式2.2 静态代码块方式2.3 枚举方式三、懒汉式3.1 线程不安全方式3.2 线程安全方式3.3 双重检查锁方式3.4 静态内部类方式四、破坏单例模式4.1 序列化破坏4.2 序列化破坏解决办法4.3 反射破坏4.4 反射破坏解决办法 一、介绍 单例模式:属于创建型模式,涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一

牛郎织女的幸福生活(活锁)

从前,有一对夫妻,男的叫牛郎,女的叫织女,他们很好地传承了中华民族的谦让美德,每次吃饭时都会优先考虑对方,如果对方饿的话,就让给对方吃,等对方吃饱了自己才吃,这种美德本身是好的,但是如果一味的谦让,就有可能都吃不上饭… 1. 吃饭逻辑 有两个就餐者,一个是牛郎,一个是织女; 就餐者Diner,有两个属性,一个是就餐人名字 name,一个是是否饥饿isHungry 就餐者有个行为方法eatWi

哲学家就餐问题(死锁)

本文主要讲述死锁的一个经典案例—哲学家就餐问题,并对该问题进行修复。 1. 问题描述 看上图,有五位哲学家,每天循环做两件事:思考,吃面。吃面时每人面前都有一个盘子,盘子左边和右边都有一根筷子,他们在吃面之前需要先拿起左边的筷子再拿起右边的筷子,有了一双筷子就可以吃面了。 具体逻辑: 哲学家在吃面之前一般先思考一段时间 思考之后,先拿起左手的筷子 然后拿起右手的筷子 如果筷子被人使用了,那

死锁细究

一、死锁的定义&危害 1、死锁是什么 发生在并发中 互不想让:当两个(或更多)线程(或进程)相互持有对方所需要的资源,又不主动释放,导致所有人都无法继续前进,导致程序陷入无尽的阻塞,这就是死锁。 多个线程造成死锁的情况 如果多个线程之间的依赖关系是环形,存在环路的锁的依赖关系,那么也可能会发送死锁 2、死锁的影响 死锁的影响在不同的系统中是不一样的,这取决于系统对死锁的处

Neo4j图数据库快速使用

针对这个项目中用到的技术组件,只有filebeat和neo4j我们没有使用过 不过filebeat比较简单,类似于flume,在使用的时候主要是写配置文件,所以在后面用到的时候我们再具体分析。 下面我们来学习一下neo4j的使用,快速了解它并掌握它的常见用法。 Neo4j介绍 Neo4j是一个高性能的图数据库,它和普通的关系型数据库是不一样的,它里面侧重于存储关系数据。 针对各种明星之间错综复杂的

js使用xlsx插件导出table中的数据

js代码 需要引入<script type="text/javascript" src="static/js/xlsx.core.min.js"></script>  

第七节 学成在线网站制作(案例)

day07-学成在线 01-项目目录 网站根目录是指存放网站的第一层文件夹,内部包含当前网站的所有素材,包含 HTML、CSS、图片、JavaScript等等。 首页引入CSS文件 02-版心居中 03-布局思路 布局思路:先整体再局部,从外到内,从上到下,从左到右 CSS 实现思路 画盒子,调整盒子范围 → 宽高背景色 调整盒子位置 → flex 布局、内外边距 控制图片、文字内

<<  <  1165  1166  1167  1168  1169  1170  1171  1172  1173  1174  1175  >  >>