自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HQ DevJ的专栏

关于IT技术博客

  • 博客(131)
  • 资源 (6)
  • 收藏
  • 关注

原创 Pulsar-Pulsar 之 pulsar manager

我们可以在Docker Hub目录中找到docker镜像,并从源代码构建镜像cd ..cd ..

2023-10-19 14:32:10 879

原创 Pulsar-Pulsar 之 Functions

自定义Kubernetes运行时允许我们自定义由运行时创建的Kubernetes资源,包括如何生成清单,如何将经过身份验证的数据传递到pods,以及如何集成密钥secrets需要在配置文件conf/functions-worker.yml配置runtimeCustomizerClassName,使用全限定类名。

2023-10-19 14:28:05 434 1

原创 Pulsar-Schema 数据结构

Pulsar模式定义在名为SchemaInfo的数据结构中。它是在每个主题的基础上存储和执行的,不能存储在名称空间或租户级别name: schema名称type:schema类型,它决定如何序列化和反序列化模式数据schema:模式数据,这是一个8位无符号字节序列和特定的模式类型properties:用户定义的属性是String/String的键值对,应用程序可以使用它来承载任何特定于应用程序的逻辑。

2023-10-13 09:59:49 946

原创 Prometheus-Prometheus安装及其配置

在安装完prometheus之后,我们之前解压的目录中有一个prometheus.yaml文件,这个是prometheus的相关配置文件。可以通过Prometheus表达式浏览器和Web界面看到其他有用的信息, 例如目标的状态以及Prometheus服务器的规则和配置。在进行查询的时候,prometheus也为我们提供了PromQL表达式语言进行查询相关指标。Prometheus的安装针对Linux的安装,其他的安装方式可以查看。我们可用搜索对应的指标,如下我们搜索。的展示形式,我们展示图标的方式,就是。

2023-10-12 17:47:18 193

原创 Pulsar 之架构,客户端以及多区域容灾

如果使用自己的系统,只有一个要求:当客户机向端点执行HTTP请求时,如http://pulsar.us-west.example.com:8080。需要配置BookKeeper区域感知的放置策略,以跨数据,多个数据中心存储并保证写入时的可用性约束.一个同步的地理复制集群包括一个运行在多个数据中心的bookies集群和一个运行在多个数据中心的代理集群,最后,为了支持全局主题上的地理复制,代理管理复制器,跟踪在本地区域发布的条目,并使用Pulsar Java客户端库将它们重新发布到远程区域。

2023-10-12 14:31:32 790

原创 Pulsar 之Messaging 消息

订阅模式表示游标类型创建订阅时,将创建一个关联游标来记录最后消耗的位置当订阅的使用者重新启动时,它可以继续使用它使用的最后一条消息。

2023-10-10 11:10:31 192

原创 Pulsar简介及其安装

Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体。该系统源于 Yahoo,最初在 Yahoo 内部开发和部署,支持 Yahoo 应用服务平台 140 万个主题,日处理超过 1000 亿条消息。Pulsar 于 2016 年由 Yahoo 开源并捐赠给Apache 软件基金会进行孵化,2018 年成为 Apache 软件基金会顶级项目。

2023-10-10 10:58:01 209

原创 【SpringCloud】Spring Cloud Gateway实现接口防篡改

网关请求放篡改和防重放

2022-08-05 17:10:28 2351 3

原创 【Elasticsearch教程】-Elasticsearch基本操作

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,

2022-06-14 14:51:13 392

原创 【Elasticsearch教程】-安装

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况

2022-06-12 14:24:38 434

原创 Spring全家桶-Spring Security之OAuth2.0认证

我们以前都是通过用户名和密码进行登录,但是有时候我们不想通过用户名和密码登录,通过第三方的账号进行登录,我们该怎么办?OAuth为我们解决了在用户不提供密码给第三方应用的情况下,让第三方应用有权获取用户数据以及基本信息。如:使用Github,QQ,Facebook等进行访问应用。即开放授权,是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。

2022-06-04 18:01:14 520

原创 Spring全家桶-Spring Security之HTTP认证

