java
非琴不是筝
这个作者很懒,什么都没留下…
展开
-
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 · 3209 阅读 · 0 评论 -
java运行groovy脚本并发问题及解决
一、问题重现之前我们为了解决fullGC问题,使用Map缓存得到的Script对象,达到了类似单例的效果。但是当script运行需要传参时,存在如下问题:高并发下(或极短时间内有两个进程调用同一对象),第一个进程获取到script后,进行参数绑定,但还未执行逻辑代码时,第二个进程又进行参数绑定,则第一个进程则会调用第二个进程的参数说白了就是:线程不安全二、解决线程安全问题,解决起来无非就是:加锁尝试加锁: static Lock lock = new ReentrantLock(); p原创 2020-09-14 16:48:20 · 4624 阅读 · 0 评论 -
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 · 4886 阅读 · 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 · 3988 阅读 · 0 评论 -
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 · 12790 阅读 · 0 评论 -
各种单点登录方案调研
一、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 · 12413 阅读 · 0 评论 -
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 · 15921 阅读 · 0 评论 -
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 · 21731 阅读 · 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 · 21013 阅读 · 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 · 13455 阅读 · 0 评论 -
Kafka消费者手动提交详解及demo
在上一篇 Kafka基础及java客户端使用Kafka使用Java实现数据的生产和消费demo 中介绍如何简单的使用kafka进行数据传输。本篇则重点介绍kafka中的 consumer 消费者的讲解。应用场景在上一篇kafka的consumer消费者,我们使用的是自动提交offset下标。 但是offset下标自动提交其实在很多场景都不适用,因为自动提交是在kafka拉取到数据之后就直接提...原创 2019-04-10 16:27:16 · 9280 阅读 · 0 评论 -
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 · 20374 阅读 · 2 评论 -
spring_task定时任务
第一种:在spring-context文件中配置&lt;task:scheduler id="taskScheduler" pool-size="100" /&gt;&lt;task:scheduled-tasks scheduler="taskScheduler"&gt; &lt;!--原创 2018-08-07 15:30:54 · 4786 阅读 · 0 评论 -
算法-动态规划
文章转载自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 阅读 · 0 评论 -
算法:动态规划-区间模型之最少添加几个字符使得字符串变成回文串
本文章为算法:动态规划——区间模型例题的解决方案题目:给定一个长度为n(n &amp;lt;= 1000)的字符串A,求插入最少多少个字符使得它变成一个回文串。思路:典型的动态规划区间模型,区间模型的状态表示一般为d[i][j],表示区间[i, j]上的最优解,然后通过状态转移计算出[i+1, j]或者[i, j+1]上的最优解,逐步扩大区间的范围,最终求得[1, len]的最优解。回文串拥有很明...原创 2019-01-24 18:08:04 · 8233 阅读 · 0 评论 -
算法-动态规划-解决01背包问题
一、问题描述:有n 个物品,它们有各自的重量和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和?二、总体思路:根据动态规划解题步骤(问题抽象化、建立模型、寻找约束条件、判断是否满足最优性原理、找大问题与小问题的递推关系式、填表、寻找解组成)找出01背包问题的最优解以及解组成,然后编写代码实现;三、动态规划的原理及过程:eg:number=4,capacity=8i...转载 2019-01-23 16:33:57 · 5017 阅读 · 0 评论 -
Ribbon本地负载均衡和Nginx服务器端负载均衡的区别
Ribbon本地负载均衡原理:在调用接口的时候、会在eureka注册中心上获取注册信息服务列表,获取到之后,缓存在jvm本地,使用本地实现rpc远程技术进行调用,即是客户端实现负载均衡 Nginx服务器负载均衡客户端所有请求都会交给nginx,然后由nginx实现转发请求,即负载均衡是由服务...转载 2019-03-02 00:07:21 · 5408 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Netty入门教程2——动手搭建HttpServer
文章转自Netty入门教程在上一章中我们认识了netty,他有三大优点:并发高,传输快,封装好。在这一章我们来用Netty搭建一个HttpServer,从实际开发中了解netty框架的一些特性和概念。netty.png认识Http请求在动手写Netty框架之前,我们先要了解http请求的组成,如下图:HTTP request component partsH...转载 2019-03-25 14:08:19 · 4764 阅读 · 0 评论 -
Netty入门教程3——Decoder和Encoder
文章转自Netty入门教程 Netty强大的地方,是他能方便的实现自定义协议的网络传输。在上一篇文章中,通过使用Netty封装好的工具类,实现了简单的http服务器。在接下来的文章中,我们看看怎么使用他来搭建自定义协议的服务器。要做到这点,第一步要做的,就是要自定义编码器和解码器,这就是我们这一章主要讲的内容。Netty入门教程——认识N...转载 2019-03-25 14:11:39 · 4861 阅读 · 0 评论 -
Netty入门教程4——如何实现长连接
文章转自Netty笔记 前面三章介绍了Netty的一些基本用法,这一章介绍怎么使用Netty来实现一个简单的长连接demo。关于长连接的背景知识,可以参考《如何使用Socket实现长连接》 一个简单的长连接demo分为以下几个步骤:长连接流程创建连接(Channel)发心跳包发消息,并通知其他用户一段时间...转载 2019-03-25 14:17:40 · 4878 阅读 · 0 评论 -
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 · 5908 阅读 · 0 评论 -
httpClient发送post请求,带header、body的工具类
自己写一个发送http post请求的工具类,因为需要头部和参数,网上没有合适的,拿出来分享下 只需要传三个参数:地址,头部map,bodymap 另外响应已经将body取出并转成字符串返回maven引入httpClient<!-- httpClient --><dependency> <groupId>org.apache.httpcom...原创 2018-08-07 15:24:47 · 43213 阅读 · 2 评论