- 浏览: 87812 次
- 性别:
- 来自: 杭州
文章列表
起因
基于一些原因,需要将kettle6.1升级到新版的kettle8.2。升级后发现kettle8每隔几天出现
GC overhead limit exceeded 或者 OutOfMemoryError:Java heap space;
一开始猜测kettle8为了提高性能,而牺牲更多的堆内存,便从开始的Xmx2048m 增加到 Xmx4096m.
可是没过几天还是一样出现问题,又从4096m增加到6144m.
问题依旧得不到解决.
通过排查日志发现内存溢出的问题发现: 定时重复执行的作业出现数据库连接不上,
导致好几天的作业一直都在报错数据库连接拒绝,一直到内存溢出 ...
public void sketch(List<Point> pointList) throws FileNotFoundException , IOException{
BufferedImage bi = new BufferedImage //得到图片缓冲区
(512,512,BufferedImage.TYPE_INT_RGB);//INT精确度达到一定,RGB三原色,宽度512,高度512
Graphics2D g2 = (Graphics2D) bi.getG ...
场景:一个User的信息包含{ "id":"用户id", "name":"用户名(必填)", "gender":"性别", "phone":"手机", "email":"邮箱"}后端开发了一个修改user信息的接口入参校验 name不能为null且不能为空字符串。操作数据库使用mybatis插件生成插入代码<if test="name!= null and '' != ...
一些情况下可能需要必须自定义feignclient,下面是一个例子:对同一个feignclient接口实例化两个对象使用不同的配置和feign拦截器
@Import(FeignClientsConfiguration.class)
class FooController {
private FooClient fooClient;
private FooClient adminClient;
@Autowired
public FooController(Decoder decoder, Encoder encoder, Client client, C ...
1、抽取对象中所有的id的集合
List<User> list;
List<String> idList = list.stream().map(User::getId).collect(Collectors.toList());
2、List转map
List<User> list ;
Map<String, User> map = list.stream().collect(Collectors.toMap(e->e.getUserId(),e->e));
Map key值冲突处理
Map<String, User> m ...
spring-security-oauth2单点登录流程图
使用支付宝扫描上方二维码领取红包
1. 优化SQL步骤
1. 通过 show status和应用特点了解各种 SQL的执行频率
通过 SHOW STATUS 可以提供服务器状态信息,也可以使用 mysqladmin extende d-status 命令获得。 SHOW STATUS 可以根据需要显示 session 级别的统计结果和 global级别的 ...
目前使用 @EnableOauth2Sso注解以及 securityConfiguration 配置 security 拦截器有13道
分别是
WebAsyncManagerIntegrationFilter
SecurityContextPersistenceFilter
HeaderWriterFilter
CsrfFilter
CSRFHeaderFilter(自定义的过滤器,添加在CsrfFilter后)
LogoutFilter
OAuth2ClientAuthenticationProcessingFilter
RequestCacheAwareFilter
SecurityC ...
微服务的定义:
1. 一系列的独立的服务共同组成系统
2. 单独部署,跑在自己的进程里
3. 通常通过http的api调用
4. 每个服务为独立的业务开发
5. 分布式的管理
spring cloud
为开发者在分布式系统中快速构建一些公共的模式提供一些列工具(例如 配置管理、服务发现、断路器、智能路由、微代理,控制总线、一次性令牌、全局锁、分布式session、集群状态、群首选举)。
服务发现 Eureka
在微服务架构中,每一个服务都是由多个拷贝来做负载均衡。一个服务随时可能下线,也可能应对临时访问压力增加新的服务节点。服务之间如何感知?
当发起http api调用,调用方需要很清楚的 ...
git基本操作命令
1、git init 初始化,在当前目录生成一个.git文件
2、git add . 添加当前路劲所有文件
3、git commit -am "提交建议" 提交上一步添加的文件到本地仓库
4、git remote add origin git@xx.xx.xx.xx:repos/xxx/xxx/xxx.git 增加远程仓库地址
5、git branch test 创建本地名叫"test"的分支
6、git branch 罗列本地所有分支
7、git checkout test 切换本地分支到test
8、git pus ...
1.堆大小设置
JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。
-Xmn2g:设置年轻 ...
HashMap其实也是一个线性的数组实现的,所以可以理解为其存储数据的容器就是一个线性数组。这可能让我们很不解,一个线性的数组怎么实现按键值对来存取数据呢?这里HashMap有做一些处理。
首先HashMap里面实现一个静态内部类Entry,其重要的属性有 key , value, next,从属性key,value我们就能很明显的看出来Entry就是HashMap键值对实现的一个基础bean,我们上面说到HashMap的基础就是一个线性数组,这个数组就是Entry[],Map里面的内容都保存在Entry[]里面。
/**
* The table, resized as ne ...
转载:http://www.linuxidc.com/Linux/2014-04/99721.htm
1.MySQL基础
MySQL是一个开放源代码的关系数据库管理系统。原开发者为瑞典的MySQL AB公司,最早是在2001年MySQL3.23进入到管理员的视野并在之后获得广泛的应用。 2008年MySQL公司被Sun公司 ...
excel中的合并单元格其实就是首单元格,只不过该单元格增加了 rowspan和colspan两个属性。
并且把该单元格的高度和宽度变成(例如rowspan=2,colspan=3)2行,3列的的标尺长度,再把被合并的单元格(除了首单元格的其余5个单元格)隐藏。
public class ExcelUtils{
private void readExcel(Workbook wb) {
Sheet sheet = wb.getSheetAt(0);
Row row = null;
for(int i=0; i<sheet.getPhy ...
$(function () {
getMsg();
});
function getMsg()
{
$.ajax({
url:"/polling/msg",
type:"get",
data:{},
success:function(data)
{
if(data != null && data!="")
alertShow(data.msg);
getMsg();
}
});
}
/**
...