
Java编程
dyyaries
这个作者很懒,什么都没留下…
展开
-
Hbase shell批量导出表数据到文件
hbase shell批量导出数据原创 2022-03-02 11:45:26 · 2155 阅读 · 0 评论 -
Sa-Token简单登录认证
sa token是一个全新的权限框架,相比spring security和apache shiro来说,使用起来更加便捷,配置更少,侵入性更小。下面是一个简单的登录认证示例,以一个spring boot+thymeleaf来实现具体逻辑首先导入sa token的Maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boo原创 2021-10-14 18:03:21 · 5304 阅读 · 0 评论 -
RabbitMQ Spring集成(延时消息、STOMP、消息确认)
安装插件(windows版本)F:\softs\rabbitmq\rabbitmq_server-3.8.5\sbin> rabbitmq-plugins.bat enable rabbitmq_managementSpring集成Rabbitmq<dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit</artifac原创 2020-08-05 16:31:34 · 662 阅读 · 0 评论 -
Java8简明教程
转载自 http://www.iteye.com/magazines/129-Java-8-TutorialJava 8已于2014年3月18日正式发布了,新版本带来了诸多改进,包括Lambda表达式、Streams、日期时间API等等。本文就带你领略Java 8的全新特性。 本文由 ImportNew网站的黄小非 翻译自 winterbe。原文作者Benjamin转载 2014-03-29 18:55:00 · 1954 阅读 · 0 评论 -
Mysql导出数据
1.使用mysqldump命令导出表结构和数据mysqldump -uusername -ppassword database [table] [-w "id-n][-t][-d][--skip-add-drop-table][--default-character-set=xxx] > out.sql[-w "id:-w指定查询条件,这需要指定[table]-n:原创 2013-07-29 11:55:39 · 5085 阅读 · 0 评论 -
MYSQL游标有SELECT的操作方式
DECLARE dtCur CURSOR FOR SELECT rate,update_dt FROM rate_t WHERE update_dt > `st` AND update_dtDECLARE CONTINUE HANDLER FOR NOT FOUND SET `nomore` = 1;上面的通过`nomore` = 1结束游标循环的方式碰到其中有SELECT的情况不适用原创 2013-07-01 22:32:37 · 3812 阅读 · 0 评论 -
用Servlet实现一个轻量级Struts2
原理:用一个Servlet作为总的拦截器按url parttern拦截请求,将请求按配置文件分发给Action处理,然后分发视图。具体思路:在Servlet拦截器初始时候读取配置文件,将配置保存到map中,拦截请求后,初始化BaseAction,反射具体Action类,执行配置的方法或默认execute方法。小框架暂取名叫Galic,哈哈, 那总拦截器Servlet就叫GalicS原创 2013-07-08 15:58:07 · 2316 阅读 · 1 评论 -
Mybatis SQL参数、条件、日志
参数:通常情况下,Mybatis的mapper文件中Select、Inser、Update和Delete只接收一个参数,并用parameterType指定。要指定多个参数,可以将多个参数加入到一个hashmap,然后将hashmap作为参数传入。另外的方法是使用@Param注解标注多个参数,例如:List selectQuery(@Param(value="contact"原创 2012-04-17 13:52:45 · 6942 阅读 · 2 评论 -
mysql乐观锁总结和实践
上一篇文章《MySQL悲观锁总结和实践》谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这样对数据库性能开销影响也很大,特别是对长事务而言,这样的开销往往无法承受。所以与悲观锁相对的,我们有了乐观锁,具体参见下面介绍:转载 2013-05-10 10:00:41 · 4504 阅读 · 0 评论 -
mysql悲观锁总结和实践
最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制转载 2013-05-10 09:59:34 · 821 阅读 · 0 评论 -
Mybatis小试CRUD
初次使用mybatis,对contacts表做一个增删改查。contacts表结构:+---------+------------------+| Field | Type |+---------+------------------+| id | int(10) unsigned || name | varchar(45)原创 2012-04-16 14:51:54 · 2225 阅读 · 0 评论 -
MySQL5 基本函数
mysq存储过程中常用的函数,字符串类型操作,数学类,日期时间类。mysql存储过程基本函数一.字符串类 CHARSET(str) //返回字串字符集CONCAT (string2 [,... ]) //连接字串INSTR (string ,substring ) //返回substring首次在string中出现的位置,不存在返回0L转载 2012-03-07 14:35:20 · 751 阅读 · 0 评论 -
网摘的一个MD5Util
public class MD5Util { public final static String MD5(String s) { try { byte[] btInput = s.getBytes(); MessageDigest mdInst = MessageDigest.getInstance("MD5"); mdInst.update(btInput);转载 2012-02-22 11:17:34 · 4653 阅读 · 0 评论 -
JSP2.0自定义标签
JSP1.0中可以通过继承TagSupport或者BodyTagSupport来实现自定义的tag处理方法。JSP2.0中也支持另外一种更为简单的自定tag的方法,那就是直接讲JSP代码保存成*.tag或者*.tagx的标签定义文件。tag和tagx文件不仅支持经典jsp代码,各种标签模版代码,还支持xml样式的jsp指令代码。按照约定,tag和tagx文件需要放置在WEB-INF/tag原创 2013-08-14 11:51:11 · 9460 阅读 · 1 评论 -
Paoding分词-扩展词典
庖丁有两种分词模式:most-words:最大词量分词方式,此模式对应的词典编译类为MostWordsModeDictionariesCompilermax-word-length:按词在词典中的原序来进行编译,基本不再做其他处理,此模式对应的词典编译类为SortingDictionariesCompilermost-words是默认的分词模式。classpath下添加的paodi原创 2013-11-11 11:33:47 · 2408 阅读 · 0 评论 -
DWZ富客户端框架(dwzjs)结合struts2的增改删查
DWZ是实用的国产JQuery UI框架,个人感觉比较好用。他和服务器端主要通过Ajax方式交互,数据格式为json。服务器响应数据代码示例:{ "statusCode":"200", "message":"操作成功", "navTabId":"actvtyList", "rel":"", "callbackType":"closeC原创 2013-11-25 17:18:08 · 11485 阅读 · 14 评论 -
Nginx配置网站SSL认证
Nginx Https SSL原创 2016-08-06 12:26:42 · 2312 阅读 · 0 评论 -
Spring mvc+Mybatis+DWZ代码生成器
Spring mvc+Mybatis+DWZ代码生成器,目前只支持MySQL数据库,支持多主键、批量删除、生成图片上传、生成编辑器原创 2016-03-11 12:01:11 · 3375 阅读 · 2 评论 -
JDK动态代理和Cglib动态代理
Object java.lang.reflect.Proxy.newProxyInstance(ClassLoader loader, Class[] interfaces,InvocationHandler h) throwsIllegalArgumentException Returns an instance of a proxy class for the s原创 2014-12-09 17:37:12 · 1401 阅读 · 0 评论 -
Sql控制反转小尝试
假想用配置Sql语句的方式来完成一个处理逻辑,并且映射到一个Url,这样当请求这个url的时候,执行前面配置的sql。下面的一段具体配置,例如 当请求pagerlistdept.do的时候,会传入参数Offset,并调用handler执行里面配置的SQL语句。原创 2014-10-13 20:41:41 · 2557 阅读 · 0 评论 -
Object C 中nsdata图片数据转换成Java字节
NSDATA转换的图片怎么转成Java字节原创 2014-09-11 18:34:29 · 36132 阅读 · 0 评论 -
LinkedBlockingQueue多线程测试
public class FillQueueThread extends Thread { private Queue queue; public FillQueueThread(Queue queue){ this.queue = queue; } @Override public void run() { while(true){ try { boolean a原创 2014-06-30 17:46:47 · 4001 阅读 · 0 评论 -
数据库的哈希设计
数据库的哈希设计Table of Contents1 用哈希的key代替字符串上的索引,提高查询效率。1.1 什么是hash1.2 如何在数据库设计中使用hash1.3 使用计算列1.4 如何在多表关联中使用哈希2 库表散列2.1 ORAHASH 函数2.2 哈希拆分例12.3 哈希拆分例22.4 除留余数法2.5 拆库1 用哈希的key转载 2014-06-24 18:06:11 · 1577 阅读 · 0 评论 -
SQL报表统计-with as、vm_concat(Oracle)-group_concat(MySQL)
我们使用oracle做一些统计的时候,时常碰到如下场景:1.竖列转横列2.分组并合并某列作为结果集3.分组排序取首条记录 我们使用一个简化的业务场景,来展示这三个场景如何使用sql来解决。业务场景:一张表记录着员工的出勤记录业务需求:(对应上面的三个场景)1.统计员工某年的每月出勤记录数2.查询每个人的出勤记录3.获得每个员工第一天上班的出勤记录 首转载 2014-05-19 10:14:01 · 6343 阅读 · 0 评论 -
Spring Security3 实践
Spring Security还是很强大的,即支持粗粒度的访问控制,还能支持精确到web元素的的控制。首先,spring配置中添加对security的支持: <security:form-login login-page="/login.jsp" login-processing-url="/do_security_check"原创 2012-03-27 16:14:05 · 6009 阅读 · 0 评论 -
Spring 中使用jasypt对配置文件(.properties)中密码加密
spring配置中经常使用placeholder来加载一个应用配置文件(.properties),但是其中的各种密码以明文显示出来总该是不好。不过可以利用jasypt这个框架来扩展这个加密功能,需要用到jasypt中的icu4j-version.jar、jasypt-version-lite.jar、jasypt-version.jar和jasypt-spring31-version.jar原创 2012-03-27 16:28:59 · 23930 阅读 · 3 评论 -
XML DTD 语言
+DTD Languagehttp://www.w3schools.com/dtd/dtd_intro.asp -XML DTD 全称:Document Type Definition 简介:用于定义文档的合法性。它定义了文档应该有哪些元素及其属性,还有其他一些约束性规则。 注意:DTD语言定义的文档类型是SGML家族的标记性语言。包括SGML,XML,HTML)转载 2012-07-26 12:14:54 · 1228 阅读 · 0 评论 -
How to clear Java cache
How do I clear the Java cache? This article applies to:Platform(s):Windows 7, Vista, Windows XP, Windows 2000, Windows 2003Java version(s):6.0, 7.0Clearing the Java Plug-in cache forces th转载 2012-07-27 15:10:07 · 1083 阅读 · 0 评论 -
Commons Fileupload+Servlet+JQuery实现文件上传进度条
实现文件动态上传,大致的思路是这样的:首先,利用Common Fileupload的ProgressListener接口讲实时的文件上传百分比存入session中,然后,实现一个读取session的servlet,在web端利用ajax间隔一定时间请求这个servlet,最后,将文件上传百分比显示在web端,并制作进度条。1.实现ProgressListenerServle原创 2012-03-09 17:21:21 · 11776 阅读 · 5 评论 -
基于Filter的简单登录过滤器
public class LoginFilter implements Filter { private static List exclude_uris = new ArrayList(0); @Override public void destroy() { } @Override public void doFilter(ServletRequest req,原创 2012-02-22 10:59:48 · 1035 阅读 · 0 评论 -
生成时间区间中工作日开始(周一)-结束(周五)日期对的方法
/** * 生成工作日开始(周一)-结束(周五)日期对的方法 * 例如: * 输入:参数start_time ="2011-05-04"(星期三),end_time="2011-07-14"(星期四) * 返回:[ * ["2011-05-04","2011-05-06"], * ["2011-05-09","2011-05-13"], * ...,原创 2012-02-22 10:42:33 · 1098 阅读 · 0 评论 -
RSA加密Socket传输文件、签名(一)
RSA加密分为公钥加密和私钥解密以及可能的数字签名。公钥、私钥分居客户端和服务器端,分别用于加密和解密。同时,私钥还用于签名,公钥还用于验证签名。解密加密用到JDK中java.security、javax.crypto两个包中相关的接口和类 1.生成密钥的代码SecureRandom sr = new SecureRandom(); KeyPairGenerator k原创 2011-04-01 14:19:00 · 3476 阅读 · 2 评论 -
RSA加密Socket传输文件、签名(二)
服务器端采用多线程方式并行处理传输请求以提高效率。因为我想用JavaServiceWrapper将 程序作为windows服务运行,所以main方法中需接收一些参数,比如端口、密钥文件位置、文件存放路径等。1.从main方法接受配置参数for(String arg : args){ String argName = arg.substring(0,arg.indexOf(":"原创 2011-04-01 14:39:00 · 1730 阅读 · 0 评论 -
RSA加密Socket传输文件、签名(三)
接下来是客户端类CoderClient的编写。1.首先配置如下信息,包括服务器地址、端口、密钥文件位置.conf.properties#configure private key on serverrsa_private=d:/rsa1_private.key#public key from clientrsa_public=d:/rsa_public.key#serv原创 2011-04-01 14:51:00 · 1362 阅读 · 0 评论 -
RSA加密Socket传输文件、签名(四)
最后 用JavaServiceWrapper把服务器端程序做成windows服务自动运行。 可以到http://wrapper.tanukisoftware.com/doc/english/download.jsp这里下载到wrapper-windows-x86-32-3.2.3.zip 首先,在本地建立一个文件夹,其中建立bin、lib、conf和logs目录。解压wrapp原创 2011-04-01 15:20:00 · 1972 阅读 · 3 评论 -
Debian6配置Mysql集群
Mysql版本:mysql-cluster-gpl-7.1.14-linux-i686-glibc23.tar.gz操作系统:Debian6.0 虚拟机 192.168.225.131 (MGMD) 192.168.225.133 (NDBD) 192.168.225.134 (NDBD) 192.168.225.135 (MySQLD) 192.168原创 2012-07-11 11:22:11 · 1438 阅读 · 3 评论 -
Log4j输出日志到文件[配置]
log4j.properties:log4j.rootLogger=DEBUG,console,FILElog4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.threshold=INFOlog4j.appender.console.layout=org.apache.log4j.P原创 2012-06-25 16:28:01 · 37383 阅读 · 2 评论 -
MySQL字符集设置
通常在安装完MySQL后,我们需要对MySQL字符集进行相关设置。 我们以Linux(Ubuntu)环境描述具体操作,Unux与其基本一致,Windows路径配置上少有不同。 我们将讨论以下几个问题: 字符集问题表征修正配置,设置默认字符集编码在使用过程中强制设置字符集编码1.字符集问题表征 MySQL默认latin1(其实就是ISO-885转载 2012-07-12 10:37:31 · 1295 阅读 · 0 评论 -
配置Apache+Tomcat集群
操作系统:Debian6.0 (192.168.225.129 虚拟机1台) 软件版本:Apache-2.2.16, Tomcat-6.0.351.安装软件 >apt-get install update *安装Apache >apt-get install apache2 *安装Tomcat >wget http://ap原创 2012-07-12 17:27:59 · 1085 阅读 · 0 评论 -
主机性能分析(一)
1.CPU消耗率分析 当CPU消耗严重时,主要体现在us、sy、wa或hi的值变高,wa的值是IO等待造成的,hi变高主要为硬件中断造成(例如网卡数据频繁),对于Java应用而言,CPU消耗严重主要体现在us、sy两个值上。 当us值过高时,表示运行的应用消耗了大部分的CPU。Java应用造成us高的原因主要是线程一直处于可运行(Runnable)状态,通常是这些线程在原创 2012-11-23 09:03:58 · 1841 阅读 · 0 评论