- 博客(41)
- 资源 (3)
- 收藏
- 关注
原创 mysql表分区
mysql中给原有表增加分区时,要注意的是往往原来的表中有主键,这个时候增加分区是会报错的,增加分区的字段值是要设置成主键的,所以这个时候要写改表结构,把要分区的字段设置成主键。-- 按照列增加range分区ALTER TABLE tableName PARTITION BY RANGE COLUMNS (`out_date`)(PARTITION p20170101 VALUES LESS TH...
2018-07-06 09:20:53 591
原创 mysql数据抽取同步至elasticsearch中
了解了几种方式: 1.使用mysql的binlog日志,这个可以使用阿里的canal,进行同步至es中 2.使用es官方推荐的logstash-input-jdbc,这是logstash的一个插件,源码地址logstash-input-jdbc首先,安装logstash,此处不再赘述,由于logstash-input-jdbc使用ruby快发,所以还需要安装ruby,选择下载安装,安装...
2018-07-04 17:06:20 24439 7
原创 leetCode 448. 找到所有数组中消失的数字
给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。第一种时间复杂度为O(2n)解法:假设有一个从1~n的数字,新建一个数组长度为给定数组两倍的数组,然后拼接...
2018-06-27 10:58:29 564
原创 利用ZK原生客户端实现分布式锁
利用zookeeper原生客户端实现分布式锁: 1.全部客户端在zk服务端创建同一个节点,但是只有一节客户端会创建成功,其余节点监听locks节点,如下图:当节点删除后触发每个客户端向服务端创建节点,但是却只有一个客户端会创建成功,产生羊群效应,可以利用zk的临时有序节点特性,于是就有了第二种做法。 2.利用zk的临时有序节点特性,每个客户端向同一个节点下创建临时有序节点,但是最...
2018-06-11 23:03:12 654
原创 梳理DispatcherServlet加载运行流程图
此图应从右往左看,DispatcherServlet本质是个Servlet,所以Servlet加载的时候会调用init方法
2018-05-04 22:23:00 811
原创 从代理对象中获取原始对象
使用JDK动态代理时,有时需要获取原始对象,那怎么通过代理对象获取原始对象呢?接口public interface Person { void doWork();}实现类public class PersonImpl implements Person { public void doWork() { System.out.println("testssttt"...
2018-05-02 23:00:46 10130
原创 线段树的修改
对于一棵 最大线段树, 每个节点包含一个额外的 max 属性,用于存储该节点所代表区间的最大值。设计一个 modify 的方法,接受三个参数 root、 index 和 value。该方法将 root 为根的线段树中 [start, end] = [index, index] 的节点修改为了新的 value ,并确保在修改后,线段树的每个节点的 max 属性仍然具有正确的值。线段树不清楚的可以自行...
2018-04-11 19:29:06 246
原创 mysql游标嵌套循环例子
CREATE PROCEDURE finance_reciveDetail(customer_id varchar(20))BEGIN DECLARE done INT DEFAULT 0; DECLARE id_a bigint; DECLARE pre_recv_remain_a decimal(12,2); DECLARE storageId_a varchar(20);
2018-01-31 20:24:53 527
原创 windows下安装两个jdk
当系统已经安装过一个版本jdk时,由于需要安装jdk8,这个时候安装好后,使用java -version发现并不是配置的环境变量的信息,这是因为安装jdk8时默认生成C:\ProgramData\Oracle\Java\javapath 文件,并把java.exe javaw.exe javaws.exe放到此文件下,然后把该路径放到path的最前面,所以无论你怎么配置环境变量,使用java -
2018-01-31 16:28:06 783
原创 利用SXSSFWorkbook导出excel
项目需要一次性导出几十万数据,于是乎就SXSSFWorkbook导出excel了,写了个导出的工具类,还能要完善它,这个只是1.0版本,但是基本需求能够满足了package com.fnst.frame.core.common.excel;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.
2017-12-04 17:53:20 10168 3
原创 spring-task定时任务动态配置修改执行时间
因项目需要,几个定时任务需要人为动态设置执行时间,于是乎吧,就查阅相关资料,是可以动态设置的,废话不多说,直接上代码,一目了然。package com.seckill.quartz;import org.springframework.scheduling.Trigger;import org.springframework.scheduling.TriggerContext;impo
2017-11-11 16:50:13 22174 7
原创 jdk动态代理和cglib代理区别
JDK动态代理:目标对象实现了接口,默认使用此代理,通过在运行期间创建一个接口的实现类来完成对目标对象的代理cglib代理:针对类实现代理,在运行期间生成代理对象是针对目标对象扩展的子类,所以此时要是目标对象有final方法,就不能重写覆盖了,底层依靠ASM(开源的java字节码编辑类库)操作字节码实现的,性能比JDK强如果非要使用cglib代理,可以设置proxy-target-clas
2017-09-25 21:44:56 431
原创 最大子序列和算法
最大子序列和,数组中从k到m的子序列的最大和问题public void maxSum() { int a[] = {1, 2, 5, 3, -15, 8}; int thisNum = 0; int maxNum = 0; for (int i = 0; i < a.length; i++) { this
2017-08-26 21:17:01 283
原创 自定义spring.schemas和spring.handlsers
最近看spring源码,看到了Spring提供了可扩展的schema的支持。1.设计配置属性javabean2.编写xsd文件3.编写NamespaceHandlerSupport和BeanDefinitionParser4.在spring.schemas和spring.handlers中填入关系,使之能关联起来1.编写JavaBean:public class U
2017-08-18 14:28:07 1589 2
原创 spring源码解析之bean的子元素
看spring源码也有几天了,这个时候才想起来写博客,惭愧啊。今天看的是解析bean的子元素,就我个人而言,部分子元素确实用的不多1.meta 元数据,当需要使用里面的信息是用key获取值,通过BeanDefinition的getAttribute(key)获取值,spring解析的时候通过BeanMetadataAttribute类来承载解析出来的key和value,解析方法在BeanDe
2017-07-22 09:42:01 417
原创 Java解析Excel并把数据保存到数据库中
Java解析Excel,采用的Apache的poi,其实不难,需求是把每一列的数据解析出来,因为每一列的数据不等,解析Excel是一行一行的解析的,其实根据列解析也不违背,只不过需要判断下数据是否为空,先获得某一列,然后一行行的解析下去。
2017-03-05 12:58:30 10460 1
原创 java中获取微信公众号的access_token
闲暇时间写了个简单的获取微信公众号的access_token,当然只是简单的获取,而且有效期是两小时,之后可以考虑使用定时任务定时获取access_token,废话不多说了,贴上代码咯import java.io.IOException;import org.apache.commons.httpclient.HttpClient;import org.apache.common
2016-10-22 16:46:31 7028
原创 resteasy返回错误Could not find MessageBodyWriter for response object of type
自己写一个restful的demo的时候遇到一个问题,就是返回错误信息Could not find MessageBodyWriter for response object of type网上查了半天,说是依赖下面即可 org.jboss.resteasyresteasy-jaxb-provider2.3.4.Final但是亲测还是不行,本着不抛弃不放弃精神,
2016-10-21 21:28:45 5123 1
原创 文章标题
装完Android Studio后发现启动异常,异常信息: java.lang.RuntimeException: java.lang.IllegalArgumentException: Argument for @NotNull parameter ‘name’ of com/android/tools/idea/welcome/Platform. must not be null a
2016-07-19 22:48:48 334
原创 搭建maven私服
windows:1.http://www.sonatype.com/download-oss-sonatype 下载nexus-2.13.0-01-bundle.tar.zip ,下载完成后解压到文件夹2.进入nexus-2.13.0-01\bin\jsw\目录下,选择对应的windows,比如进入windows-x86-64后,有如下文件 启动成功后
2016-05-07 20:11:30 325
原创 PBKDF2加密
用PBKDF加密密码public class EncrptyUtil{ public static String encrptyPB2(String password) { try { int iterationCount = 1000; int keyLength = 64*8;
2016-04-23 22:19:52 1133
原创 反射动态调用方法
后台请求的路径必须是一个方法名,例如:请求路径为"${pageContext.request.contextPath }/query.do"在web.xml文件中配置对应的servlet /query.doservlet:import java.io.IOException;import java.lang.reflect.Method;import javax.ser
2015-10-15 10:48:48 496
原创 java解压缩文件
压缩: // 压缩 public static void zip(String zipFileName, String inputFile) throws Exception { File f = new File(inputFile); ZipOutputStream out = new ZipOutputStream(new
2015-09-07 11:22:34 348
原创 Eclipse:Error:could not find java SE Runtime Environment/Error: could not find java.dll
1.Added key HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment2.Added String Value CurrentVersion = 1.73.Added key HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.74.A
2015-07-28 22:55:15 573 1
转载 Java Web中的入侵检测及简单实现
一、简介 在Java Web应用程中,特别是网站开发中,我们有时候需要为应用程序增加一个入侵检测程序来防止恶意刷新的功能,防止非法用户不断的往Web应用中重复发送数据。当然,入侵检测可以用很多方法实现,包括软件、硬件防火墙,入侵检测的策略也很多。在这里我们主要介绍的是Java Web应用程序中通过软件的方式实现简单的入侵检测及防御。 该方法的实现原理很简单,就是用户访问Web系
2015-07-09 10:35:19 2497
原创 struts2上传图片后并显示图片
利用struts自带的上传文件拦截器上传图片。1.jsp页面 ${imageName}" id="images" name="images" style="display: none;"> ${imageName}" id="images" name="images"> 选择文件 --> 2.struts.xml
2015-05-13 15:24:07 3058
原创 Java中获取访问者的ip和或获取访问路径
/** * 获取访问者IP * * 在一般情况下使用Request.getRemoteAddr()即可,但是经过nginx等反向代理软件后,这个方法会失效。 * * 本方法先从Header中获取X-Real-IP,如果不存在再从X-Forwarded-For获得第一个IP(用,分割), * 如果还不存在则调用Request .getR
2015-05-06 14:44:22 5481 1
转载 @PathVariable和@RequestParam的区别
请求路径上有个id的变量值,可以通过@PathVariable来获取 @RequestMapping(value = "/page/{id}", method = RequestMethod.GET) @RequestParam用来获得静态的URL请求入参 spring注解时action里用到。简介:handler method 参数绑定常用的注解,我们根据他们处理的 R
2015-05-04 09:56:23 312
原创 Ajax实现无刷新登陆
一个页面很多内容,而在登陆成功后不想整个页面都刷新一次,整个效率低,每次都要加载页面,所以需要实现无刷新登陆只是简单地做了个一个demo,望各位大侠轻喷jsp页面:<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()
2015-04-16 15:32:29 529
原创 Java读取properties文件,得到数据库的配置信息
Java连接数据库时往往把配置信息写到一个jdbc.poperties的文件中,以便维护和修改信息,而不需要修改源代码jdbc.properties文件的配置信息:jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://127.0.0.1:3306/databasename?characterEncoding=utf
2015-04-16 15:22:27 590
原创 struts的动态方法调用
1.首先在struts.xml文件中设置支持动态方法的调用 /success.jsp /error.jsp /registesuccess.jsp 前台页面jsp代码:<%String path = request.getContextPath();String basePa
2015-04-16 10:10:48 343
原创 stuts2传参数的方式
1.通过属性传参数public class UserAction extends ActionSupport { private String name; private int age; public String add() { return SUCCESS; } public int getAge() { return age; }
2015-04-16 09:46:40 523
原创 Digester解析xml文件
Java与xml数据绑定,需要解析xml,用Digester解析xml文件是个不错的选择。用digester解析xml文件需要用到的jar包下载地址:http://download.csdn.net/detail/ll840768874/8592247下面为实例代码:xml文件代码 1 loup 25 南京 2 xf 25 无锡
2015-04-14 10:15:20 344
原创 给PDF文件加水印
import java.io.BufferedOutputStream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.text.SimpleDateFormat;import j
2015-04-08 16:56:08 1655
原创 二维码的生成与解码
import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;import com.google.zxing.BarcodeFormat;import com.google.zxing.BinaryBitmap;impor
2015-02-12 14:49:05 689
原创 Java中从一个数组中随机产生不重复的数
import java.util.HashSet;import java.util.Random;import java.util.Set;/** * @author Administrator * */public class ArrayRandomNumber { /** * @param args */ public static void main(Strin
2014-08-14 13:47:17 1833
转载 认识Spring
Spring是什么Spring是一种轻量级的、非侵入式的Java/JavaEE应用框架 Spring背景Rod Johnson《Expert One-on-One J2EE Design and Development》(2002)这本书的中文译本为《J2EE 设计开发编程指南》(2003)半年后,一个新的Java Framework发布,同样出自Rod John
2014-07-23 16:16:33 417
转载 Struts2 OGNL使用详解
OGNLOGNL ( Object Graph Navigation Language ),对象图导航语言。这是一种强大的表达式语言,通过它可以非常方便的来操作对象属性。 在 Struts2 中,OGNL 需要和 Struts2 标签库配套来使用。OGNL context |
2014-07-22 15:02:50 432
转载 spring的datasource的注入
对于不同的数据库存取需求,我们使用JDBC来解决这个问题,对于不同的数据连接来源需求,Spring则提供了DataSource注入,更换数据来源只要在Bean定义文件中修改配置,而不用修改任何一行程序。因应不同的系统,应用程序可能使用不同的数据来源,但如纯綷的使用 JDBC、透过连接池、或是透过JNDI等等,数据来源的更动是底层的行为,不应影响到上层的业务逻辑,为此,您可以在需要取
2014-06-27 09:20:04 2081
转载 struts1与struts2本质区别
1 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts 2提供一个ActionSupport基类去实现常用的接口。即使Action接口不是必须实现的,只有一个包含execut
2014-06-23 22:06:54 333
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人