自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA 8的Lambda表达式和Stream API研究

JAVA 8 Lambda表达式简化了代码开发,代码简洁,类似Python。代码实现例子: new Thread(() -> System.out.println("It's a lambda function!")).start(); List<String> languagesList = Arrays.asList("java","scala","p...

2018-03-21 17:31:15 230

原创 Linux vim命令详解

 Linux vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。     现将vim的命令行收集于下: vi有3个模式:插入模式、命令模式、低行模式。     插入模式:在此模式下可以输入字符,按ESC将回到命令模式。     命令模式:可以移动光标、删除字符等。     低行模式:可以保存文件、退出v...

2017-12-18 15:44:19 346

原创 ThreadPoolExecutor里面4种拒绝策略(转)

ThreadPoolExecutor类实现了ExecutorService接口和Executor接口,可以设置线程池corePoolSize,最大线程池大小,AliveTime,拒绝策略等。常用构造方法:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,long keepAliveTime, TimeUnit unit,...

2017-12-14 18:03:04 380

原创 JAVA多线程使用研究

Part One: 一个线程处理if (CollectionUtils.isNotEmpty(cqcAttachmentDataList)) {long startTimes = System.currentTimeMillis();final CountDownLatch latchOnlyOne = new CountDownLatch(1);new Thread(new ...

2017-12-06 18:58:07 155

原创 MySQL 的性能-SQL 执行分析(转)

后端开发必然会接触到数据库,数据层的优劣会影响整个服务的响应时间。所以,数据库的优化技巧是必须掌握的,下面就是我在学习过程中整理的,备忘。下面为上篇内容,分为以下部分:一、SQL 执行时间分析二、SQL 执行情况分析一、SQL 执行时间分析通过找到执行时间长的 SQL 语句,可以直观的发现数据层的效率问题。1.通过 show processlist 来查看系统的执行...

2017-07-11 17:16:56 132

原创 MySQL关联表更新数据SQL脚本

 假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%。 在Mysql中我们有几种手段可以做到这一点,一种是update table1 t1, table2 ts ...的方式: UPDATE product p, pro...

2017-06-23 17:18:51 404

原创 MySQL索引失效的情况总结

MySQL索引失效的几种情况总结(转载) 1.索引不存储null值 更准确的说,单列索引不存储null值,复合索引不存储全为null的值。索引不能存储Null,所以对这列采用is null条件时,因为索引上根本 没Null值,不能利用到索引,只能全表扫描。 为什么索引列不能存Null值? 将索引列值进行建树,其中必然涉及到诸多的比较操作。Null值的特殊...

2017-05-17 16:09:42 145

原创 MySQL函数研究总结-CONCAT、REPLACE、ROUND、FLOOR和CEILING、TRUNCATE、CASE WHEN等

CONCAT、REPLACE、ROUND、FLOOR和CEILING、TRUNCATE、CASE WHEN等MYSQL函数研究总结如下,供学习参考:------------------------------------------------------------ 添加前、后缀 concat,字符串替换 replace 添加前缀UPDATE `table` SET f...

2017-02-20 16:26:35 854

原创 itext实现PDF生成的两种方式-从HTML到PDF

itext实现PDF生成的两种方式-从HTML到PDFmaven依赖pom配置:<dependency> <groupId>com.itextpdf</groupId> <artifactId>itext-asian</artifactId> <version>5.2.0</versi...

2017-01-18 14:38:11 743

原创 Java处理Http请求的几种方式总结

1.commons-httpclient  简洁快速模拟HTTP请求<dependency>    <groupId>commons-httpclient</groupId>    <artifactId>commons-httpclient</artifactId>    <version>3.1<...

2017-01-10 18:17:38 474

原创 HttpClient 4.5.2版本设置连接超时时间-CloseableHttpClient设置Timeout

HttpClient  4.5版本设置连接超时时间-CloseableHttpClient设置Timeout(区别于4.3.2) HttpClient升级到4.5版本后,API有很多变化,HttpClient 4之后,API一直没有太稳定,我感觉4.5版本抽象后,很多API应该快稳定了。       使用HttpClient,一般都需要设置连接超时时间和获取数据超时时间。这两个参数...

2017-01-10 14:48:43 4076

原创 MySQL性能优化研究

 一当发现程序运行比较慢的时候,首先排除物力资源问题之后,就将注意力转向mysq数据库:1、首先确定运行慢的sql语句:mysql> show full processlist;2、确认低效的查询:多次执行第一步发现time耗费大的sql语句。查看耗费的时间。 3、为sql生成一个执行计划query Execution plan(QEP)mysql&gt...

2016-11-03 00:12:15 196

原创 面霸宝典Notes(二)

java6大设计原则:一 : 类单一职责原则:        一个类只有一个引起这个类变化的原因。即一个类只完成一个功能,如果做不到一个类只完成一个功能,最少要保证一个方法只完成一个功能。二:依赖倒置原则:       高层组件应该依赖抽象而不依赖具体,即面向接口编程,一般依赖的成员变量或者参数都应该是抽象的不应该是具体的。三:里氏代换原则:     凡是父类出现的地方...

2016-11-02 23:29:09 198

原创 MySQL行级锁与表级锁研究

 MySQL中的锁(表锁、行锁)     锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。 ...

2016-10-31 23:00:54 252

原创 java内存泄露和内存溢出区别

虽然jvm可以通过GC自动回收无用的内存,但是代码不好的话仍然存在内存溢出的风险。最近在网上搜集了一些资料,现整理如下: —————————————————————————————————————————— 一、为什么要了解内存泄露和内存溢出? 1、内存泄露一般是代码设计存在缺陷导致的,通过了解内存泄露的场景,可以避免不必要的内存溢出和提高自己的代码编写水平; ...

2016-07-01 18:30:46 92

原创 面霸宝典Notes

 1.MAP HashMap的底层结构实际上是“链表散列”,即数组和链表的结合体。从上图可以看出,HashMap底层就是一个数组结构(Entry<K,V>[] table),数组中的每一项又是一个链表。 HashMap扩容时的分析:        当HashMap中的元素越来越多的时候,hash冲突的几率也就越来越高,因为数组的长度是固定的。所以...

2016-05-27 00:07:59 148

原创 git 常用命令

git:git pullgit branchgit clonegit checkout -b f_  origin/f_git pushgit mergegit rebase git checkout -d f_  origin/f_ git tag -a v1.0.2 -m "v1.0.2"git push --tagdf -hi df -...

2016-03-04 00:10:48 73

原创 javaMelody监控接入使用

1.jar  pom<!-- javamelody监控接入begin 20150520 gaozhenzhai -->        <dependency>            <groupId>net.bull.javamelody</groupId>            <artifactId>javamelo...

2016-03-03 23:55:14 382

原创 jQuery ajax各种形式使用

1.post function deleCustomsVender(cvId) {            var url = "$popSellerAdminModule.getTarget("/customs/shop/customs_deleCustomsVender.action?_charset_=utf-8")";            if(confirm("确定要...

2016-03-03 23:36:30 145

原创 多线程-java线程池使用

(一)new Thread(new SolrDataHandleThread()).start();new Thread(new ElasticSearchDataHandler()).start();new Thread(new RedisDataHandler()).start(); private class SolrDataHandleThread implemen...

2016-03-01 16:46:04 153

原创 solr&&ES API

solr api:private org.apache.solr.client.solrj.impl.HttpSolrServer solrServer92;private org.apache.solr.client.solrj.impl.HttpSolrServer solrServer96; Collection<SolrInputDocument> docs...

2016-02-29 11:50:13 156

原创 Struts 2的漏洞 与需要版本升级(From Apache官网)

 Struts 2的漏洞原理:Struts又爆远程代码执行漏洞!在这次的漏洞中,攻击者可以通过操纵参数远程执行恶意代码。Struts 2.3.15.1之前的版本,参数action的值redirect以及redirectAction没有正确过滤,导致ognl代码执行。 The Struts 2 DefaultActionMapper supports a method for sho...

2013-07-24 10:47:42 175

原创 java.io.IOException: Too many open files解决方案

异常:java.io.IOException: Too many open files:解决方案:ulimit -nLinux: vi /etc/security/limits.conf# End of file*       soft    nofile  65535*       hard    nofile  65535命令:ulimit -n原因:   ...

2013-03-06 15:35:34 649

原创 Joda-Time&Date4j使用研究-开源JAVA日期时间处理类库

1)Joda-Time简介Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成。Joda-Time主要的特点包括:1. 易于使用:Calendar让获取"正常的"的日期变得很困难,使它没办法提供简单的方法,而Joda-Time能够 直接进行访问域并且索引...

2013-01-29 18:27:22 270

原创 MySQL、SQLServer和Oracle 数据结构变动-添加修改删除字段总结

MySql:添加单列:ALTER TABLE 表名 ADD 列名 数据类型 添加多列:ALTER TABLE 表名 ADD 列名1 数据类型1,Add 列名2 数据类型2 修改单列数据类型:ALTER TABLE 表名 CHANGE COLUMN 列名 数据类型 同时修改多列数据类型:ALTER TABLE 表名 CHANGE COLUMN 列名 数据类型,CHANGE...

2013-01-29 10:59:33 171

原创 Maven常用配置及Tomcat插件配置

Maven用了一段时间了,基本上被我摆平了。结合Eclipse跟Bamboo,Maven还是相当给力的!先整理下已知内容,以免过早遗忘,甚至丢失!相关链接: Maven零散笔记——常用配置 Maven零散笔记——配置Nexus pom.xml基础配置: maven中,最让我迷惑的还是那一堆配置!就拿这个属性配置来说: Xml代码  <properties&g...

2013-01-25 12:54:20 263

原创 ftp4j的使用研究-开源FTP客户端Java类库

ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能。可以将ftp4j嵌到你的Java应用中,来传输文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连...

2013-01-16 18:04:42 220

原创 Spring Data JPA研究-使用Spring Data JPA 简化JPA 开发(ZZ)

从一个简单的 JPA 示例开始本文主要讲述 Spring Data JPA,但是为了不至于给 JPA 和 Spring 的初学者造成较大的学习曲线,我们首先从 JPA 开始,简单介绍一个 JPA 示例;接着重构该示例,并引入 Spring 框架,这两部分不会涉及过多的篇幅,如果希望能够深入学习 Spring 和 JPA,可以根据本文最后提供的参考资料进一步学习。自 JPA 伴随 Jav...

2013-01-14 17:38:24 77

原创 MD5加密的几种实现方式研究

MD5加密的几种实现方式如下:一、第一种方式DigestUtils.md5Hex(member.getPassword())需要引入commons-codec-1.4.jar二、第二种方式String tmpPassword = MD5Creator.getDM5Password(member.getUsername(), member.getPassword());1)新...

2013-01-10 17:08:27 1094 1

原创 开源Java Web开发框架-Firefly研究

一、Firefly简介Firefly是一个高性能的一站式Java Web框架,涵盖了web开发的主要技术栈,包含模板引擎、IOC/MVC框架、HTTP服务器、Common工具、Log、Json解析器等模块。Firefly是一个一站式高性能Java Web框架。Firefly使用简单,在main函数中只需一行代码就可以启动一个Web服务,并且超级轻量,jar包总共500k,启动一个Web...

2013-01-09 23:12:59 423

原创 开源JAVA CMS-FreeCMS研究

一、FreeCMS简介 FreeCMS项目是为了致力于打造更好的中国开源免费CMS而发起的。这个项目的目标是提供一个安全,实用有效和可扩展的CMS系统。FreeCMS的特点:公开源码、免费使用、代码通俗易懂、注释详细、面向二次开发友好!FreeCMS项目隶属于FreeTeam开发组织!二、下载地址 下载地址http://code.google.com/p/freec...

2013-01-09 22:53:27 115

原创 G4Studio开源快速开发平台研究

G4Studio是一套基于JavaEE、面向小微型软件企业的免费开源产品套件,集需求分析、软件设计、编码实现、运行测试、运营维护、软件项目管理于一体,力求覆盖整个软件生命周期,被誉为“程序员私活神器”。目前最新版本为G4Studio v3.2。 G4Studio是什么?有什么用?--------------------------------------------------------...

2012-09-04 14:34:39 159

原创 MessagePack使用研究

MessagePack是一个基于二进制高效的对象序列化类库,可用于跨语言通信。它可以像JSON那样,在许多种语言之间交换结构对象;但是它比JSON更快速也更轻巧。支持Python、Ruby、Java、C/C++等众多语言。比GoogleProtocol Buffers还要快4倍。代码实现1: package com.newtest;import java.io.IOExcept...

2012-09-03 18:20:41 261

原创 MySQL两大常用存储引擎MyISAM,InnoDB的区别

 本文主要整理了MySQL两大常用的存储引擎MyISAM,InnoDB的六大常见区别,来源于Mysql手册以及互联网的资料InnoDB与Myisam的六大区别MyISAMInnoDB构 成上的区别:每个MyISAM在磁盘上存储成三个文件。第一个 文件的名字以表的名字开始,扩展名指出文件类型。 .frm文件存储表定义。数据文件的扩 ...

2012-08-10 14:27:28 64

原创 JAVA实现二维码、条形码生成与破译-开源Zxing使用研究

二维码编码代码实现类:package zxing;import java.io.File;     import java.util.Hashtable;         import com.google.zxing.BarcodeFormat;     import com.google.zxing.EncodeHintType;     import com....

2012-08-02 17:39:52 402

原创 JAVA实现PDF文件读取、处理研究-开源PDFBox实现

实现代码如下:import java.io.*;import org.apache.pdfbox.pdfparser.PDFParser;import org.apache.pdfbox.pdmodel.PDDocument;import org.apache.pdfbox.util.PDFTextStripper;public class PDFReader {...

2012-07-26 16:53:58 433

原创 MongoDB数据库导出、导入与备份、恢复

 MongoDB导入命令:mongoimport --host mongodb1.example.net --port 37017 --username user --password pass --collection contacts --db marketing --file /opt/backups/mdb1-examplenet.jsonmongoimport --hos...

2012-07-24 16:49:55 173

原创 JAVA实现图片处理缩略图-三种开源实现方式

代码实现如下:第一个开源: Thumbnailatorlong begin = System.currentTimeMillis();try {Thumbnails.of(new File("E:\\test\\photos\\亲密敌人.jpg")).size(300, 200)//.rotate(90).outputQuality(0.8f).toFile(n...

2012-07-24 16:04:47 814

原创 MonjaDB -基于Eclipse的 MongoDB 的 GUI 客户端工具

MonjaDB 是一个 MongoDB 的 GUI 客户端工具,提供直观的 MongoDB 数据管理的功能,支持 Windows/Mac/Linux.MonjaDB 是一个 Eclipse 插件,必须先安装 Eclipse。 主要特点:易用WYSIWYG 编辑 JSON/Table/Tree 数据非常灵活的窗体管理"Actions" 是个强大的类似宏的函数,高度兼...

2012-07-09 19:51:16 171

原创 Pinyin4j的使用研究-开源JAVA中文字符和拼音之间的转换

Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。代码实现如下:1.带声调的方法 /**  * 汉字转换位汉语拼音,英文字符不变  带声调的方法 * @param chines 汉字  * @return 拼音  */ public static String converterToSpellWithTONE(Strin...

2012-07-06 19:49:25 126

空空如也

空空如也

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

TA关注的人

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