- 博客(73)
- 收藏
- 关注
原创 javaMail 发送送邮件,项目中异常告警使用
maven引用<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version></dependency>工具类:package com.xx...
2019-11-30 11:59:52
630
原创 es 常见操作
1.创建模板PUT _template/template_purchaser_info{ "order": 1, "template": "purchaser_invoice_*", "settings": { "index": { "number_of_shards": "6", "number_of_replicas"...
2019-10-10 18:16:56
271
原创 Git流程
git-flowgit-flow应该是目前流传最广的 Git 分支管理实践。git-flow 围绕的核心概念是版本发布(release)。因此 git-flow 适用于有较长版本发布周期的项目。虽然目前推崇的做法是持续集成和随时发布。有的项目甚至可以一天发布很多次。随时发布对于 SaaS 服务类的项目来说是很适合的。不过仍然有很大数量的项目的发布周期是几个星期甚至几个月。较长的发布周期可能是...
2019-05-05 10:24:56
327
1
原创 sonar 安装
https://www.cnblogs.com/fanbi/p/6504513.html新建 sonar-project.properties# must be unique in a given SonarQube instancesonar.projectKey=my-bill-service# this is the name displayed in the SonarQub...
2019-01-24 14:18:04
200
转载 Linux 搭建es
--下载有两个版本 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.2.tar.gz--请选择一个wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/el...
2019-01-18 16:12:34
627
转载 Spring声明式事务管理之一:五大属性分析
1.Spring事务管理概述 Spring事务管理分为编程式事务管理和声明式事务管理两种。编程式事务允许用户在实现代码中使用显式的方式调用beginTransaction()开启事务、commit()提交事务、rollback()回滚事务,从而可以达到精确定义事务的边界。声明式事务管理底层是建立在Spring AOP的基础上,在方式执行前后进行拦截,并在目标方法开始执行前创建新事务或加入一个...
2018-10-12 14:18:22
442
转载 Spring事务传播行为详解
前言Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是Spring为我们提供的强大的工具箱,使用事务传播行可以为我们的开发工作提供许多便利。但是人们对他的误解也颇多,你一定也听过“service方法事务最好不要嵌套”的传言。要想正确的使用工具首先需要了解工具。本文...
2018-10-12 13:51:45
160
转载 Spring Cloud组件完整demo
托管于github:https://github.com/Lovnx/micro-service说明:**工程名** **描述** **端口** eureka-server 服务发现与注册中心 7070 ribbon 负载均衡器 7071 config-server 配置管理中心 7072 zuul 动态路由器 7...
2018-10-10 10:06:43
1013
原创 Spring cloud 组建之config-server
添加 maven 依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId></dependency>启动类添加@EnableConf...
2018-10-09 11:56:26
276
原创 kafaka idea源码环境搭建
1.下载 gradle 2.下载源码(版本 0.10.2.1 低版本scala 编译出现问题)(前两步 这个博客可以搞定,https://www.iteblog.com/archives/2208.html)3.idea 安装scala环境(从硬盘上安装scala遇到的问题Plugin ‘scala’ is incompatible with this installation (...
2018-09-04 10:34:42
383
原创 jvm 相关
1. 类的加载过程--》链接---》初始化 双亲委派模型(bootstrapClassloader c++编写 加载其他类加载器) 例如:当jvm要加载Test.class的时候, (1)首先会到自定义加载器中查找,看是否已经加载过,如果已经加载过,则返回字节码。 (2)如果自定义加载器没有加载过,则询问上一层加载器(即AppClassLoader)是否已经加载过Test....
2018-08-22 17:53:00
177
原创 HashTable 和 HashHashMap核心
1.Hashtable是个线程安全的类(HashMap线程安全) 使用同步代码块控制;2.Hasbtable并不允许值和键为空(null),若为空,会抛空指针(HashMap可以);3.Hashtable不允许键重复,若键重复,则新插入的值会覆盖旧值(同HashMap);4.Hashtable同样是通过链表法解决冲突;5.Hashtable根据hashcode计算索引时将hashc...
2018-08-21 19:24:36
230
原创 Mybatis 常见的功能实现
1.获取主键自增的 的方法 1.添加 useGeneratedKeys=true<insert id="insert1" parameterType="TUser" useGeneratedKeys="true" keyProperty="id"> 2 .order 表示 执行insert 之后 LAST_INSERT_ID() ...
2018-07-29 18:28:36
776
翻译 简单介绍:Mac 上安装和使用PostgreSQL的方法
参考 https://www.jianshu.com/p/fedda9824f6a 这个写的非常好补充1点 :如果使用了zsh 则需要配置在.zsh的配置的shell中,不然命令不会生效
2018-01-04 18:51:38
11564
原创 存储过程oracle pg/sql
1.。。pg版本create or replace function pro_cust_interval_first() returns void as$$declare shop_id bzcrm.t_crm_shop_customer_interval.customer_id%type; customer_id bzcrm.t_crm_
2017-11-09 17:17:15
892
原创 idea intelj 的使用细节
intelj 的使用细节1 。启动项目,更改前台代码没有生效。 使用的deploy 的war 有两种 使用explored 会同步前端更改2 。项目启动,转义字符,特殊字符编译不通过3 。Tomcat 启动日志乱码 -Dfile.encoding=UTF-8
2017-11-09 16:19:43
744
原创 关于Class MyBatisPagingItemReader<T> 读取数据只读第一条分页数据就结束了问题
都是单条单表数据进行导入使用的JdbcPagingItemReader设置分页参数,就可以分页读取。现在导入数据需要维护层级关系,使用jdbc完全不可以满足关系进而选择MyBatisPagingItemReader, 使用mabatis维持层级关系,问题来了:当我设置分页参数为500的时候,返回的结果list是420,然后springBatch就没有继续往下读取了?解决办法: 使用
2017-08-31 14:44:43
5539
转载 gc算法
1、引用计数(reference counting) 原理:此对象有一个引用,则+1;删除一个引用,则-1。只用收集计数为0的对象。 缺点:无法处理循环引用的问题。如:对象A和B分别有字段b、a,令A.b=B和B.a=A,除此之外这2个对象再无任何引用,那实际上这2个对象已经不可能再被访问,但是引用计数算法却无法回收他们。 2、复制(copy
2017-02-16 17:03:38
393
原创 java finalize()方法解析
当垃圾回收器将要释放无用对象的内存时,先调用该对象的finalize()方法。如果在程序终止之前垃圾回收器始终没有执行垃圾回收操作,那么垃圾回收器将始终不会调用无用对象的finalize()方法。在Java的Object祖先类中提供了protected 类型的finalize()方法,因此任何Java类都可以覆盖finalize()方法,在这个方法中进行释放对象所占的相关资源的操作。 Ja
2017-02-14 16:20:38
577
原创 浅析spring中创建的对象如何保证不被回收
浅析spring中创建的对象如何保证不被回收JVM通过可达性分析来判定对象是否存活。这个算法的基本思路就是通过一系列称为 GC Roots的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为 引用链 ,当一个对象到 GC Roots 没有任何 引用链 相连时,则证明此对象是不可用的。如下图中对象object1、object2、object3、objec
2017-02-13 18:32:08
9164
6
原创 mybatis 批量插入使用序列以及批量更新(Oracle数据库)
insert into MOBILE_RECIPIENT(ID, MOBILE_DETAIL_ID, MOBILE, ERROR, STATUS, CREATE_TIME,CONTENT) select SEQUENCE_MOBILE_RECIPIENT_ID.NEXTVAL ,A.* from ( select #{item.mobileDeta
2017-02-13 15:02:58
2491
转载 Redis增加或删除节点
Redis集群添加节点1:首先把需要添加的节点启动cd /usr/local/cluster/mkdir 7006cp /usr/local/cluster/redis.conf /usr/local/cluster/7006/cd /usr/local/cluster/7006/vi redis.conf##修改redis
2017-02-13 14:32:10
596
转载 jvm内存分配、管理小结
首先是概念层面的几个问题:Java中运行时内存结构有哪几种?Java中为什么要设计堆栈分离?Java多线程中是如何实现数据共享的?Java反射的基础是什么?然后是运用层面:引用类型变量和对象的区别?什么情况下用局部变量,什么情况下用成员变量?数组如何初始化?声明一个数组的过程中,如何分配内存?声明基本类型数组和声明引用类型的数组,初始化时,内存分配机制有什么
2017-02-09 15:17:31
385
原创 神奇的Annotation
什么是元数据(metadata)元数据由metadata译来,所谓的元数据就是“关于数据的数据”,更通俗的说就是描述数据的数据,对数据及信息资源的描述性信息.比如说一个文本文件,有创建时间,创建人,文件大小等数据,这都可以理解为是元数据.在java中,元数据以标签的形式存在java代码中,它的存在并不影响程序代码的编译和执行,通常它被用来生成其它的文件或运行时知道被运行代码的描述信
2016-12-28 14:21:19
2937
原创 HttpServletRequestWrapper 实现xss注入
自定义一个wapper 实现 HttpServletRequestWrapperpackage cn.baozun.crm.task.filter;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;/** * * <p>xss过滤</p> * @au
2016-12-27 17:40:40
6899
原创 springMVC的WebArgumentResolver扩展详解 注入共同参数
MIS系统开发的时候,相信大家都需要获取当前登录用户,用来记录操作员等。而平时我们极有可能用的这种办法: request.getSession().getAttribute("CURRENT_USER");比如以前保存资源是这样的:@RequestMapping(value = "save.json", method = RequestMethod.POST)
2016-12-27 17:16:40
1646
原创 动态代理使用以及Proxy的内部实现
java动态代理机制以巧妙的方式实现了代理模式的设计理念。代理模式示例代码public interface Subject { public void doSomething(); } public class RealSubject implements Subject { public void doSomething()
2016-12-27 15:30:22
1014
原创 java反射常见API
1、反射的基础:Class在程序运行期间,Java运行时系统始终为所有的对象维护一个被称为运行时的类型标识。这个信息保存着每个对象所属的类足迹。虚拟机利用运行时信息选择相应的方法执行。然而,可以通过专门的Java类访问这些信息。保存这些信息的类称为Class,泛型形式为Class。Class是反射机制的基础,反射API通过操作Class来获取其完整结构。获取Class的常用方式
2016-12-27 14:50:06
730
原创 spring容器启动就获得实现指定接口的beanMap
package cn.baozun.crm.listener;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import org.springframework.context.ApplicationListener;import org.springframew
2016-12-26 19:33:26
1404
原创 获取实现接口的的第一个泛型实例工具类
package cn.baozun.crm.base.util;/** * Copyright (c) 2005-2009 springside.org.cn * * Licensed under the Apache License, Version 2.0 (the "License"); * * $Id: ReflectionUtils.java,v 1.2
2016-12-26 19:27:54
909
原创 java 泛型 应用 type
java中class,method,field的继承体系java中所有对象的类型定义类Type说明:Type : Type is the common superinterface for all types in the Java programming language. These include raw types,
2016-12-26 19:25:10
546
原创 静态类加载过程、对象的创建过程
类加载的过程:1、当在程序中要使用某个类的时候,JVM 会先在当前的方法区中找有没有这个class文件信息,如果没有这时JVM会先去加载这个class文件2、加载的时候,如果配置了classpath环境变量,那么JVM会到classpath所指的目录下去找对应的class文件,如果没有配置classpath环境变量,那么就在当前目录下找对应的class文件。3、当JVM找了对应的cla
2016-12-16 18:06:15
2705
1
原创 this关键字、static关键字、代码块
this关键字的作用: 1、在Java中任何方法中都一个this变量,这个变量用来记录调用这个方法的那个对象。 this指向调用这个方法的那个对象。 2、可以使用this区别成员变量和局部变量同名问题。 3、调用构造方法代码:
2016-12-16 18:04:42
468
原创 java 构造方法
构造方法的特点: 1、构造方法的方法名必须和当前的类名保持一致。 2、构造方法是没有返回值的,也就是在书写构造方法的时候不能书写返回值类型(注意这里连void都不能写)可以添加修饰符 构造方法中需要注意的问题: 1、如果在一个构造方法中调用其他的构造方法,那么这个thi
2016-12-16 16:02:39
4875
原创 java数组
数组是Java中的一类容器,主要用来存储多个类型相同的数据,并且存储的数据个数是固定的。对于容器,它可以存储数据,也能从中取出数据。集合。 数组的特点:类型统一,个数可固定,有下标。使用length以得到数组的长度定义:元素类型[] 数组名 = new 元素类型[数组长度];元素类型[] 数组名 = {元素1,元素2...... 元素n}; 数组的常见操作:由于
2016-12-16 15:45:02
316
原创 java运算符
算术运算、赋值运算、关系运算、逻辑运算、位运算、三元运算。算术运算:+ - * / % 数据类型一致,运算的结果和运算数据保持一致。1234 / 1000 *1000 = 100010 % 3 = 13 % 10 = 310 ÷ 3 = 3 …… 1 ++ -- 自增 自减运算int a =10;int b = a ++;int c = ++a;自增自减
2016-12-16 15:36:58
687
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人