Java专区
文章平均质量分 53
逐浪_一生悬命
一生悬命
展开
-
【DUBBO】在不使用Spring的情况下调用Dubbo服务
在不使用Spring的情况下调用Dubbo服务背景解决方案方案一:静态调用背景 当我们开发工具类时、需要调用dubbo服务的情况下、往往不希望添加dubbo的xml配置文件。否则开发好的工具栏调用太不友好。解决方案方案一:静态调用调用示例(方案一)@Testpublic void testDubboNoGenericService(){ UserService userService = DubboUtils.getService( UserServi原创 2020-07-09 15:02:02 · 2523 阅读 · 0 评论 -
【IDEA】在idea用maven build成功,而用idea会build失败【提示程序包不存在】
【IDEA】在idea用maven build成功,而用idea会build失败【提示程序包不存在】背景今天换了电脑、打开Idea时发现原来正常能Run的工程、一Build就失败、报程序包不存在。使用maven build又是编译通过的。可以肯定程序是没有问题的。解决办法1.命令行输入:mvn idea:idea2.如果还是不行、file–invalidate caches 重启就可以了...原创 2020-07-09 08:40:35 · 5288 阅读 · 0 评论 -
[JAVA][REDIS]REDIS相关好文收集贴
1.Redis三种集群模式详解:主从模式、哨兵模式、集群模式(推荐使用集群模式:三主三从)https://blog.csdn.net/miss1181248983/article/details/900569602.SpringBoot整合Redis单机和整合Redis集群的完整例子https://www.nonelonely.com/article/15562896304913....原创 2019-12-23 09:07:02 · 395 阅读 · 0 评论 -
FastDFS从入门到精通【FastDfs原理>安装>高可用高性能>动态扩容】
互联网的项目中一般都会用到分布式的文件系统,其中FastDfs被广泛使用。FastDFS是一款类似Google FS的开源分布式文件系统,是纯C语言开发的。FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。FastDFS是为互联网应用量身定做的一套分布式文件存储系统,...原创 2019-10-27 10:12:56 · 606 阅读 · 0 评论 -
【Java】【Flume】Flume-NG启动过程源码分析(二)
本节分析配置文件的解析,即PollingPropertiesFileConfigurationProvider.FileWatcherRunnable.run中的eventBus.post(getConfiguration())。分析getConfiguration()方法。此方法在AbstractConfigurationProvider类中实现了,并且这个类也初始化了三大组件的工厂类:this原创 2014-06-24 13:45:11 · 5718 阅读 · 1 评论 -
[JAVA][DB]用MR(MapReduce)查询hbase数据(Mapper参数传递)-用到TableMapper和Scan
首先,可以设置scan的startRow, stopRow, filter等属性。于是两种方案:1.设置scan的filter,然后执行mapper,再reducer成一份结果2.不用filter过滤,将filter做的事传给mapper做进行了测试,前者在执行较少量scan记录的时候效率较后者高,但是执行的scan数量多了,便容易导致超时无返回而退出的情况。而为了实现后者,学转载 2014-07-14 09:38:00 · 2772 阅读 · 0 评论 -
[JAVA]比毫秒System.currentTimeMillis()更精确的时间戳(纳米级时间戳)
纳秒 ns(nanosecond):纳秒, 时间单位。一秒的10亿分之一,即等于10的负9次方秒。常用作 内存读写速度的单位,其前面数字越小则表示速度越快。 1纳秒=1000 皮秒 1纳秒 =0.001 微秒 1纳秒=0.000001 毫秒 1纳秒=0.00000 0001秒java的System.current原创 2014-07-14 16:15:24 · 52957 阅读 · 0 评论 -
[JAVA]POI各Jar包的作用
目前POI的最新发布版本是3.10_FINAL.该版本保护的jar包有:Maven artifactIdPrerequisitesJARpoicommons-logging, commons-codec, log4jpoi-version-yyyymmdd.jarpoi-scratchpadpoi原创 2014-09-04 16:03:09 · 72981 阅读 · 9 评论 -
[MyBatis]获取数据库连接、批量执行SQL语句
Configuration c= this.getSqlSession().getConfiguration(); ManagedTransactionFactory managedTransactionFactory = new ManagedTransactionFactory(); BatchExecutor batchExecutor=new BatchExecutor(c,m原创 2014-09-18 09:43:20 · 4561 阅读 · 0 评论 -
【Java】【jquery】ajax乱码问题
1、建议HTML、JSP文件本身采用UTF-8格式2、HTML的head中增加: "Content-Type" content="text/html; charset=UTF-8"> 3、JSP文件头增加 "text/html;charset=utf-8" pageEncoding="GBK"%> 4、在你的tomcat或者jboss的serv原创 2014-08-27 11:58:10 · 2398 阅读 · 0 评论 -
[Java][]Maven]mvn eclipse:eclipse导入jar失败、直接导入工程的问题解决办法
使用 mvn eclipse:eclipse构建工程时,引用本地自己写的一个工程,发现怎么都引用不成功查看.classpath文件时发现引用的文件是以这种形式出现的[html] view plaincopyclasspathentry kind="src" path="/test.client"/> 而查看引用别的jar原创 2014-09-25 15:45:42 · 5153 阅读 · 0 评论 -
[Java]利用java.util.concurrent实现多线程的线程池开发
我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的转载 2014-09-04 16:58:55 · 2337 阅读 · 0 评论 -
[JAVA][Spring]Spring中Bean的命名问题(id和name区别)及ref和idref之间的区别
Spring中Bean的命名1、每个Bean可以有一个id属性,并可以根据该id在IoC容器中查找该Bean,该id属性值必须在IoC容器中唯一;2、可以不指定id属性,只指定全限定类名,如:此时需要通过接口getBean(Class requiredType)来获取Bean;如果该Bean找不到则抛异常:NoSuchBeanDefinitionExceptio原创 2015-01-07 10:26:06 · 9779 阅读 · 1 评论 -
【Java】【日志】大型开源日志系统比较 Flume Scribe Chukwa Kafka
大型开源日志系统比较时间:2012-06-29 作者:董的博客 出处:dongxicheng.org日志对于系统的安全来说非常重要,它记录了系统每天发生的各种各样的事情,用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。日志主要的功能是审计和监测。它还可以实时地监测系统状态,监测和追踪侵入者。 本文将介绍几个开源系统并做比较。1.转载 2014-06-21 16:21:25 · 4901 阅读 · 0 评论 -
[JSP]JSP中include指令和include动作的区别
include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改,否则视为已被修改。由于被包含的文件是在编译时才插入的,因此如果只修改了include文件内容,而没有对JSP修改,得到的结构将不会改变,所以直接执行已经存在的字节码文件,而没有重新编译。因此对不经常变化的内容,用include指令是合适的,如果需要的内容是经常变原创 2014-06-22 17:07:41 · 18958 阅读 · 1 评论 -
【Java】【Flume】Flume-NG启动过程源码分析(一)
从bin/flume 这个shell脚本可以看到Flume的起始于org.apache.flume.node.Application类,这是flume的main函数所在。 main方法首先会先解析shell命令,如果指定的配置文件不存在就甩出异常。 根据命令中含有"no-reload-conf"参数,决定采用那种加载配置文件方式:一、没有此参数,会动态加载配置文件,默认每30秒原创 2014-06-24 13:41:19 · 6674 阅读 · 0 评论 -
【Java】【Flume】Flume-NG源码阅读之AvroSink
org.apache.flume.sink.AvroSink是用来通过网络来传输数据的,可以将event发送到RPC服务器(比如AvroSource),使用AvroSink和AvroSource可以组成分层结构。它继承自AbstractRpcSink extends AbstractSink implements Configurable这跟其他的sink一样都得extends Abstract原创 2014-06-24 13:48:57 · 3419 阅读 · 0 评论 -
【Java】【Fulme】Flume-NG源码阅读之SpoolDirectorySource
org.apache.flume.source.SpoolDirectorySource是flume的一个常用的source,这个源支持从磁盘中某文件夹获取文件数据。不同于其他异步源,这个源能够避免重启或者发送失败后数据丢失。flume可以监控文件夹,当出现新文件时会读取该文件并获取数据。当一个给定的文件被全部读入到通道中时,该文件会被重命名以标志已经完成。同时,该源需要一个清理进程来定期移除完成原创 2014-06-24 13:24:04 · 5784 阅读 · 0 评论 -
【Java】Appache Flume 中文介绍
前话Flume OG 也就是 Flume original generation 由 Cloudera公司开发,最新版本是0.9.4。而Flume NG 就是 Flume next generation, 大概在2011年6月份由 Cloudera贡献给开源社区,目前属于Apache的一个incubator project。官网:http://flume.appache.org/原创 2014-06-22 08:52:55 · 12802 阅读 · 3 评论 -
【Java】【Flume】Flume-NG启动过程源码分析(三)
本篇分析加载配置文件后各个组件是如何运行的? 加载完配置文件订阅者Application类会收到订阅信息执行: @Subscribe public synchronized void handleConfigurationEvent(MaterializedConfiguration conf) { stopAllComponents(); startAll原创 2014-06-24 13:46:21 · 3321 阅读 · 1 评论 -
[DB][mybatis]MyBatis mapper文件中的变量引用方式#{}与${}的差别
MyBatis mapper文件中的变量引用方式#{}与${}的差别 默认情况下,使用#{}语法,MyBatis会产生PreparedStatement语句中,并且安全的设置PreparedStatement参数,这个过程中MyBatis会进行必要的安全检查和转义。示例1:执行SQL:Select * from emp where name = #{emp原创 2014-05-23 16:12:53 · 59020 阅读 · 1 评论 -
[java][log4j]Log4j每天、每小时、每分钟定时生成日志文件
Log4j每天、每小时、每分钟定时生成日志文件转载 2014-07-22 17:13:25 · 12058 阅读 · 0 评论 -
[DB][MyBatis]利用mybatis-paginator实现分页(目前看到MyBatis下最好的分页实现)
利用mybatis-paginator实现分页 1、mybatis-paginator简介mybatis-paginator是gethub上的一个开源项目、用于java后台获取分页数据、该开源项目还提供一个列表组件(mmgrid)用于前端展示。该开源项目地址:https://github.com/miemiedev 2、该开源项目的使用说明:Maven中加入依赖:原创 2014-05-31 22:06:07 · 42393 阅读 · 3 评论 -
[Java][log4j]支持同时按日期和文件大小分割日志
根据DailyRollingFileAppender和RollingFileAppender改编,支持按日期和文件大小分割日志。 源文件: Java代码 package com.bao.logging; import java.io.File; import java.io.IOException; import java.io.Writ原创 2014-07-08 13:50:08 · 11168 阅读 · 4 评论 -
[JAVA][Spring]Spring 3.0 注解注入详解
一、各种注解方式1.@Autowired注解(不推荐使用,建议使用@Resource)@Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。@Autowired的标注位置不同,它们都会在Spring在初始化这个bean时,自动装配这个属性。要使@Autowired能够工作,还需要在配置文件中加入以下Xml代码bean原创 2015-01-07 09:20:44 · 1573 阅读 · 1 评论 -
[Java][Spring]Spring事务不起作用 问题汇总
最近在项目的时候碰到pring事务不起作用的情况,后来解决了,这里我汇总下: 1、首先使用如下代码 确认你的bean 是代理对象吗?必须是Spring定义(通过XML或注解定义都可以)的Bean才接受事务。直接new出来的对象添加事务是不起作用的。可以通过以下方式判断是否是代理对象:AopUtils.isAopProxy(Object obj原创 2014-11-26 15:34:12 · 18842 阅读 · 1 评论 -
[java]默认语言(user.language)和默认区域(user.region)设置
[java]默认语言(user.language)和默认区域(user.region)设置一、在系统属性中设置1、win下在控制面板中设置这个大家都会、不作详细说明。二、Linux下1、RHEL/CentOS : 修改 /etc/sysconfig/i18n 的 LANG变量英文:en_US.UTF8中文:zh_CN.UTF8原创 2015-10-10 17:23:12 · 23192 阅读 · 0 评论 -
Dubbo配置文件详解
依赖的jar理论上Dubbo可以只依赖JDK,不依赖于任何三方库运行,只需配置使用JDK相关实现策略。缺省依赖(系统默认)通过mvn dependency:tree > dep.log命令(Eclipse或Linux命令行)分析,Dubbo缺省依赖以下三方库:[INFO] +- com.alibaba:dubbo:jar:2.1.2:compile[INFO] | +-...转载 2018-08-03 14:10:04 · 2063 阅读 · 0 评论 -
【DB】【Spring】从事务增强机制出发通过AOP为Controller添加事务
1.网上有很多资料讲解怎么给Controller添加数据库事务,但是好像很多人都没有看明白是怎么回事。我抽了点时间再说明白一点。都是个人观点如有错误之处敬请指正。1.1)Controller层启用事务的好处 A)降低代码的复杂度、减少数据库事务控制不当的风险、提高程序的稳定性、将绝大多数的数据库事务可以完全交给Spring处理。 B)如果事务控制在Service的话、调用多个S...原创 2018-10-09 10:45:50 · 898 阅读 · 1 评论 -
HTTP协议中ETag使用(利用浏览器缓存提高访问效率)
Etag 是URL的Entity Tag,用于标示URL对象是否改变,区分不同语言和Session等等。具体内部含义是使服务器控制的,就像Cookie那样。 HTTP协议规格说明定义ETag为“被请求变量的实体值” 。另一种说法是,ETag是一个可以与Web资源关联的记号(token)。典型的Web资源可以一个Web页,但也可能是JSON或XML文档。服务器单独负责判断记号是什...原创 2019-02-26 10:32:20 · 1272 阅读 · 0 评论 -
[JAVA]关于springboot的junit单元测试
[JAVA]关于springboot的junit单元测试1.需要引入spring-boot-starter-test <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s...原创 2019-04-28 09:57:10 · 465 阅读 · 0 评论 -
[JAVA]前后端加解密技术(以图片AES为例,其他内容的其他加密方法也可以)
1. 前端AES加解密1) 使用技术:开源JS(CryptoJS) 官网:https://github.com/brix/crypto-js2) demo<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here<...原创 2019-05-14 18:05:06 · 2054 阅读 · 0 评论 -
[java]aes文件加密sample
package encrypt.file;import java.io.FileInputStream;import java.io.FileOutputStream;import java.security.Key;import java.security.Security;import java.util.Random;import javax.crypto.Cipher;...原创 2019-06-06 15:43:01 · 977 阅读 · 0 评论 -
[JAVA]EXCEL工具推荐-MyExcel
MyExcel--Excel操作新方式https://github.com/liaochong/myexcel使用示例参考请移步:示例简介 | Brief introductionMyExcel,是一个集导入、导出、加密Excel等多项功能的工具包。优点 | Advantages可生成任意复杂表格:本工具使用迭代单元格方式进行excel绘制,可生成任意复杂度excel,自...原创 2019-09-10 14:46:30 · 1626 阅读 · 0 评论 -
Maven——profile介绍(不同环境配置不同的参数)
4 profile介绍4.1 profile简介profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。比如说,我们可以通过profile定义在jdk1.5以上使用一套配置信息,在jdk1.5以下使用另外一套配置信息;或者有时候我们转载 2015-10-23 09:46:44 · 28574 阅读 · 0 评论 -
【DB】【Spring】多数据源事物配置
在SpringSide 3 中,白衣提供的预先配置好的环境非常有利于用户进行快速开发,但是同时也会为扩展带来一些困难。最直接的例子就是关于在项目中使用多个数据源的问题,似乎 很难搞。在上一篇中,我探讨了SpringSide 3 中的数据访问层,在这一篇中,我立志要解决多数据源配置的难题,我的思路是这样的:第一步、测试能否配置多个DataSource第二步、测试能否配置多个Session转载 2015-07-07 09:32:12 · 5149 阅读 · 0 评论 -
【spring】通过GZIP压缩提高网络传输效率(可以实现任何资源的gzip压缩、包括AJAX)
【spring】通过GZIP压缩提高网络传输效率(可以实现任何资源的gzip压缩、包括AJAX)gzip是http协议中使用的一种加密算法,客户端向web服务器端发出了请求后,通常情况下服务器端会将页面文件和其他资源,返回到客户端,客户端加载后渲染呈现,这种情况文件一般都比较大,如果开启Gzip ,那么服务器端响应后,会将页面,JS,CSS等文本文件或者其他文件通过高压缩算法将原创 2015-02-28 15:20:30 · 24943 阅读 · 3 评论 -
[java][jboss]改变jboss部署目录(虚拟目录)
在开发过程中,有时候我们希望将程序放在我们的源代码目录中,比如d:\code下,而不是放在jboss的deploy下,怎么办? 我们知道,jboss中集成了tomcat,因此跟tomcat一样可以配置这个目录,只需找到server.xml即可。对于不同的jboss版本,该目录名称 可能略有差异:对于jboss4.0来说,是deploy\jbossweb-tomcat55原创 2014-12-25 09:12:43 · 5366 阅读 · 1 评论 -
[spring]启动时报错:NoSuchMethodError: javax.servlet.http.HttpServletResponse.getStatus()I
Spring V4.1.0+的版本在不支持Servlet3.0的应用服务器上跑时会报以下错误:NoSuchMethodError: javax.servlet.http.HttpServletResponse.getStatus()I 比如说:tomcat 7以下的版本、jboss 4.2.3以下的版本解决版本有两个(任意选一个即可):1)、退回到Spring V4.0原创 2014-12-25 13:57:46 · 16226 阅读 · 3 评论 -
[java][servlet]模拟Servlet3.0使用注解的方式配置Servlet
一、Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示:1 servlet>2 servlet-name>ActionServletservlet-name>3 servlet-class>me.gacl.web.controller.ActionServletservlet-c转载 2014-12-26 10:52:53 · 4864 阅读 · 1 评论