天道酬勤,学无止境

Java相关

Java集合之ArrayList常见操作,实例说明

一.定义集合(Collection)是Java存储对象常见的一种方式;集合中的各个对象最终存储在类似数组[]中。那么,为什么有了数组还要用集合呢?因为,集合中的长度可变,所以不用一开始就定义其长度(数组在定义时必须要定义其长度),数组中可以存储基本数据类型,而集合中可以存储任意的对象。Java集合(collection)包含List和Set;本章先讲List集合二.List分类List常见的又可包含:ArrayList,LinkedList,Vecor;ArrayList是可变长度数组,它的初始默认长度是10,当添加的元素长度超过10时,它会新产生一个数组,长度按50%的增幅增加,产生新数组后会将之前的数据拷贝到新数组中,后续元素将继续添加。 三.List常见的操作下面以ArrayList来讲解List常见的操作方法。 List属于集合中的一种,它的长度是可变的,值也是可变的,内容可以为任意的对象 List结果是一个类似数组的格式,也可看做类似pyhotn中的list List是有序的,它的值可以重复,所以它可以使用索引来进行操作 而Set是无序的,所以它的值不能重复 List中的方法产生Arraylist对象ArrayList arraylist = new ArrayList();1.增arraylist.add()默认在最后位置添加arraylist.add(int

2021-05-12 09:48:46    分类:博客    java   操作方法   集合   Java相关

开源定时任务XXL-JOB安装与使用(ORACLE版和MYSQL版本) + 微服务模式

介绍 XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 主要特性 1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手; 2、动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效; 3、调度中心HA(中心式):调度采用中心式设计,“调度中心”自研调度组件并支持集群部署,可保证调度中心HA; 4、执行器HA(分布式):任务分布式执行,任务"执行器"支持集群部署,可保证任务执行HA; 5、注册中心: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址; 6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务; 7、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等; 8、故障转移:任务路由策略选择"故障转移"情况下,如果执行器集群中某一台机器故障,将会自动Failover切换到一台正常的执行器发送调度请求。 9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度; 10、任务超时控制:支持自定义任务超时时间

2021-03-27 00:19:59    分类:博客    微服务定时任务   XXL-JOB教程   开源定时任务   Java相关

Spring Boot 支持 HTTPS (步骤配置)

Spring Boot中启动HTTPS 如果你使用Spring Boot,并且想在内嵌tomcat中添加HTTPS,需要有一个证书。 两种方式 自己通过keytool生成 通过证书授权机构购买 这里采用第一种方式,采用keytool生成。 -genkey 生成秘钥 -alias 别名 -keyalg 秘钥算法 -keysize 秘钥长度 -validity 有效期 -keystore 生成秘钥库的存储路径和名称 -keypass 秘钥口令 -storepass 秘钥库口令 -dname 拥有者信息,CN:姓名;OU:组织单位名称;O:组织名称;L:省/市/自治区名称;C:国家/地区代码 第一步 C:\Users\ThinkPad-S3> keytool -genkey -alias https -keyalg RSA -keystore javastack.keystore 输入密钥库口令: 再次输入新口令: 您的名字与姓氏是什么? [Unknown]: test 您的组织单位名称是什么? [Unknown]: test 您的组织名称是什么? [Unknown]: test 您所在的城市或区域名称是什么? [Unknown]: test 您所在的省/市/自治区名称是什么? [Unknown]: test 该单位的双字母国家/地区代码是什么? [Unknown]: test CN

2021-03-27 00:19:21    分类:博客    https   微服务https   微服务配置https   Java相关

springboot整合activiti+bpmn-js或VUE(架构搭建篇)

简洁明了的介绍下不用太多篇幅 activiti介绍 Activiti是一个工作流引擎,activiti可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言(BPMN2.0)进行定义,业务系统按照预先定义的流程进行执行,实现了业务系统的业务流程由activiti进行管理,减少业务系统由于流程变更进行系统升级改造的工作量,从而提高系统的健壮性,同时也减少了系统开发维护成本。 BPM介绍 Bpm(Business Process Management),业务流程管理,是一种理念,以持续的提高组织业务绩效为目的系统化方法,常见商业管理教育如EMBA、MBA等均将BPM包含在内。 bpmn(Business Process Model and Notation),业务流程模型和符号。和bpm是两个不同的概念。Activiti使用bmpn标准进行流程建模。是由BPMI(Business Process Management Initiative)开发的一套标准的业务流程建模符号,使用BPMN提供的符号可以创建业务流程。 springboot整合activiti 其实就是要用activiti里面的逻辑完成实际中的业务问题,activiti定位是辅助业务系统的。 项目中activiti包含(后端的流程+自带的图形设计器(如果开放用户不建议使用)) 推荐搭配:activiti工作流框架

2021-03-27 00:10:58    分类:博客    activiti   整合aicitivi   springboot+activiti   Java相关

Springboot(2.2.2)+Mybatis-Plus(3.0-RC3)+shedLock

主要架构选型 Springboot(2.2.2)+Mybatis-Plus(3.0-RC3)+shedLock(4.0.1) 开发注意事项 Q&A 1、 ShedLock 部署时需要创建表 (特别注意不同库创建的sql) Mysql: CREATE TABLE shedlock( name VARCHAR(64), lock_until TIMESTAMP(3) NULL, locked_at TIMESTAMP(3) NULL, locked_by VARCHAR(255), PRIMARY KEY (name) ) Oracel: DROP TABLE ICC_UNION.SHEDLOCK CASCADE CONSTRAINTS; CREATE TABLE SHEDLOCK ( name VARCHAR2(64 CHAR), lock_until TIMESTAMP, locked_at TIMESTAMP, locked_by VARCHAR2(255 CHAR), PRIMARY KEY (name) ); @SchedulerLock(name = "任务名称 不要重复", lockAtMostFor = "见下", lockAtLeastFor ="见下") /** *You can also set lockAtMostFor attribute which

2021-03-27 00:09:13    分类:博客    shedLock   springboot定时任务   多任务只执行一次   Java相关

搭建maven私库(最新版本搭建,2020年4月17日写)

私服介绍 私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。 Nexus的安装 下载地址:https://www.sonatype.com/download-oss-sonatype随便输入个邮箱,即可下载然后下载相应的版本,我们这里使用的centos所以下载Nexus Repository Manager OSS 3.x - Unix 地址已更新 提前在服务器上安装jdk环境(参考:安装配置java https://blog.51cto.com/4534309/2155016) [root@bogon ~]# java -version java version "1.8.0_191" Java(TM) SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode) 建议在linux新建用户nexus(名字随便) [root@bogon ~]# useradd nexus [root@bogon ~]# passwd nexus

2021-03-26 23:23:41    分类:博客    nexus   maven私库   centos nexus   Java相关

Java集合之LinkedList常见实例操作,实例说明

一.LinkedList常见操作 package List相关; /** * LinkedList 链接列表 * LinkedList:底层使用的链表数据结构。特点:增删速度快,查询速度稍慢; */ import java.util.Iterator; import java.util.LinkedList; class linkedlist_test { public static void main(String[] args){ LinkedList linkedlist = new LinkedList(); LinkedList linkedlist1 = new LinkedList(); linkedlist1.add("what"); // linkedlist1.add("zhangj"); /**增*/ System.out.println("------------新增操作------------"); //在尾部进行添加元素 linkedlist.add("what"); linkedlist.add("?"); //在指定位置添加元素 linkedlist.add(1,"now"); System.out.println(linkedlist); //在列表首位添加元素 linkedlist.addFirst("one"); //在列表尾部添加元素

2021-03-26 22:27:42    分类:博客    java   LinkedList   Java集合   Java相关