自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 java运行groovy工具类

maven依赖(groovy) <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.4.16</version> </dependency> <depen

2020-09-14 16:52:07 3186

原创 java运行groovy脚本并发问题及解决

一、问题重现之前我们为了解决fullGC问题,使用Map缓存得到的Script对象,达到了类似单例的效果。但是当script运行需要传参时,存在如下问题:高并发下(或极短时间内有两个进程调用同一对象),第一个进程获取到script后,进行参数绑定,但还未执行逻辑代码时,第二个进程又进行参数绑定,则第一个进程则会调用第二个进程的参数说白了就是:线程不安全二、解决线程安全问题,解决起来无非就是:加锁尝试加锁: static Lock lock = new ReentrantLock(); p

2020-09-14 16:48:20 4585

原创 java运行groovy脚本内存问题及解决

一、问题重现工具类:public class GroovyUtil { public static Object engine(String filePath, String fileName, Map<String,Object> variable) { Object result; GroovyScriptEngine engine = null; try{ Binding binding = new Bi

2020-09-14 15:51:53 4819 1

原创 java调用groovy及groovy中如何使用springBean

一、概述Groovy is a multi-faceted language for the Java platform.Apache Groovy是一种强大的、可选的类型化和动态语言,具有静态类型和静态编译功能,用于Java平台,目的在于通过简洁、熟悉和易于学习的语法提高开发人员的工作效率。它可以与任何Java程序顺利集成,并立即向您的应用程序提供强大的功能,包括脚本编写功能、特定于域的语言编写、运行时和编译时元编程以及函数式编程。Groovy是基于java虚拟机的,执行文件可以是简单的脚本片段,也

2020-09-14 15:14:26 3952

原创 java项目分析及调整堆大小

一、Java性能分析工具(JProfiler)JProfiler是一个重量级的JVM监控工具,提供对JVM精确监控,其中堆遍历、CPU剖析、线程剖析看成定位当前系统瓶颈的得力工具。可以统计压测过程中JVM的监控数据,定位性能问题。JProfiler插件安装(idea)直接在IDEA上下载File–Settings–plugins–Browse repositories ,找到jprofiler然后点击安装。JProfiler监控软件安装官方下载地址:https://www.ej-technolo

2020-09-01 13:49:15 12785

原创 各种单点登录方案调研

一、token(key)——json数据(value)方案实现*注意:需要多端使用一个域名/主机登录的处理流程:登录页面提交用户名密码登录成功后生成token。Token相当于原来的jsessionid,字符串,可以使用uuid把用户信息保存到redis。Key就是token,value就是User对象转换成json使用String类型保存Session信息。可以使用“前缀:token”为key设置key的过期时间。模拟Session的过期时间。一般半个小时返回token登录成功前端

2020-09-01 13:43:35 12409

原创 Flowable UI整合前后分离

由项目的请求信息中可以看出,项目时通过json/text的形式来传递数据的,故可以尝试将前端资源分离出来一、将idm、modeler的war包中的/WEB-INF/classes/static内容分别复制到idm、modeler下二、将app-cfg.js中的contextRoot修改为/flowable_+对应的模块名,与静态资源路径区分开文件位置:scripts/app-cfg.jsmodeler同理三、nginx配置server { listen 8081;

2020-09-01 13:34:22 15901

原创 Flowable UI跳过权限验证

一、未登录访问需要验证的接口直接访问一些需要登录验证的接口:二、权限校验分析及处理因为之前搭建项目时,可以看到是权限校验是基于spring security的,故直接去需要security的配置文件:进入可以看到以下代码:其已经将/app/**进行了权限校验的配置故,创建一个与其路径一样、名称一样的文件,将其短路、并且通过所有请求再次测试同时后台报错:java.lang.NullPointerException: null at org.flowable.ui.idm.res

2020-09-01 13:28:20 14310 2

原创 SpringBoot集成Flowable UI

一、引入Flowable UI相关依赖及springboot、mybatis <properties> <java.version>1.8</java.version> <flowable.version>6.4.0</flowable.version> <mybatis-spring-boot>1.3.1</mybatis-spring-boot> </pro

2020-08-28 18:33:39 21628 6

原创 Flowable介绍及部署

一、Flowable 入门介绍官网地址:https://www.flowable.org/Flowable中文文档:http://www.shareniu.com/flowable6.5_zh_document/bpm/index.html下载地址:https://github.com/flowable/flowable-engine/releases/download/flowable-6.4.2/flowable-6.4.2.zipFlowable提供的五个项目:Flowable Model

2020-08-28 18:29:15 20878 3

原创 graphql-java的CRUD及关联查询

一、graphql基本语法:https://graphql.cn/learn/queries/#variables二、graphql-java(graphql java客户端):demo:https://blog.csdn.net/tangyaya8/article/details/105328461扩展:数据关联author对象下存在fans(一对多关联)创建fans对象@Entity@Datapublic class Fans { /** * 主键 */

2020-08-28 18:20:26 13448

原创 yapi期望、mock、自动化测试及idea插件使用

一、项目基本配置1、添加新接口添加子节点2、接口请求/插件安装3、同一个接口,不同参数来区别不同的服务/自动化测试用测试集合来使用# 回归测试,批量测试。配置成功标识 (根据实际情况判断)assert.deepEqual(body.sys_header.status, “true”)导入需要测试的接口添加请求参数4、测试用例成功判断开启test,并书写断言内容,判断接口是否正确执行(此判断需与全局判断同时正确,接口才会验证通过)断言语法:断言脚本公共变

2020-08-28 11:02:57 15876

原创 Kafka消费者手动提交详解及demo

在上一篇 Kafka基础及java客户端使用Kafka使用Java实现数据的生产和消费demo 中介绍如何简单的使用kafka进行数据传输。本篇则重点介绍kafka中的 consumer 消费者的讲解。应用场景在上一篇kafka的consumer消费者,我们使用的是自动提交offset下标。 但是offset下标自动提交其实在很多场景都不适用,因为自动提交是在kafka拉取到数据之后就直接提...

2019-04-10 16:27:16 9251

原创 Kafka基础及java客户端使用

Kafka简介由Scala和Java编写,Kafka是一种高吞吐量的分布式发布订阅消息系统.环境介绍操作系统:centos6.5 kafka:1.0.1 zookeeper:3.4.6术语介绍Broker : Kafka集群包含一个或多个服务器,这种服务器被称为brokerTopic : 每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic...

2019-04-10 15:21:14 20370 2

转载 Kafka安装及运行(Windows及linux)

一、安装JAVA JDK1、下载安装包http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html注意:根据32/64位操作系统下载对应的安装包2、添加系统变量:JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_144二、安装ZooKeep...

2019-04-10 12:04:25 5904

转载 Netty入门教程4——如何实现长连接

文章转自Netty笔记 ​ 前面三章介绍了Netty的一些基本用法,这一章介绍怎么使用Netty来实现一个简单的长连接demo。关于长连接的背景知识,可以参考《如何使用Socket实现长连接》​ 一个简单的长连接demo分为以下几个步骤:长连接流程创建连接(Channel)发心跳包发消息,并通知其他用户一段时间...

2019-03-25 14:17:40 4871

转载 Netty入门教程3——Decoder和Encoder

文章转自Netty入门教程 ​ Netty强大的地方,是他能方便的实现自定义协议的网络传输。在上一篇文章中,通过使用Netty封装好的工具类,实现了简单的http服务器。在接下来的文章中,我们看看怎么使用他来搭建自定义协议的服务器。要做到这点,第一步要做的,就是要自定义编码器和解码器,这就是我们这一章主要讲的内容。Netty入门教程——认识N...

2019-03-25 14:11:39 4860

转载 Netty入门教程2——动手搭建HttpServer

文章转自Netty入门教程在上一章中我们认识了netty,他有三大优点:并发高,传输快,封装好。在这一章我们来用Netty搭建一个HttpServer,从实际开发中了解netty框架的一些特性和概念。netty.png认识Http请求在动手写Netty框架之前,我们先要了解http请求的组成,如下图:HTTP request component partsH...

2019-03-25 14:08:19 4760

转载 Netty入门教程——认识Netty

转自Netty入门教程 Netty什么是Netty?Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。Netty 是一个广泛使用的 Java 网络编程框架(Netty 在 2011 年获得了Duke's Choice Award,见https://www.ja...

2019-03-25 14:00:13 4736

转载 Ribbon本地负载均衡和Nginx服务器端负载均衡的区别

Ribbon本地负载均衡原理:在调用接口的时候、会在eureka注册中心上获取注册信息服务列表,获取到之后,缓存在jvm本地,使用本地实现rpc远程技术进行调用,即是客户端实现负载均衡&nbsp;Nginx服务器负载均衡客户端所有请求都会交给nginx,然后由nginx实现转发请求,即负载均衡是由服务...

2019-03-02 00:07:21 5407

原创 算法:动态规划-区间模型之最少添加几个字符使得字符串变成回文串

本文章为算法:动态规划——区间模型例题的解决方案题目:给定一个长度为n(n &amp;amp;lt;= 1000)的字符串A,求插入最少多少个字符使得它变成一个回文串。思路:典型的动态规划区间模型,区间模型的状态表示一般为d[i][j],表示区间[i, j]上的最优解,然后通过状态转移计算出[i+1, j]或者[i, j+1]上的最优解,逐步扩大区间的范围,最终求得[1, len]的最优解。回文串拥有很明...

2019-01-24 18:08:04 8209

转载 算法-动态规划

文章转载自https://blog.csdn.net/u013309870/article/details/75193592动态规划算法的核心理解一个算法就要理解一个算法的核心,动态规划算法的核心是下面的一张图片和一个小故事。A * "1+1+1+1+1+1+1+1 =?" *A : "上面等式的值是多少"B : *计算* "8!"A *在上面等式的左边写上 "1+" *A...

2019-01-24 17:47:47 4836

转载 算法-动态规划-解决01背包问题

一、问题描述:有n 个物品,它们有各自的重量和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和?二、总体思路:根据动态规划解题步骤(问题抽象化、建立模型、寻找约束条件、判断是否满足最优性原理、找大问题与小问题的递推关系式、填表、寻找解组成)找出01背包问题的最优解以及解组成,然后编写代码实现;三、动态规划的原理及过程:eg:number=4,capacity=8i...

2019-01-23 16:33:57 5015

原创 spring_task定时任务

第一种:在spring-context文件中配置&amp;lt;task:scheduler id=&quot;taskScheduler&quot; pool-size=&quot;100&quot; /&amp;gt;&amp;lt;task:scheduled-tasks scheduler=&quot;taskScheduler&quot;&amp;gt; &amp;lt;!--

2018-08-07 15:30:54 4777

原创 httpClient发送post请求,带header、body的工具类

自己写一个发送http post请求的工具类,因为需要头部和参数,网上没有合适的,拿出来分享下 只需要传三个参数:地址,头部map,bodymap 另外响应已经将body取出并转成字符串返回maven引入httpClient&lt;!-- httpClient --&gt;&lt;dependency&gt; &lt;groupId&gt;org.apache.httpcom...

2018-08-07 15:24:47 43176 2

原创 sql_插入一张表的部分字段需要查询另一张表

插入一张表的数据来自另一张表:INSERT INTO 表A( 字段a, 字段b, 字段c)SELECT 字段a', 字段b', 字段c'FROM 表BWHERE 条件当只是某些字段需要另一张表的数据时:INSERT INTO 表A( 字段a, 字段b, 字段c, 字段d...

2018-07-27 14:48:26 9669 2

原创 sql条件插入

当字段重复时不添加:判断字段是否重复INSERT INTO table(field1, field2, fieldn) SELECT 'field1', 'field2', 'fieldn' FROM DUALWHERE NOT EXISTS(SELECT field FROM table WHERE field = ?)示例/解释:INSERT INTO 表A( ...

2018-07-27 14:41:42 12132

原创 stroage——SAN存储与Linux主机连接

只作为本人开卷考试的参考使用 目的: Linux环境下IP SAN的配置、磁盘管理 创建光盘yum源,编辑 挂载光盘 Yum安装iscsi 开启iscsi 配置iscsi目标器iqn 配置网卡: 配置ip: 发现目标器: 登陆目标器: 查询登陆的目标器: 重启ISCSI: 查询硬盘:

2018-01-14 13:36:25 7184

原创 stroage——SAN存储与WINDOWS主机连接

只作为本人开卷考试的参考使用 目的: Windows环境下IP SAN的配置、磁盘管理 创建存储池: 创建LUN: 创建LUN组: 创建主机: 配置ISCSI: 创建主机组: 创建映射视图: 本地连接,IPV4,高级,添加 ISCSI发起程序: 查看在线: 磁盘管理:

2018-01-14 13:27:48 8960

原创 stroage——SAN存储产品基本功能配置

只作为本人开卷考试的参考使用 目的: 学会配置华为SAN存储设备的高级功能 (HyperSnap;SmartThin;SmartTier;HyperClone;HyperReplication; 其它高级特性) 一、hyperSnap 1.创建硬盘域 2.创建存储池 3.创建LUN 4.创建快照 5.创建LUN组 6.使用快照恢复 选择LUN组,增加对象 选择l

2018-01-14 13:16:15 6142

原创 stroage——SAN存储产品初始化配置

只作本人开卷考试参考使用 目的: 学会在华为SAN存储设备中配置基本IP SAN的方法 1. 创建个硬盘域 2创建存储池 3. 创建4个LUN 4. 创建LUN组 5. 创建主机 6. 创建主机组 7. 创建映射视图

2018-01-14 13:02:28 5494

原创 Android之Intent(数据传递)

Activity分为带过滤器的Activity和不带过滤器的Activity Activity的启动: 带Launcher过滤器的Activity由应用启动时自动启动。 其它的Activity可以调用startActivity方法启动。 startActivity(Intent intent); startActivityForResult(Intent intent,int reques

2017-12-23 20:54:13 5060

原创 Android界面编程之Menu(菜单)

显示菜单的方法:在MainActivity种定义如下方法:public boolean onCreateOptionsMenu(Menu menu){ getMenuInflater().inflate(R.menu.mymenu,menu); return super.onCreateOptionsMenu(menu);}

2017-12-22 22:06:59 4906

原创 Android界面编程之Notification(通知)

Notification

2017-12-22 21:33:21 5317

原创 Android界面编程之Tabhost

使用TabHost的一般步骤: (1)在界面中定义TabHost组件,为该组件定义选项卡内容 (2)Activity继承TabActivity(已经过时,现在用Fragment代替) (3)调用TabActivity的getTabHost()方法获得TabHost对象 (4)通过TabHost对象的方法来创建添加选项卡使用TabHost时有两种情况:一种直接把内容写在TablHost里面,一

2017-12-21 22:34:04 4811

原创 Android界面编程之ViewSwitcher

ViewSwitcher: ViewSwitcher可以用factory提供视图,也可以自己添加,最多只能有两个子视图,且任何时候只能显示其中一个。 如此,可以猜测到该控件的工作过程: (1)为ViewSwitcher指定factory对象 (2)为ViewSwitcher的视图提供布局 (3)让ViewSwitcher翻页(按钮或者触屏滑动) 示例:实现图片切换 布局<Vie

2017-12-21 21:35:25 4804

原创 Android界面编程之SeekBar/RatingBar

SeekBar: SeekBar是进度条。我们使用进度条时,可以使用系统默认的进度条;也可以自定义进度条的图片和滑块图片等。 RatingBar 评分条,与拖动条类似 用星星表示进 度 示例:    <ImageView android:id="@+id/imageView2" android:layout_width="300dp" a

2017-12-21 09:18:25 4827

原创 Android界面编程之AdapterViewFlipper

AdapterViewFlipper AdapterViewFlipper属性及方法 应用

2017-12-19 21:25:43 5114

原创 Android界面编程之BaseAdapter

BaseAdapter属于Adapter的子类 BaseAdapter简介 BaseAdapter是实现了ListAdapter和SpinnerAdapter两个接口,当然它也可以直接给ListView和Spinner等UI组件直接提供数据。 相关类结构如下图所示:

2017-12-19 20:59:19 4789

原创 利用SimpleAdapter和AlertDialog实现可变长度的电话簿

利用SimpleAdapter和AlertDialog实现可变长度的电话簿

2017-12-18 23:38:39 4807

空空如也

空空如也

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

TA关注的人

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