Java
文章平均质量分 68
数据小二
小二讲堂开讲了!!
展开
-
Azkaban 外部接口的使用与开发
Azkaban 外部接口的使用与开发此文档可用于Azkaban 任务的https调用,提供了查看任务的状态信息、执行情况、任务的创建、上传、触发、取消、调度等功能接口。可以使开发者在编程过程中直接通过https api的调用,来对任务进行控制,开发者可参考azkaban官网提供的api文档。azkaban官网提供的api文档:https://azkaban.github.io/azkaban/docs/latest/#ajax-apiAPI调研结果:功能 是否支持 java api原创 2021-05-24 17:09:41 · 1722 阅读 · 1 评论 -
Gitlab 项目提交 操作
Command line instructionsYou can also upload existing files from your computer using the instructions below.Git global setupgit config --global user.name "wangjunyong"git config --global user.email "wangjunyong@bbdservice.com"Create a new reposito原创 2021-05-12 15:11:18 · 357 阅读 · 0 评论 -
Spring Boot 注解大全
使用注解的优势: 采用纯java代码,不在需要配置繁杂的xml文件 在配置中也可享受面向对象带来的好处 类型安全对重构可以提供良好的支持 减少复杂配置文件的同时亦能享受到springIoC容器提供的功能 一、注解详解(配备了完善的释义)可采用ctrl+F 来进行搜索哦:@SpringBootApplication:申明让spring boot自动给程序进行必要的配置,这个配置等同于:@Configuration ,@EnableAutoConfi..原创 2021-04-03 09:17:43 · 232 阅读 · 0 评论 -
多线程批量提交Spark任务
一.目的1.避免资源的浪费2.提高任务执行的效率3.防止任务未执行完毕,session和线程池已关闭,导致任务失败二、异常conding:1)method 1 for (String s : list) { Dataset<Row> sql = sparkSession.sql(s); sql.show(); } sparkSession.close(); Syste.原创 2021-01-07 16:35:14 · 1400 阅读 · 2 评论 -
最简易的Maven打包
一、简洁方式将依赖包和class一起打包<build> <plugins> <!-- Maven Assembly Plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembl原创 2020-12-11 17:53:44 · 306 阅读 · 0 评论 -
ElasticSearch磁盘达到阈值异常,写不进去数据
异常信息{ "error": { "root_cause": [ { "type": "cluster_block_exception", "reason": "index [blog1] blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];" } ], "原创 2020-12-11 15:37:54 · 2693 阅读 · 0 评论 -
从实际案例聊聊Java应用的GC优化-《美团大神笔记》
当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。但GC算法复杂,影响GC性能的参数众多,且参数调整又依赖于应用各自的特点,这些因素很大程度上增加了GC优化的难度。即便如此,GC调优也不是无章可循,仍然有一些通用的思考方法。本篇会介绍这些通用的GC优化策略和相关实践案例,主要包括如下内容: > 优化前准备: 简单回顾JVM相关知识、介绍GC优化的一些通用策略。 > 优化方法: 介绍调优的一般流程:明确优化目标→优化→跟踪优化结果。转载 2020-11-26 21:09:18 · 260 阅读 · 0 评论 -
深入浅出JVM虚拟机
------------------------------------------深入理解Java虚拟机------------------------------------------java内存区域划分1. 程序计数器当前线程所执行的字节码行号指示器 每个线程都有独立的程序计数器 如果执行的是java方法,记录字节码指令地址。如果执行Native方法,则为空(Undefined) 不会有OutOfMemoryError出现2. 虚拟机栈线程私有, 生命周期与线程相同 描原创 2020-11-26 21:05:38 · 325 阅读 · 0 评论 -
mysql 8.0.11安装教程
安装环境:win71、下载zip安装包:MySQL8.0 For Windows zip包下载地址:https://dev.mysql.com/downloads/file/?id=476233,进入页面后可以不登录。后点击底部“No thanks, just start my download.”即可开始下载。2、安装2.1解压zip包到安装目录我的解压在了E:\sof...原创 2019-07-12 07:47:09 · 418 阅读 · 0 评论 -
深入JVM类加载机制
从ClassLoad开始说起ClassLoader顾名思义就是我们所常见的类加载器,其作用就是将编译后的class文件加载内存当中.在应用启动时,JVM通过ClassLoader加载相关的类到JVM当中.在具体了解ClassLoader之前我们先来了解下JVM的类加载机制.1. 类加载机制虚拟机将class文件加载到内存,并对数据校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java...转载 2019-07-01 09:21:06 · 229 阅读 · 0 评论 -
HashMap底层数据结构原理精讲
JDK1.8之前HashMap在jdk1.8之前HashMap底层采用的数组+链表;HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。HashMap储存的是键值对,HashMap很快。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。数组:...原创 2019-07-01 08:42:13 · 2046 阅读 · 0 评论 -
Java设计模式之建造者模式(生成器模式)【小二讲堂】
小二精选博文:小二讲堂:https://blog.csdn.net/Mirror_w算法讲解:https://blog.csdn.net/Mirror_w/article/details/89286497建造者模式又称生成器模式:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。使用多个简单对象一步一步构成一个复杂对象。这种设计模式是创建型的模式,它提供了一种创建对象的...原创 2019-04-20 17:40:25 · 390 阅读 · 0 评论 -
Java设计模式之消费者模式【小二讲堂】
Java设计模式大全:https://blog.csdn.net/mirror_w/article/category/8845914所谓消费者模式如图所示,能理解了什么呢?一、入门思想思想: 生产者和消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。而进过阻塞队列(或者缓冲区)来进行通讯。所以生产完不用等待消费者直接放到阻塞队(或者缓冲区)中,消费者不是直接向生产者获取数据而是直接...原创 2019-04-30 20:12:52 · 338 阅读 · 0 评论 -
Java设计模式之单例模式-Single Pattern【小二讲堂】
Java23种设计模式大合集:https://blog.csdn.net/mirror_w/article/category/8845914一、入门概要设计思想单例模式是一种常用的软件设计模式,其定义是单例对象只允许一个对象存在。许多时候整个系统只需一个全局对像,这样有利于协调系统的整体行为。 比如说在一个服务器程序中,该服务器的程序的配置信息都存放在一个文件中,这些配置由单列对象统一读取...原创 2019-04-30 20:24:26 · 482 阅读 · 0 评论 -
ThreadLocal深入解析
ThreadLocal介绍&跳出误区: ThreadLocal一般称为线程本地变量,它是一种特殊的线程绑定机制,将变量与线程绑定在一起,为每一个线程维护一个独立的变量副本。通过ThreadLocal可以将对象的可见范围限制在同一个线程内。跳出误区 需要重点强调的的是,不要拿ThreadLocal和synchronized做类比,因为这种比较压根就是无意义的!sysnchro...原创 2019-06-08 15:18:17 · 349 阅读 · 0 评论 -
ThreadPoolExecutor原理解析
import java.util.concurrent.LinkedBlockingDeque;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.TimeUnit;public class Test { public static void main(String[] args) ...原创 2019-06-09 17:22:30 · 326 阅读 · 0 评论 -
代理模式Proxy Pattern
代理模式:代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法。代理模式的关键点是:代理对象与目标对象.代理对象是对目标对象的扩展,并会调用目标对象...原创 2019-06-04 11:09:19 · 231 阅读 · 0 评论 -
迭代器模式Iterator Pattern
思想:提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示;(1)迭代器角色(Iterator):定义遍历元素所需要的方法,一般来说会有这么三个方法:取得下一个元素的方法next(),判断是否遍历结束的方法hasNext()),移出当前对象的方法remove(),(2)具体迭代器角色(Concrete Iterator):实现迭代器接口中定义的方法,完成集合的迭代。...原创 2019-06-04 11:13:25 · 204 阅读 · 0 评论 -
算法的时间复杂度和空间复杂度
通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的算法时间复杂度分析方法是很有必要的。算法执...原创 2019-07-08 20:09:55 · 605 阅读 · 0 评论 -
Java设计模式之装饰者模式
装饰者模式本篇博客主要论述一下几个问题:什么 是装饰者模式?装饰者模式的优缺点?怎样实现装饰者模式?案例描述什么是装饰者模式?装饰者模式(Decorator Pattern):动态地给一个对象增加一些额外的职责,增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。在装饰者模式中,为了让系统具有更好的灵活性和可扩展性,我们通常会定义一个抽象装饰类,而...原创 2019-04-11 08:31:56 · 281 阅读 · 0 评论