Spring全家桶-Spring Security之HTTP认证 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(控制反转),DI(依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。文章目录Spring全家桶-Spring Security之HTTP认证前言一、HTTP

2022-05-31 19:38:55 1041

原创 Spring全家桶-Spring Security之跨域与CORS与防护

Spring全家桶-Spring Security之跨域与CORS Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(控制反转),DI(依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。文章目录Spring全家桶-Spring Security之跨域与CORS前言一、跨域

2022-05-29 19:59:12 962

原创 Spring全家桶-Spring Security之会话并发控制与集群解决

Spring全家桶-Spring Security之会话并发控制与集群解决 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(控制反转),DI(依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。文章目录Spring全家桶-Spring Security之会话并发控制与集群

2022-05-27 16:57:39 1013

原创 Spring全家桶-Spring Security之会话管理

Spring全家桶-Spring Security之会话管理 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(控制反转),DI(依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。文章目录Spring全家桶-Spring Security之会话管理前言一、Session是

2022-05-25 19:06:24 1081

原创 Spring全家桶-Spring Security之图片验证码

Spring全家桶-Spring Security之图片验证码 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(控制反转),DI(依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。文章目录Spring全家桶-Spring Security之图片验证码为什么需要验证码?一

2022-05-23 20:58:59 361

原创 Spring全家桶-Spring Security之自定义数据库表认证和鉴权

Spring全家桶-Spring Security之自定义数据库表认证和鉴权 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(控制反转),DI(依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。文章目录Spring全家桶-Spring Security之自定义数据库表认

2022-05-10 20:11:33 1421

原创 Spring全家桶-Spring Security之多用户管理(内存和数据库)

Spring全家桶-Spring Security之多用户管理 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(控制反转),DI(依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。文章目录Spring全家桶-Spring Security之多用户管理为什么需要多用户?一

2022-05-09 16:01:52 1552

原创 Spring全家桶-Spring Security之自定义表单,认证,鉴权

Spring全家桶-Spring Security之自定义表单,认证,鉴权 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(控制反转),DI(依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。文章目录Spring全家桶-Spring Security之自定义表单,认证,

2022-04-26 18:19:16 2265

原创 Spring全家桶-Spring Security之自定义表单

Spring全家桶-Spring Security之自定义表单 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(控制反转),DI(依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。文章目录Spring全家桶-Spring Security之自定义表单Spring Sec

2022-04-22 17:55:47 572

原创 Spring全家桶-Spring Security初探

Spring全家桶-Spring Security 初探 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(控制反转),DI(依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。文章目录Spring全家桶-Spring Security 初探一、Spring Securit

2022-04-21 15:16:23 707

原创 Java多线程编程- StampedLock (JDK8新增)

Java多线程编程- StampedLockWriting模式Reading模式Optimistic Reading模式StampedLock一种基于功能的锁,具有三种模式来控制读写访问。 StampedLock的状态由版本和模式组成。锁获取方法返回一个表示并控制相对于锁状态的访问的stamp;这些方法的“try”版本可能会返回特殊值零,以表示无法获取访问权限。锁释放和转换方法需要使用stamp作为参数,如果它们与锁的状态不匹配,则会失败Writing模式方法writeLock可能会阻止等待独占访问,

2021-04-19 21:00:00 137

原创 Java多线程编程-AbstractQueuedSynchronizer(AQS)同步队列

Java多线程编程-AbstractQueuedSynchronizer同步队列AbstractQueuedSynchronizerAbstractQueuedSynchronizer.NodeAbstractQueuedSynchronizer我们在进行ReentrantLock和ReentrantReadWriteLock使用的时候,我们查看源码的时候,是使用Sync抽象类进行处理,Sync是继承了AbstractQueuedSynchronizer进行相应的操作,源码如下://此锁的同步控制基础

2021-04-16 11:47:51 254

原创 Docker安装配置-docker安装配置

Docker安装配置-docker安装配置不用root用户管理docker配置docker服务自启动不用root用户管理dockerdocker守护进程绑定到Unix套接字而不是TCP端口。默认情况下,Unix套接字由root用户使用,其他用户将需要使用sudo命令进行使用,所以docker的守护进程只能以root用户运行,但是我们想使用其他用户运行docker怎么处理呢?我们可以创建一个docker组并将相应的用户添加到docker组中,命令如下:我们先切换到普通用户su test输入密码及

2021-04-15 18:23:43 187

原创 Docker安装-docker安装

Docker安装-docker安装卸载以前的docker版本安装docker使用推荐的方式安装docker安装指定版本启动docker运行hello world卸载以前的docker版本yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest

2021-04-14 15:32:58 162

原创 Java多线程编程-LockSupport工具类使用及源码分析

Java多线程编程-LockSupport工具类使用及源码分析LockSupport类LockSupport.park()1.调用unpack方法获得许可2.调用中断interrupts方法获得许可parkNanos(long nanos)park(Object blocker)parkNanos(Object blocker, long nanos)parkUntil(Object blocker, long deadline)在Java工具包中有一个LockSupport工具类,主要负责挂起和唤醒线程

2021-04-13 16:53:35 532

原创 Java多线程编程-ReentrantReadWriteLock 读写锁使用

Java多线程编程-ReentrantReadWriteLock 读写锁使用ReentrantReadWriteLock读锁与读锁不互斥ReentrantReadWriteLock读锁与写锁互斥ReentrantReadWriteLock写锁与写锁互斥ReentrantReadWriteLock写锁与读锁互斥ReentrantLock具有完全互斥的效果,每次只能有一个线程在执行lock方法后的任务。这样可以保证实例变量的线程安全性,但是效果不是很理想。假如我们多有线程都是读操作,没有写操作的时候就不需要其

2021-04-08 17:22:34 224 2

原创 Java多线程编程-ReentrantLock(2)

Java多线程编程-ReentrantLock公平锁和非公平锁使用ReentrantLock实现公平锁公平锁ReentrantLock相关APIReentrantLock.getHoldCount()ReentrantLock.getQueueLength()ReentrantLock.getWaitQueueLength(Condition condition)ReentrantLock.isFair()ReentrantLock.hasQueuedThread(Thread thread)Reentra

2021-04-08 14:35:48 238 1

原创 Java多线程编程-ReentrantLock(1)

Java多线程编程-ReentrantLock使用及其源码解析ReentrantLock简单使用ReentrantLock实现等待通知在java多线程开发中,我们可以使用synchronized关键字来实现线程之间的同步互斥,我们也可以使用ReentrantLock实现更多的功能,如嗅探锁定。多路分支通知等功能,使用上会比synchronized更加灵活。ReentrantLock简单使用可重入的互斥Lock,具有与使用sync方法和语句访问的隐式监视器锁相同的基本行为和语义。由上一次成功锁定但尚未

2021-04-04 13:24:50 119 2

原创 Java多线程编程-ThreadLocal和InheritableThreadLocal使用及其源码分析

Java多线程编程-ThreadLocal和InheritableThreadLocal使用及其源码分析ThreadLocal使用ThreadLocal相关APIget()方法和set()方法如果我们想为每一个线程都有自己的共享变量,那我们可以使用ThreadLocal,如果我们使用public static是所有线程都可以使用。ThreadLocal使用提供线程局部变量。这些变量与普通变量不同,因为每次访问一个线程(通过其get或set方法)的线程都有其自己的,独立初始化的变量副本。ThreadLo

2021-03-30 17:32:42 89

原创 Java多线程编程-Thread API(join)

Java多线程编程-Thread APIThread.join()方法当我们想让主线程等待相应的子线程全部运行完在运行完怎么解决这个问题呢? 我们可以使用Thread.join()方法Thread.join()方法等待当前线程死亡源码:public final void join() throws InterruptedException { join(0); }还有一个带参数join方法,等会试试 public final synchronized void joi

2021-03-29 20:54:20 116

原创 Java多线程编程-Object wait和notify|All

Java多线程编程-Object wait和notifyObject.wait()方法调用wait方法的时候,当前线程必须拥有这个对象monitorObject.notify()方法Object.notifyAll()方法Java多线程环境下,线程与线程之间是可以进行通信的,是可以进行相互交互的。现在我们先从Object对象中的wait方法和notify方法进行说起吧。Object.wait()方法导致当前线程等待,直到另一个线程调用该对象的notify()方法或notifyAll()方法,或者指定的

2021-03-26 14:07:42 158 1

原创 Java多线程编程-Thread synchronized使用(二)

Java多线程编程-Thread synchronized使用synchronized同步代码块synchronized(this)同步的对象synchronized 作用不在对象上synchronized 实例对象synchronized 作用在静态方法上线程死锁问题前面我们是在方法上面进行同步的,这样有一些问题:如果一个线程调用一个同步方法时间比较长,那么另外一个现场就需要等待比较长的时间我们可以进行验证:线程引用的对象:public class ThreadObject { pub

2021-03-24 11:17:22 144 1

原创 Java多线程编程-Thread synchronized使用(一)

Java多线程编程-Thread synchronized使用线程安全的变量(方法内的变量)我们在进行多线程开发的时候,会出现线程安全问题。非线程安全就是数据出现不一致导致的,对同一个对象中的实例变量进行并发访问时发生。就是取到的数据是被修改过的。线程主要通过共享对字段和对象引用字段所引用的访问来进行通信。 这种通信方式非常有效,但是却可能导致两种错误:线程干扰和内存一致性错误。 防止这些错误所需的工具是同步。但是,同步会引入线程争用,当两个或多个线程尝试同时访问同一资源并使Java运行时更慢地执行一

2021-03-22 19:29:03 170 1

原创 Java多线程编程-Thread API (三)

Java多线程编程-Thread APIThread.yield()方法守护进程Thread.setDaemon()方法Thread.setPriority()我们都知道在执行多线程的时候,我们调用start方法的时候,线程不会立即执行,因为需要获得CPU的执行权之后才能运行线程。但是我们也可以让执行的线程放弃CPU的执行权。Thread.yield()方法yield():给调度程序的提示是当前线程愿意放弃当前使用的处理器。调度程序可以随意忽略此提示Yield是一种启发式尝试,旨在提高线程之间的相对

2021-03-19 15:08:32 76

原创 Java多线程编程-Thread API (二)

Java多线程编程-Thread APIThread.interrupt()方法Thread.interrupted()方法Thread.isInterrupted()方法发生异常中断线程在线程sleep的时候调用interrupt()方法使用return停止线程上面我们看了Thread类中的currentThread()方法,sleep()方法,getId()方法,isAlive()方法,现在我看看其他的一些APIThread.interrupt()方法interrupt():中断该线程,除非始终允

2021-03-18 17:39:39 78 3

原创 Java多线程编程-Thread API (一)

Java多线程编程-Thread API Thread.currentThread()Thread.isAlive()方法Thread.sleep()方法Thread.getId()方法总结Thread是Java实现多线程的关键类,Thread提供了先关的API,我们来说说相关的API,就从我们使用最多的开始说起。Thread.currentThread()currentThread():返回对当前正在执行的线程对象的引用源码://调用native的方法public static native

2021-03-17 15:26:11 81

原创 Java多线程编程-线程实例变量

Java多线程编程-线程实例变量Java内存区域线程实例变量不共享自定义线程类中的实例变量针对其他的线程可以是共享,也可以不是共享的。Java内存区域Java虚拟机在执行Java程序的过程中会把虚拟机所管理的内存划分为若干个不同的数据区,有些数据区是线程共享的,有些数据区不是线程共享。方法区和堆是所有线程共享的Java栈、本地方法栈和程序计数器是线程私有的线程实例变量不共享...

2021-03-16 19:39:44 417

原创 Java多线程编程-创建线程及其源码分析

Java多线程编程-创建线程及其源码分析创建线程通过继承Thread类进行创建Thread的构造函数Thread()构造函数Thread(String name)构造函数通过实现Runnable接口进行使用在Java中,使用多线程使用Thread进行实现。在Java中创建多线程的方式有两种:1、继承Thread类 2.实现Runnable ,如果不想用类进行封装,可以使用匿名线程进行创建(这种方式不推荐使用)创建线程通过继承Thread类进行创建public class CreateThreadV1

2021-03-15 19:55:41 91

原创 flowable 流程自定义属性

flowable 自定义流程属性编辑stencilset_bpmn.json文件在下载的BPMN.xml中添加属性编辑BaseBpmnJsonConverter.java编辑BpmnJsonConverter.java注意点之前写过在节点上添加自定义扩展属性,但是如何在流程上面扩展自定义属性呢?其实和给节点添加自定义属性是一致的,只是修改的相关类不一样。编辑stencilset_bpmn.json文件找到stencilset_bpmn.json文件,打开会发现有propertyPackages的属性,

2021-03-05 11:28:23 1508

JSP.2.0技术手册7

javajsp2.0系列教材,希望对大家有所帮助

2012-05-06

JSP.2.0技术手册5

javajsp2.0系列教材,希望对大家有所帮助

2012-05-06

JSP.2.0技术手册4

javajsp2.0系列教程,希望对大家有所帮助

2012-05-06

JSP.2.0技术手册3

javajsp技术手册,2.0系列,希望对大家有所帮助!!!

2012-05-06

JSP.2.0技术手册2

很好的一本书籍,希望对大家有所帮助!jsp2.0技术手册教程!!!

2012-05-06

jsp技术手册

好的资源共分享!jsp技术手册 2.0系列,很好的一本书籍,希望对大家有所帮助!

2012-05-06

空空如也

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

TA关注的人

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