java
文章平均质量分 79
^-无涯-^
这个作者很懒,什么都没留下…
展开
-
高效实现Map的原子更新操作(Hystrix的InternMap<K, V>源码解析)
最近学习Hystrix的InternMap<K, V>源码,有段不错的代码,一起学习下高效实现Map的原子更新。通过ConcurrentHashMap提供的线程安全的putIfAbsent方法,保证了storage存入时的线程安全,同时通过对变量值判断进行返回,保证了整个方法操作的原子性。这种实现线程安全的方式,没有用同步代码块等比较低效的同步方式,确实是一种高效实现Map的原子更新方式原创 2016-09-30 16:39:37 · 2710 阅读 · 3 评论 -
mysql常用命令
cmd下连接mysqlmysql -u root -proot-u后面跟用户名,-p后面跟密码,注意-p后没有空格 如果提示mysql命令找不到,在环境变量Path下增加mysql安装目录的bin路径(C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin)source命令mysql>use xmanager;mysql>set names utf8;原创 2015-06-04 11:18:50 · 1430 阅读 · 0 评论 -
Druid数据源配置入门(超详细)
Druid是阿里开发的数据库连接池,据说比c3p0性能更好,支持下国产。下面就来学习下超简单的连接池配置: <!-- 阿里 druid数据库连接池 --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="clos原创 2015-06-03 10:49:49 · 11874 阅读 · 2 评论 -
ant之build.xml详解
最近项目中用到了ant构建项目,由于之前一直用的maven,没接触过ant,就抽空补了下ant相关知识。下面分三部分介绍ant:ant安装ant命令build.xml配置详解ant安装直接上官网下载ant包ant官网,最新包是apache-ant-1.9.4-bin.zip。将其解压到某个目录,我的放置在E:\develop目录下然后配置环境变量,增加系统变量ANT_HOME,值为ant的解原创 2015-05-15 13:51:08 · 12100 阅读 · 0 评论 -
mvn构建JAX-WS项目含服务端和客户端代码实现
JDK中自带JAX-WS框架。相比而言,JWS是轻量级的,使用非常简便,可与Spring集成使用。下面就详述如何通过mvn构建WebService服务端及客户端。大概过程,引入依赖包->写服务端->服务发布->写客户端原创 2015-05-06 16:07:10 · 2020 阅读 · 3 评论 -
windows下创建.gitignore文件(git提交时忽略某些文件)
相信大家在使用eclipse的git插件提交文件时,都会遇到这样一个问题:就是有可能不小心把不必要的文件也被提交了(如.project,.classpath文件或者.settings文件夹及其下面的文件等),那有没有办法把这些文件忽略掉呢? 方法很简单,就是在项目目录下新建.gitignore文件,然后在里面声明要忽略的文件夹或者文件就可以了。麻烦的地方来了,因为该文件是点开头,没有文件名,没办法原创 2015-04-28 16:52:25 · 19789 阅读 · 1 评论 -
CronExpression表达式语法总结
一个cron表达式由6或7个时间元素组成。它们之间用空格分隔,依次为:[秒] [分] [小时] [日] [月] [星期] [年] 序号 说明 是否必填 允许填写的值 允许的符号 1 秒 是 0-59 , - * / 2 分 是 0-59 , - * / 3 小时 是 0-23 , - * / 4 日 是 1原创 2015-04-28 10:17:21 · 10654 阅读 · 2 评论 -
java编程之美(一)
实践编程已经有足足6年多时间,也算是有一定经验,经常在工作中遇到各种让人不爽的代码编写方式,今天忍不住要来唠叨下。为什么叫编程之美? 在我看来,代码有丑陋难看和赏心悦目两类,当然还有介于两者之间的。优秀开源框架的源码,让人看了就觉得舒服;而有些新手写的代码,让人看了别扭、添堵。本人也是从新手一步步过来的,想想自己早年写得代码,也是很丑的。当年丑不要紧,一直丑就要命了。废话不多说,上原创 2015-11-01 18:28:40 · 2897 阅读 · 0 评论 -
struts1.* 核心配置文件struts-config.xml详解
转自http://blog.chinaunix.net/uid-26863299-id-4754236.html首先struts-config.xml是struts框架的核心配置文件,其中内嵌如下标签:1、 这是一个主标签,struts配置文件内的所有标签都必须包含在此标签下,且仅能允许有一对该标签;2、该标签就是给当前配置文件进行命名3、 可以认为是一种注释4、转载 2016-01-22 09:34:06 · 3094 阅读 · 0 评论 -
windows上maven安装与使用(基础操作命令)并与eclipse(galileo版)整合教程
一、Windows上安装Maven1、检查JDK安装在安装Maven之前,首先要确认你已经正确安装了JDK。打开Windows的命令行,运行如下的命令来检查你的Java安装:C:\>echo %JAVA_HOME%C:\>java -version如果Windows无法执行java命令,或者无法找到JAVA_HOME环境变量。你就需要检查Java是否安装了,或者环境变量是否原创 2014-09-09 16:15:35 · 3129 阅读 · 0 评论 -
java字符串编码认识误区说明
关于java字符串编码认识上存在两大误区,一、严格来说java字符串是utf-16编码而非unicode编码。unicode是字符集,是字符编码方案,而不是具体的编码实现; 二、java中一个汉字有可能占用两个char,比如非O号平面的字符需要两个char表示原创 2014-11-10 11:24:03 · 1382 阅读 · 0 评论 -
那些糟糕的开发框架
本文将与大家一起来吐槽下公司的开发框架,站在开发者的角度详述糟糕设计下导致的各种问题和使用痛点,并给出改进意见。Java目前流行的开发框架,不外乎SSH、SSM,或者两者的混搭。 集成这些框架技术本身并不难,难点在于怎么让框架简单易用,更好的服务于开发者,让开发者专注于业务而不是一些无用的设计上。下面就从Dao,Service,Controller及基础功能四个方面一一痛斥那些糟糕的设计原创 2016-09-13 18:24:52 · 6035 阅读 · 3 评论 -
pom中引入新依赖项后项目启动报错问题研究
最近在联调百度云音视频直播 LSS时,在pom中加入bce-java-sdk依赖后,原来的项目启动就出现了问题,挺奇怪的,现记录问题及解决方法如下:问题一、项目启动控制台打印的日志格式和级别完全变了详细描述:项目中采用的是log4j日志框架,在log4j.properties中配置的日志打印级别为INFO,但是控制台却打出了很多DEBUG类型日志,并且日志打印格式也不是配置文件中指定的格式原创 2016-08-10 13:20:28 · 6443 阅读 · 2 评论 -
Idea快捷键(光标定位/切换/查找相关)
本文将告诉你IDEA与定位/切换/查找相关快捷键,学会使用这些快捷键,可以将手指尽量多的留在键盘上,避免手指在鼠标和键盘间来回切换,以提高开发效率。原创 2016-08-27 10:44:28 · 54329 阅读 · 4 评论 -
java fastjson如何自定义转换含枚举类型对象(编程技巧)
使用fastjson序列化时,如果含有枚举类型,默认会根据枚举变量的ordinal值进行反序列且序列化时显示枚举字面代表的字符串。经常这种行为不是我们想要的,那么如何进行定制化枚举类型的序列化和反序列?通过@JSONField注解,可变通实现原创 2016-06-17 17:41:42 · 23521 阅读 · 5 评论 -
SpringMVC @ResponseBody在IE8变下载
在使用IE8请求用@ResponseBody注解返回json格式数据的action时自动变下载页面,火狐和chorme正常。其原因就是响应Content-Type的值为application/json;charset=UTF-8时,IE下会自动变成下载。原创 2016-06-25 11:20:01 · 5800 阅读 · 1 评论 -
eclipse中如何通过maven插件执行mvn命令
在eclipse中安装maven插件后,可能需要向本地仓库中添加构件,操作方式如下:项目上右键->Run As->Maven build… ,弹出窗口修改如下在Goals 行输入命令install:install-file -Dfile=E:\org.restlet-2.1.4.jar -DgroupId=org.restlet.jee -DartifactId=org.restlet -Dver原创 2016-02-04 18:13:01 · 13613 阅读 · 0 评论 -
Zookeeper 的学习与运用
转载请注明出处:http://blog.csdn.net/tang9140/article/details/42869269在java中,可能会遇到将int转成byte[]数组,或者将byte[]数组转成int的情况。下面我们来思考下怎么实现?首先,分析int在java内存中的存储格式。众所周知,int类型在内存中占4个字节,采用补码方式存储(假如对原码、反码、补码不熟悉,请查阅相关资转载 2015-01-30 13:40:07 · 717 阅读 · 0 评论 -
[Java]String之寻根问底
深入理解String类的immutable特性。从字节码指令层面了解字符串连接符号+的本质,以及如何避免低效率使用+号。了解String中==与equals方法判断的异同及常见面试题解答。最后,附上常量池说明及通过反射改变方法区中的运行时常量池代码原创 2015-02-28 10:51:04 · 1865 阅读 · 1 评论 -
java泛型学习和实践(4)
引言前三节讲述了泛型常见声明及使用,泛型既可以在类上进行声明,也可以在单个方法上进行声明,并分别对这两种情况进行了总结。下面来学习下泛型扩展知识。延用前面的Runnable接口、Buick类、Ford类、Driver类,新增加一个汽车容器类CarContainer第一版代码如下:public interface Runnable { public void run(原创 2014-12-30 13:23:52 · 1810 阅读 · 4 评论 -
java里Date对象格式化为Sun Feb 01 2015格式
上面格式化有两种方式:一是用DateFormat格式化: Calendar calendar = Calendar.getInstance(); calendar.set(2015, 1, 1); Date date = calendar.getTime(); DateFormat df = new SimpleDateForm原创 2014-12-17 11:53:22 · 1955 阅读 · 0 评论 -
java对byte,short,char,int,long运算时自动类型转化情况说明
大家都知道,在进行运算时,java会隐式的自动进行类型转化,那么有哪些情况会进行转化呢?总结如下:一、算术运算符单目运算符:+(取正)-(取负) ++(自增1) --(自减1)1.1 +(取正)-(取负)当操作数是byte,short,char时,会自动转化为int类型;返回结果为int。当操作数是int,long时,不转化,原来是啥类型,还是啥类型。1.2 ++(自增1)原创 2014-11-06 16:39:20 · 9840 阅读 · 3 评论 -
spring_jdbc数据库配置项中用户名及密码密文处理类(防黑客入侵用)
本文讲述如何将mysql数据库配置项跟spring进行结合,以及通过对配置项进行加密处理来增强系统安全性当采用配置项是密文时,需要指定类在读取该配置项时进行解密,提供AES加解密类进行操作原创 2014-10-08 17:30:17 · 8065 阅读 · 2 评论 -
TopK问题探索-最小堆JAVA实现
TopK问题是指从原创 2014-08-16 10:31:41 · 2143 阅读 · 1 评论 -
java RuntimeException运行时异常
常见的几种RuntimeException异常如下原创 2014-08-27 14:08:40 · 1178 阅读 · 0 评论 -
Java日期处理工具类DateUtils
import java.sql.Timestamp;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * */public class DateUtils { /**原创 2014-08-22 17:47:18 · 1865 阅读 · 1 评论 -
Java中Request获取真实ip
/** * */public class CommonHelper { /** * * @param request * @return IP地址 */ public static String getIp(HttpServletRequest request) { String forwards原创 2014-08-22 17:36:49 · 2390 阅读 · 1 评论 -
java nio SocketChannel 服务器端与多客户端 信息交互(聊天功能)
服务端代码:原创 2014-09-04 15:13:24 · 8929 阅读 · 2 评论 -
java的native2ascii工具用法
一般在jdk下自带编码转换工具native2ascii,对本地编码和unicode编码进行相互转换用法如下:native2ascii [options] inputfile [outputfile] options-reverse : 指定逆向转换,即将unicode编码转换成本地编码 (形如:\u4f60\u597d -->你好)-encoding e原创 2014-12-02 16:46:06 · 1026 阅读 · 0 评论 -
关于eclipse 3.5.0安装Git插件出错解决方法
使用Help --> Install New Software... 进行在线安装插件 eclipse 3.5.0的可以使用1.3版本的git:输入 http://download.eclipse.org/egit/updates-1.3/注,不支持2.0及以上版本(网上有误导),操作图示如下:EGit Mylyn 和 EG原创 2014-12-08 09:22:21 · 2771 阅读 · 0 评论 -
eclipse 3.5导入和导出个性格式化配置文件
点Window->Preferences,按下图选择点击Edit,然后弹出框右上角选择下面进行导出选择第一图中的Import...按钮进行导入另附上本人的格式化配置文件原创 2014-12-09 09:37:17 · 3230 阅读 · 0 评论 -
关于12306第三方软件检测研究
转载请注明出处:http://blog.csdn.net/tang9140/article/details/42869269首先申明下,本文章纯作为个人喜好的技术性研究,请不要用于非法操作盈取不正当利益,你懂的。问题引出大概在2014年12月的17、18号,大量针对12306的刷票软件出现了非法请求或‘使用第三方购票软件’提示,并且验证码识别出错。后面得知12306为了对恶原创 2015-01-19 09:19:53 · 3677 阅读 · 6 评论 -
java能不能自己写一个类叫java.lang.System/String正确答案
最近学习了下java类加载相关的知识。然后看到网上有一道面试题是能不能自己写个类叫java.lang.System?网上提供的答案:通常不可以,但可以采取另类方法达到这个需求。所谓的另类方法指自己写个类加载器来加载java.lang.System达到目的。首先表明下我的观点。上述答案完全是误导读者,是不正确的答案。我就纳闷了网上怎么把这种完全不正确的搜索结果排在前面,而且几乎搜到的都是原创 2015-01-15 11:03:11 · 14506 阅读 · 16 评论 -
java泛型学习和实践(2)
引言上节中简单介绍了泛型基本使用方法及使用泛型带来的安全性和可读性好处,接下来继续思考第二版代码的不足之处。回顾第二版Driver类的drive方法,其接收T泛型参数,为了调用具体car的run方法,需要向下转型,进行了多次instanceof判断,代码冗余且扩展性不好,不符合代码设计的"开闭原则"。有没有更好的方式?根据“依赖反转”原则,即代码应当依赖于抽象,而不是具体。由于T类型可以是原创 2014-12-26 13:39:22 · 1467 阅读 · 0 评论 -
java泛型学习和实践(3)
引言泛型声明除了像前面两节所讲的在类名后进行定义外,也可以在单独的方法上进行定义。这讲我们就讲下如何在方法进行泛型声明和使用同样的,假设一个汽车改装厂的场景。延用上节中的Runnable接口、Ford类、Buick类。 新增CarRefitFactory类(汽车改装工厂类)。第一版代码如下:public interface Runnable { public voi原创 2014-12-27 15:32:55 · 1638 阅读 · 0 评论 -
java泛型学习和实践(1)
JDK1.5之后引入了泛型,泛型刚开始接触时比较难理解,经过慢慢学习,有一些收获,现总结下,既可以加深自身理解,也可以帮助他人。在开源项目源代码中,会经常出现泛型。学习和使用泛型,是java程序员的必修课。准备分多个章节,来总结下学习泛型的相关知识和使用。欢迎大家指正原创 2014-12-25 16:32:08 · 2152 阅读 · 4 评论 -
java中int与byte数组互转代码详细分析
在java中,可能会遇到将int转成byte[]数组,或者将byte[]数组转成int的情况。下面我们来思考下怎么实现?首先,分析int在java内存中的存储格式。众所周知,int类型在内存中占4个字节,采用补码方式存储(假如对原码、反码、补码不熟悉,请查阅相关资原创 2015-02-02 09:01:05 · 14032 阅读 · 5 评论 -
java之XMemcached使用及源码详解
本文主要讲述如何使用XMemcached客户端与Memcached服务端进行交互。通过XMemcached的API调用与Memcached的set/get命令对比及跟踪XMemcached源码,使大家对XMemcached的API有更深层次的理解,能够从底层上去了解其工作原理,从而能在项目中进行一些针对性的接口封闭及优化工作。 是叫Memcache还是Memcached?原创 2015-02-03 09:18:49 · 4368 阅读 · 0 评论 -
java删除文件或文件夹及子文件夹
不多说,直接上代码原创 2014-08-20 10:55:11 · 1839 阅读 · 1 评论