Java开发
文章平均质量分 61
明天还有我
这个作者很懒,什么都没留下…
展开
-
jenkins构建war失败 代码编译出现(illegal character: \65279)
公司一直在用Jenkins来检测提交的代码是否可以被构建成war包,不知道什么时候被同事给提交了一版代码后,一直报错:代码编译出现(illegal character: \65279),然后,找了下原因,是因为同事在对Java文件做编辑时,使用了其它的编辑器而他们往往会把utf8文件中添加utf8标记,这样就导致构建失败。解决办法:去掉utf8标记代码编译出现(illegal characte转载 2015-11-07 02:01:01 · 1446 阅读 · 0 评论 -
Java任意同类型对象的复制
最近在公司做项目的时候,又用到了BeanUtils.copyProperties()这个方法来复制对象的属性值,以前也没太注意,这次才发现,原来spring和apache都提供了一个这个BeanUtils的工具类,但是apache的这个,在调用时,要求必须捕获异常,而spring则不需要,可以直接使用: A a= new A (); A old = new A(); Bean转载 2015-11-07 02:24:29 · 563 阅读 · 0 评论 -
Java内存泄露原因详解
一、Java内存回收机制不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会监控每个对象的运行状况,对他们的申请、引用、被引用、赋值等状况进行监控,Java会使用有向图的方法转载 2015-11-06 19:14:13 · 446 阅读 · 0 评论 -
eclipse查看jar包源代码乱码问题解决
今天想看看公司jar源码的注释,但是打开后是乱码,所以就设置了一下:步骤1、在eclipse菜单栏中,Window–>Preferences–>General–>Content types将JAR Content , Java Class File 的Default encoding都设置为你要的编码。步骤2、光设置上面的还不行,还需要再设置Workspace的编码。Windo转载 2015-11-07 15:28:17 · 401 阅读 · 0 评论 -
Apache ActiveMQ 不作为的问题
老早以前就听到activeMQ,但一直没有弄过,今天在网上找了下资料倒腾,结果敲完代码就遇到的第一个错误就是:javax.jms.JMSException: Could not connect to broker URL: tcp://localhost:61616.然后查找了,发现是我自己从apache下载下来的activeMQ 没有启动服务:D:\work\apache-activem转载 2015-11-06 19:48:50 · 9308 阅读 · 0 评论 -
Java读取文件
这两天一直在做数据库迁移的工作,算是完成了,但是发现,当我从MySQL里导出的sql文件里的数据都是这样的:INSERT INTO `t_admin_oper_type` VALUES (141, '认证服务管理', 100, 2, 2, 2);INSERT INTO `t_admin_oper_type` VALUES (142, '页面配置', 100, 2, 3, 3);INSE转载 2015-11-08 23:34:03 · 318 阅读 · 0 评论 -
在Java中调用Oracle存储过程的总结
今天在工作中又用到了存储过程,很多东西,都生疏了,花了点时间才写出来,这里就记下来,以免下次再用时,又要到网上到处去找资料。首先是在Oracle中写存储过程,今天就碰到这样一个问题:在写一个update语句时,还是用+去连接两个字段值,如:update core_department set full_title=rootDeptName+'-'+vparentdeptna转载 2015-11-08 23:39:57 · 412 阅读 · 0 评论 -
Map集合的遍历
今天一朋友问到我关于Map集合的遍历的问题,说实在当时还真有点懵了,因为工作这么久,印象里好像还真没有写过Map集合的遍历,只是直觉告诉我应该是要用到iterator,但具体怎么操作,就不能说思路特别明确了。于是自己查了下资料,再自己写了个例子:Map map = new HashMap();map.put(1, "a");map.put(2, "b");map.put(3, "c原创 2015-11-09 00:12:03 · 301 阅读 · 0 评论 -
Java任意同类型对象的复制
最近在公司做项目的时候,又用到了BeanUtils.copyProperties()这个方法来复制对象的属性值,以前也没太注意,这次才发现,原来spring和apache都提供了一个这个BeanUtils的工具类,但是apache的这个,在调用时,要求必须捕获异常,而spring则不需要,可以直接使用: A a= new A (); A old = new A(); Bean转载 2015-09-10 14:53:22 · 596 阅读 · 0 评论 -
深入浅出: Java回调机制(异步)
什么是回调?今天傻傻地截了张图问了下,然后被陈大牛回答道“就一个回调…”。此时千万个草泥马飞奔而过(逃哈哈,看着源码,享受着这种回调在代码上的作用,真是美哉。不妨总结总结。一、什么是回调回调,回调。要先有调用,才有调用者和被调用者之间的回调。所以在百度百科中是这样的:软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。回调是一种特殊的调转载 2015-11-12 00:07:31 · 297 阅读 · 0 评论 -
java5 Condition用法--实现线程间的通信
Condition的功能类似在传统线程技术中的Object.wait()和Object.natify()的功能,传统线程技术实现的互斥只能一个线程单独干,不能说这个线程干完了通知另一个线程来干,Condition就是解决这个问题的,实现线程间的通信。比如CPU让小弟做事,小弟说我先歇着并通知大哥,大哥就开始做事。Condition 将 Object 监视器方法(wait、notify 和 no转载 2015-11-11 23:57:11 · 400 阅读 · 0 评论 -
java字符串中多个空格替换成一个空格
目的:字符串中多个空格替换成一个空格public class test {public static void main(String[] args) {String w= "";String str="hello song";Pattern p = Pattern.compile("\\s+");Matcher m = p.matcher(str转载 2015-11-15 18:26:01 · 6770 阅读 · 2 评论 -
newinstance()和new有什么区别
在初始化一个类,生成一个实例的时候,newInstance() 和 new 有什么区别?用newInstance与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么会有两种创建对象方式?这个就要从可伸缩、可扩展,可重用等软件思想上解释了。Java中工厂模式经常使用newInstance来创建对象,因此从为什么要使用工厂模式上也可以找到具体答案。例如:原创 2015-11-22 12:49:19 · 322 阅读 · 0 评论 -
JAVA常用框架和插件
做AOP编程的:AspectJ 、 JBoss AOP做工作流的:jBpm 、 Werkflow、 XFlow、 Zebra 做缓存的:OSCache、 Ehcache(这个好像是hibernate用的)做调度的: Quartz 、 jcrontab 、 Job Scheduler做持久化的: Hibernate、 jdbc 、SimpleORM、IBATIS做字节码操作的:原创 2015-12-10 10:03:15 · 446 阅读 · 0 评论 -
newinstance()和new有什么区别?
转自:http://www.jobui.com/mianshiti/it/java/7148/在初始化一个类,生成一个实例的时候;newInstance() 和 new 有什么区别?用newInstance与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么会有两种创建对象方式?这个就要从可伸缩、可扩展,可重用等软件思想上解释了。Java中工厂转载 2015-11-18 14:08:45 · 313 阅读 · 0 评论 -
Map.containsKey/Map.containsValue方法——判断Map集合对象中是否包含指定的键名
该方法判断Map集合对象中是否包含指定的键名。如果Map集合中包含指定的键名,则返回true,否则返回false。语法 containsKey(Object key) key:是要查询的Map集合的键名对象。典型应用 本示例首先使用HashMap类创建Map集合对象,并向集合中添加几个元素,然后调用containsKey方法查询是否包含指定的键名。运行结果如图1.22所示。转载 2015-11-18 15:15:39 · 14025 阅读 · 0 评论 -
细说 JavaBean
常常写这些东西,但是一直没有自己去总结这些出来.现在有时间,索性回顾以下,记录下来. JAVABEAN技术 JAVABEAN是一种基于JAVA的软件组件; 类似于Microsoft的COM组件的概念! JavaBeans特点:可以实现代码的重复利用;易编写、易维护、易使用;跨平台 JAVABEAN 的模型转载 2015-11-18 22:56:54 · 370 阅读 · 0 评论 -
Java游戏服务器-百万规模实时排行榜实现
有人的地方就有对比,游戏中自然也少不了排行榜。当前项目设计目标是,每个服务器玩家数量为百万左右。每个玩家都有战力、经验等属性,战力最大值在50万以内。现在期望能有战力排行榜,有以下几点需求:全部角色参与排行,能实时知道某个角色的排名排行榜显示前100名玩家详情排名规则是战力越高排名越前,战力相同则比较经验,经验再相同则比较创建时间。排行榜算法并不少见,这篇文章介转载 2015-11-24 15:04:42 · 7288 阅读 · 0 评论 -
【JAVA基础】HashSet、LinkedHashSet、TreeSet使用区别
【JAVA基础】HashSet、LinkedHashSet、TreeSet使用区别HashSet:哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放;LinkedHashSet:以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代; TreeSet:提供一个使用树结构存储Set接口的实现,对象以升序顺序存储,访问和遍历的时间很快。用例原创 2015-12-10 15:44:58 · 359 阅读 · 0 评论 -
StringUtils中 isNotEmpty 和isNotBlank的区别
转自:http://www.zhenhua.org/article.asp?id=625 isNotEmpty将空格也作为参数,isNotBlank则排除空格参数参考 Quote StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为nul转载 2015-11-18 15:13:23 · 295 阅读 · 0 评论 -
Java Map排序+解释
平时不常写,记录下:引用地址:http://gcq04552015.iteye.com/blog/974580Java中对Map(HashMap,TreeMap,Hashtable等)的排序时间 首先简单说一下他们之间的区别: HashMap: 最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条转载 2015-11-18 14:00:03 · 239 阅读 · 0 评论 -
Java Stream(流)、file(文件)和IO
Java.io包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。 Java.io包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。 一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。 Java为I/O提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。 但本节讲述最基本的和流与I/O相关的功转载 2015-12-10 16:45:24 · 331 阅读 · 0 评论 -
Java - 位运算
原码:将最高位作为符号位(以0代表正、1代表负),其余的各位代表本身的绝对值(以二进制表示)。+7 原码为:00000111-7 原码为:10000111反码:一个数为正,则它的反码与原码相同;一个数为负,则符号位为1,其余各位是原码取反。(0->1,1->0)+7 反码为:00000111-7 反码为:11111000补码:一个数若为负,则其补码为其反码+1;原创 2015-12-12 11:44:59 · 277 阅读 · 0 评论 -
Map线程安全几种实现方法
如果需要使 Map 线程安全,大致有这么四种方法: 1、使用 synchronized 关键字,代码如下synchronized(anObject) { value = map.get(key);} 2、使用 JDK1.5提供的锁(java.util.concurrent.locks.Lock)。代码如下lock.lock(); value = map.转载 2015-11-26 13:17:07 · 506 阅读 · 0 评论 -
【Java】编码转换:UTF-8转GB2312
【Java】编码转换:UTF-8转GB2312String gStr= new String(uStr.getBytes("UTF-8"), "GB2312");//uStr:待转换的utf-8编码的字符串//gStr:转换后的gb2312字符串原创 2015-11-26 22:55:12 · 10359 阅读 · 0 评论 -
java中的volatile的用法
我们知道,在Java中设置变量值的操作,除了long和double类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。这在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。在当前的Java内存模型下,线程可以把变量保存在本地内转载 2015-12-29 11:17:49 · 195 阅读 · 0 评论 -
Spring+Websocket集群实现广告消息的推送
实现每天15点给所有在线用户推送一个广告(图片或文字)或是推送一个通知之类的, 相关环境 Nginx,Spring4.2.1当前(要选择4.0+),tomcat8.x,Quartz 2.2.1集群 2014-10-31解决了集群模式下的 bug ,有兴趣的朋友可以测试一下刷新 http://sms.reyo.cn/socket.html 可以看到访问不同的服务器转载 2015-12-16 11:24:17 · 2287 阅读 · 0 评论 -
Java Netty简介
Netty和Mina是Java世界非常知名的通讯框架。它们都出自同一个作者,Mina诞生略早,属于Apache基金会,而Netty开始在Jboss名下,后来出来自立门户netty.io(http://netty.io/)。Netty是一个基于JAVA NIO类库的异步通信框架,它的架构特点是:异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性。 NIONetty 是转载 2015-12-17 14:42:18 · 572 阅读 · 0 评论 -
ArrayUtils用法
/* 1. ArrayUtils.isEmpty(strs) : 判断数组是否为空 , 不为空返回false,为空true */ ArrayUtils.isEmpty(new String[]{"21","是"});//结果是false ArrayUtils.isEmpty(new String[]{""});//结果是false ArrayUtils.isEmpt原创 2016-01-19 14:29:09 · 441 阅读 · 0 评论 -
Root WebApplicationContext: initialization completed in 1039648 ms
[INFO] Scanning for projects...[WARNING] [WARNING] Some problems were encountered while building the effective model for com.redmanor.common2c:common2c-web-admin:war:0.1.0-SNAPSHOT[WARNING] 'dep原创 2016-01-19 17:00:48 · 20566 阅读 · 4 评论 -
Java反射机制
目录(?)[-]Java反射简介Class对象类1类名2修饰符3包信息4父类5实现的接口6构造函数7方法8字段9注解构造函数1获取Constructor对象2构造函数参数3使用Constructor对象实例化对象字段1获取Field 对象2字段名称3字段类型4获取和设置字段值方法1获取Method对象2方法的参数和返回值类型3使用Method对象原创 2016-01-23 23:33:52 · 303 阅读 · 0 评论 -
SSH框架整合开发详解(个人笔记)
一.创建数据库并设置编码。A) create database oa default character set utf8。二.MyEclipse工程A) 在Myeclipse里创建web工程,并设置编码为utf8.B) 添加框架环境1.添加Junit4 library(Myeclipse自带)2.添加Struts2环境①所需Jar包原创 2016-01-07 15:36:36 · 490 阅读 · 0 评论 -
基本类型与引用类型区别
基本类型值指的是那些保存在栈内存中的简单数据段,即这种值完全保存在内存中的一个位置。而引用类型值则是指那些保存在堆内存中的对象,意思是变量中保存的实际上只是一个指针,这个指针指向内存中的另一个位置,该位置保存对象。 在将一个值赋给变量时,解析器必须确定这个值是基本类型值,还是引用类型值。(Undefined、Null、Boolean、Number、String)原创 2016-01-08 10:01:29 · 346 阅读 · 0 评论 -
给明年依然年轻的我们:欲望、外界、标签、天才、时间、人生目标、现实、后悔、和经历
今天是22岁的最后一天。几个月前,我从沃顿商学院毕业,用文凭上“最高荣誉毕业”的标签安抚了已经年过半百的老妈,然后转头辞去了毕业后的第一份工作,跟一家很受尊敬的公司、还有150万的年薪道了别,回到了上海,加入了“刚毕业就失业”俱乐部,开始了一天三顿盒饭的新生活,开始创建一个叫做连客的小东西(www.dennythecow.com)。中间许多精彩剧情暂时略过。我肯定不是第一个做过这样事的转载 2016-01-09 17:47:51 · 436 阅读 · 0 评论 -
优秀求职者应主动问的5个问题
摘要:有经验的面试官觉得简单地问求职者一些问题是很浪费时间的,所以他们希望求职者能问自己一些问题。求职者要怎样问,才能显示出自己的水平呢?一起到文中看下吧。许多有经验的面试官觉得问面试者一些问题是很浪费时间的,所以面试官总会在面试最后问“你有什么问题需要问我吗?”一般的求职者并不会太关注面试官会怎样回答自己的问题,他们更多的只是想让自己问出的问题比较原创 2016-01-09 17:49:46 · 531 阅读 · 0 评论 -
BigDecimal如何比较大小
BigDecimal比较大小 这个类是java里精确计算的类,下面说一下两个BigDecimal对象大小,相等的判断 1 比较对象是否相等 一般的对象用equals,但是BigDecimal比较特殊,举个例子: BigDecimal a=BigDecimal.valueOf(1.0); BigDecimal b=BigDecimal.valueO原创 2016-01-26 21:16:05 · 834 阅读 · 0 评论 -
NumberUtils、ArrayUtils和RandomUtils工具类用法
一、NumberUtils工具类/*1.NumberUtils.isNumber():判断字符串是否是数字*/NumberUtils.isNumber("5.96");//结果是trueNumberUtils.isNumber("s5");//结果是falseNumberUtils.isNumber("0000000000596");//结果是true/*2.NumberU原创 2015-12-27 01:23:49 · 303 阅读 · 0 评论 -
junit4 的使用 顺便理解ClassPathXmlApplicationContext的使用
工作中,需要给同事在dao层写个方法,写完后,只能用junit测试,如是学习了junit4的使用。先用eclipse引入junit4相关包,然后写个类如下,就行了。public class Testextends TestCase{ private IDiscountDao discountDao;转载 2016-01-13 22:15:30 · 1034 阅读 · 0 评论 -
常用Java注释标签
1 常用Java注释标签(Java comment tags)@author 作者适用范围:文件、类、方法(*多个作者使用多个@author标签标识,java doc中显示按输入时间顺序罗列。)例:* @author Leo. Yao@param 输入参数的名称 说明 适用范围:方法例:* @param str the String用来存放输出信息。@re转载 2016-01-28 17:21:37 · 745 阅读 · 0 评论 -
java 泛型 E/T/K/V/N 代表的意义
java 泛型 E/T/K/V/N 代表的意义* E - Element (在集合中使用,因为集合中存放的是元素)* K - Key(键)* N - Number(数值类型)* T - Type(Java 类)* V - Value(值)转载 2016-01-28 18:59:54 · 772 阅读 · 0 评论