JavaSE
java85140031
喜欢java软件开发,愿意结识天下所有的java爱好者.
展开
-
HashSet /LinkedHashSet/TreeSet排序的不同
HashSet set1 = new HashSet(Arrays.asList("b c e f g a".split(" "))); LinkedHashSet set2 = new LinkedHashSet(Arrays.asList("b c e f转载 2011-07-28 09:47:42 · 2072 阅读 · 0 评论 -
直角坐标系的旋转公式
X'=x*cos(n)+y*sin(n)Y'=-x*sin(n)+y*cos(n)X' , Y' , X , Y , n ,各代表什么n是旋转的角度。将原坐标系旋转角度n后,形成新的坐标系。X'和Y'为新坐标系下点的坐标。而x和y为该点在原来坐标系下的坐标。原创 2014-08-13 23:45:42 · 4681 阅读 · 0 评论 -
Java实现图片内容无损任意角度旋转
主要问题是如何在图片做旋转后计算出新图片的长宽。在java 2d和基本math库的帮助下,其实利用简单的计算就可以知道。以下算法只是计算出旋转小于90度时的公式。当旋转大于90时,可以先把问题域换算到锐角的情况,再进行计算即可。如下图所示,需要计算出来的是len_delta的长度,就是有双竖线的位置,它是新图片要增加的宽。(要增加的高度同理可得。)其实只转载 2014-08-14 23:46:33 · 1878 阅读 · 0 评论 -
ClassLoader使用注意!
对于自己的劳动成功最好的保护方法就是为其加密,而自己写的大量类文件也不例外. 本人在core java一书阅读过程中发现书作者在对类文件解密时是复写的ClassLoader类的findClass方法,而事实上该方法被调用的条件非常苛刻: protected synchronized Class loadClass(String name, boolean resolve) throw转载 2014-08-13 23:39:12 · 434 阅读 · 0 评论 -
Java时间和日期类型的Hibernate映射类型
Java时间和日期类型的Hibernate映射类型在Java中,代表时间和日期的类型包括:java.uitl.Date和java.util.Calendar。此外,在JDBC API中还提供了3个扩展了java.uitl.Date类的子类:java.sql.Date、java.sql.Time和java.sql.Timestamp,这3个类分别和标准SQL类型中的DATE、TIME和TIM转载 2014-09-16 21:36:09 · 4669 阅读 · 0 评论 -
java.util.Date和java.sql.Date的区别和相互转化
java.util.Date是在除了SQL语句的情况下面使用的。java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分它们都有getTime方法返回毫秒数,自然就可以直接构建。 java.util.Date 是 java.sql.Date 的父类,前者是常用的表示时间的类,我们通常格式化或者得到当前时间都是用他,后者之后在读写数据库的时候用他,因为PreparedSt转载 2014-09-23 23:28:56 · 581 阅读 · 0 评论 -
BASE64Decoder小解
Base64 是网络上最常见的用于传输8Bit 字节代码的编码方式之一,大家可以查看RFC2045 ~RFC2049,上面有MIME 的详细规范。Base64 要求把每三个8Bit 的字节转换为四个6Bit 的字节(3*8 = 4*6 = 24 ),然后把6Bit 再添两位高位0 ,组成四个8Bit 的字节,也就是说,转换后的字符串理论上将要比原来的长1/3 。这样说会不会太抽象了转载 2014-09-15 22:21:45 · 462 阅读 · 0 评论 -
JAVA本地方法 native method
一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。 "A native m转载 2014-10-06 09:49:56 · 549 阅读 · 0 评论 -
ConcurrentHashMap之实现细节
ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。在这之前我对ConcurrentHashMap只有一些肤浅的理解,仅知道它采用了多个锁,大概也足够了。但是在经过一次惨痛的面试经历之后,我觉得必须深入研究它的实现。面试中被问到读是否要加锁,因为读写会发生冲突,我说必须要加锁,我和面试官也因此发生了冲突,结果可想而知。还是闲话少说,通过仔细阅读源代码转载 2014-10-06 14:22:21 · 512 阅读 · 0 评论 -
JAVA JIT 性能优化
此问题起源于在一次性能测试过程中,为了模拟有大量超时的情况,使用eclipse debug住服务器代码,然后使用jmeter 脚本施加压力。在这个过程当中,发现了一个很有趣的现象,就是性能测试计划执行十分钟,前三分钟左右时确实返回的是超时,平均响应时间在500ms以上,但是突然一下子就降到了8 ms,并且接下来的七分钟都是这个样子的。对这种现象感觉得奇怪,然后就去问了下大牛,解释说是Java JI转载 2014-10-07 20:14:47 · 792 阅读 · 0 评论 -
LinkedHashMap和HashMap的比较使用
昨天做一道题,用hashmap总是时间超时,后来看了看别人的分享,发现将HashMap换成LinkedHashMap就可以同时拥有Linkedlist 和HashMap的好处了,同时节省了自己处理的时间。不错的数据结构!下面是在网上找到的有关LinkedHashMap和HashMap的比较的说明,记录在此,加深记忆!import java转载 2014-09-29 16:23:42 · 506 阅读 · 0 评论 -
Eclipse导出jar和源码并保证无中文乱码
1: 在导出jar的时候, 供别人或别的项目使用的时候可以选择原创 2014-10-29 18:17:05 · 4340 阅读 · 1 评论 -
关于java递归调用内存泄露
看两段代码:import java.util.ArrayList; import java.util.List; public class TailRecursionTest { public static void main(String[] args) { TailRecursionTest t = new TailRec转载 2014-10-11 18:01:30 · 2331 阅读 · 1 评论 -
主题:Java相对路径/绝对路径总结
1.基本概念的理解绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表转载 2014-10-29 16:42:14 · 456 阅读 · 0 评论 -
Java泛型-类型擦除
一、概述 Java泛型在使用过程有诸多的问题,如不存在List.class, List不能赋值给List(不可协变),奇怪的ClassCastException等。 正确的使用Java泛型需要深入的了解Java的一些概念,如协变,桥接方法,以及这篇笔记记录的类型擦除。Java泛型的处理几乎都在编译器中进行,编译器生成的bytecode是不包涵泛型信息的,泛型类型信息将在编译处理是被擦转载 2014-11-27 14:48:22 · 479 阅读 · 0 评论 -
Java泛型与类型擦除--ImportNew
本文由 ImportNew - 伍翀 翻译自 On Java Generics and Erasure。欢迎加入翻译小组。转载请参见文章末尾的要求。“编译器会进行泛型擦除”是一个常识了(好吧,实际擦除的是参数和自变量的类型)。这个过程由“类型擦除”实现。但是并非像许多开发者认为的那样,在 符号内的东西都被擦除了。看下面这段代码:12转载 2014-11-27 14:58:04 · 212 阅读 · 0 评论 -
一个Socket连接管理器(心跳机制)
为了方便开发人员使用,我在闲暇之余写了一个简单的Socket连接管理的处理程序,程序简单仅供参考!其他更多精彩,请你访问我的博客:http://cuisuqiang.iteye.com/ 处理机说明:读取配置文件,根据配置文件信息保持一个连接配置变量集合。根据连接变量集合初始化相应的连接。启动一个线程,处理检查连接的有效性,处理方法是发送心跳包,如发转载 2014-11-08 00:09:04 · 937 阅读 · 0 评论 -
CXF动态客户端调用webservice实例 遇到的问题
使用CXF实现WebService,并在客户端实现动态调用编写服务器注意事项注意 :不要指定@SOAPBinding(style=Style.RPC, use=Use.LITERAL) 因为cxf 不支持:rpc、encoded,在动态客户调用过程。cxf webservice开发资料,网上一搜大部分是类同的,跟官方的例子一样。都是简单的静态调用例子。对动态调用的资料以转载 2014-12-09 16:43:47 · 22087 阅读 · 0 评论 -
替换Java字符串中的“& lt;”为“<”
Java中的String类型会将 “String strXml = “< nodes> … </nodes>”; //正确的形式是” … ”strXml = strXml.replace(“<”, ‘//注意不要写成strXml = strXml.replace(“<”, “原创 2014-08-21 23:29:31 · 24061 阅读 · 1 评论 -
dom4j怎么获得指定名称的节点信息
例如: XML信息如下xml version="1.0" encoding="utf-8" ?> MgUtil> db_config> db_driver>oracle.jdbc.driver.OracleDriverdb_driver> db_url>dbc:oracle:thin:@172.16.1.101:152原创 2014-08-22 18:16:19 · 17613 阅读 · 0 评论 -
使用axis轻松调用Webservice
使用axis1.4调用webservice有两种简单的方式:1、直接使用axis提供的API调用,适用于webservice接口的参数和返回值都是String的情况。Java代码 try { Call call = (Call)new Service().createCall(); call.setTargetEndpointAdd转载 2014-08-18 15:42:29 · 4357 阅读 · 0 评论 -
ArrayList和LinkedList
对于处理一列数据项,Java提供了两个类ArrayList和LinkedList,ArrayList的内部实现是基于内部数组Object[],所以从概念上讲,它更像数组,但LinkedList的内部实现是基于一组连接的记录,所以,它更像一个链表结构,所以,它们在性能上有很大的差别转载 2011-07-28 10:15:22 · 418 阅读 · 0 评论 -
javap的使用
javap简介原文网址 http://www.javaresearch.org/article/768.htm . 也许我们很少会使用到javap工具,因为现在有很多好的反编译工具,但是我在此介绍这个工具不是使用它进行反编译,而是查看java编译器为我们生成的字节码,通过转载 2011-08-01 23:20:24 · 385 阅读 · 0 评论 -
HashMap遍历的两种方式
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry =转载 2011-08-01 21:19:18 · 377 阅读 · 0 评论 -
堆和栈的区别(转过无数次的文章)
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) —转载 2011-08-04 22:47:59 · 380 阅读 · 0 评论 -
JAVA的StringBuffer类
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。 所以在实际使用时,如果经常原创 2011-09-20 17:29:59 · 442 阅读 · 0 评论 -
Java中对HashMap的深度分析
HashMap可谓JDK的一大实用工具,把各个Object映射起来,实现了“键--值”对应的快速存取。但实际里面做了些什么呢在Java的世界里,无论类还是各种数据,其结构的处理是整个程序的逻辑以及性能的关键。由于本人接触了一个有关性能与逻辑同时并存的问题,于是就开始研究这方面的问题。找遍了大大小小的论坛,也把《Java 虚拟机规范》,《apress,.java.collections.(200转载 2011-11-07 08:52:13 · 345 阅读 · 0 评论 -
Java反射机制详解
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能: 1、在运行时判断任意一个对象所属的类;2、在运行时构造任意一个类的对象;3、在运行时判断任意一个类所具有的成员变量和方法;4、在运行时调用任意一个对象的方法转载 2011-11-07 08:55:25 · 718 阅读 · 0 评论 -
利用JAVA反射机制实现调用私有方法
这两天研究如何利用程序挂断电话。发现在Android1.0的时候Phone中提供了提供了endCall方法,而1.5以后这个方法被设置为私有了。如此有了如下研究: /** * 利用JAVA反射机制调用ITelephony的endCall()结束通话。 */ private void endCall() { // 初始化iTelephony Class c = T转载 2011-11-07 08:57:06 · 4718 阅读 · 0 评论 -
下载jdk历史版本的方法,jdk1.5.0_12验证通过 .
下载jdk历史版本的方法,jdk1.5.0_12验证通过 也许大家都遇到过这个问题,公司用的JDK版本并不是最新的,比如我们用的就是jdk1.5.0_12.虽然只要是1.5的JDK就基本不出问题,但一样的版本,还是最安全的。 Sun官方, 已经没有下载这些版本的链接了, 起码我找不到, 我在下载jdk1.5.0_20的转载 2011-11-28 10:34:25 · 1364 阅读 · 0 评论 -
javadoc生成文档时总是报java.lang.IllegalArgumentException错
javadoc生成文档时总是报java.lang.IllegalArgumentException错误,是classpath里面字符冲突引起的。我在classpath中包含了%JAVA_HOME%\lib;解决方法是重新设置classpath或者删除classpath.要注意设置完成后重启下cmd或者editplus,重启后生效! 见官方参考文档 http://maven.apache.o原创 2011-12-28 10:30:24 · 3718 阅读 · 2 评论 -
Access restriction: The type SwingUtilities2 is not accessible due to restricti
报错:Access restriction: The type SwingUtilities2 is not accessible due to restriction on required library C:\Java\jre1.6.0_07\lib\rt.jar 解决:Eclipse 默认把这些受访问限制的API设成了ERROR。只要把Windows-Prefe原创 2013-01-21 10:05:44 · 952 阅读 · 0 评论 -
java获取当前日期的前一天日期与字符串日期之间的转换
这几天一直在处理Java的日期问题,通常需要按要求生成日期的话,通常会用到util包中的Calendar类,再用Calendar的getTime()方法生成对应的Date,最后用SimpleDateFormat输出。 1.获取当期日期、年份、月份import java.util.Calendar;public class Main { public static vo原创 2014-01-09 17:05:28 · 1837 阅读 · 0 评论 -
Java 中 HashMap 的工作机制
现在很多的Java程序员都会把HashMap当作一个热门话题,今天我也来说一说Hashmap。我假设你对HashMap感兴趣,另外我认为你已经了解了HashMap的基础,这里我就不再赘述HashMap是个什么东东,如果对于你来讲HashMap还是一个新概念的话,你可以去看看官方的javadoc.在继续看下去之前,我推荐你看一看我前面的一篇文章: Java 中正确使用 has转载 2014-01-16 10:37:03 · 480 阅读 · 0 评论 -
打成jar包 在命令行下执行java工程
将java工程打成jar包,但第三方jar包并没有包含在包中,当在命令行中运行jar包时,出现类找不到的异常,在网上看到解决办法是将第三方jar包放到JDK的扩展类文件夹中(%JAVA_HOME%/jre/lib/ext),再运行,还是出现同样的错误,我的java工程要调用webservice,webservice工程中也用到了相同的jar包,在启动服务器的时候,不能正确部转载 2014-04-29 23:34:54 · 820 阅读 · 1 评论 -
JAVA File的创建及相对路径绝对路径
File f = newFile("D:/test/mytest.txt");//当执行这句话后在内存的栈空间存在一个f的应用,在堆空间里存在一个mytest.txt对象。注意这个对象只含有文件的属性(如大小,是否可读,修改时间等),不包含文件的内容,所以length=0。当我们想执行对文件的操作的时候,这个时候抽象路径起作用了,比如我们想执行f.createNewFile()命令时,虚拟转载 2014-04-24 11:22:00 · 1561 阅读 · 2 评论 -
JAXB解析xml文件转换为POJO
Marshal 和 UnMarshal的过程并不复杂,只需要从JAXBContext中获得Marshaller或Unmarshaller对象,就可以让JAXB帮我们 来进行转换。1.将 xml 文件中的各个节点和属性信息创建对应的Java模型2.在Java模型中的创建与 xml 文件对应的节点和属性需要用注解来表示@XmlRootElement 将一个Java类映射为一段XML转载 2014-06-16 17:38:12 · 658 阅读 · 0 评论 -
Java回调函数的理解
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个转载 2015-05-06 16:49:03 · 465 阅读 · 0 评论