阳光男孩

Never give up!

Java、Android开源项目大盘点

0顶一下一 Java相关 1.Xmemcached,还算是比较多人使用的一个java memcached client,优点是效率和易用性,缺点是代码写的不怎么样,两年前发展到现在的东西,以后还会继续维护。 2.HS4J,看handlersocket的时候顺手写的客户端,我们公司内部某些项目在用,可能还有其他公司外的朋友在用,后来同事聚石贡献了一个扩展项目hs4j-kit,更易于使用,他写的代码很优雅漂亮,推荐一看。暂时没有精力维护...[阅读全文]

Java内存溢出的详细解决方案

0顶一下一、内存溢出类型 1、java.lang.OutOfMemoryError: PermGen space JVM管理两种类型的内存,堆和非堆。堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的。它和堆不同,运行期内GC不会释放空间。如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小,超出了也会导致这块内存的占用过多造成溢出,或者tomcat热...[阅读全文]

Java程序员使用Grails的十大优势

0顶一下Web开发方面没有王者,PHP市场很大,但RoR,Python,Java,及至Asp.net都占据着一方市场.那么作为Java程序员,当你不想使用SSH做网站的时候,尝试一下Grails吧,这里是Java程序员使用Grails的十大优势 1.易于学习 这里并不是说Grails不易于PHP或者Python程序员学习,Grails和Groovy都很容易学习,也容易使用,但对于Java程序员来说则有很大不同,因为它更易于学习与使用.你可以同时使用Java语法和Groo...[阅读全文]

Java中的流详细介绍

2顶一下这里通过节点流和处理流总结一下流的具体用法。 节点流的分类: 节点流分别对File(文件),Array(内存中的一个数组),String(字符串),Pipe(管道)进行处理。 处理流的分类: 常用的处理流有:缓冲流,转换流,数据流,对象流,打印流。 缓冲流:要套接在相应的字节流之上,对读写的数据提供了缓冲功能,提高了读写的效率,同时也增加了一些更方便方法。 缓冲流的作用就像一个桶,原...[阅读全文]

Java程序编写中使用浮点数和小数的技巧与陷阱

2顶一下虽然几乎每种处理器和编程语言都支持浮点运算,但大多数程序员很少注意它。这容易理解 ― 我们中大多数很少需要使用非整数类型。除了科学计算和偶尔的计时测试或基准测试程序,其它情况下几乎都用不着它。同样,大多数开发人员也容易忽略 java.math.BigDecimal 所提供的任意精度的小数 ― 大多数应用程序不使用它们。然而,在以整数为主的程序中有时确实会出人意料地需要表示非整型数据。...[阅读全文]

Java编程中线程池的最大风险规避

2顶一下虽然线程池能大大提高服务器的并发性能,但使用它也会存在一定风险。与所有多线程应用程序一样,用线程池构建的应用程序容易产生各种并发问题,如对共享资源的竞争和死锁。此外,如果线程池本身的实现不健壮,或者没有合理地使用线程池,还容易导致与线程池有关的死锁、系统资源不足和线程泄漏等问题。 1.死锁   任何多线程应用程序都有死锁风险。造成死锁的最简单的情形是,线程A持有对...[阅读全文]

改善Java遗留系统的8个技巧

2顶一下技巧1:使用分析器 分析器提供了任何其他工具无法提供的功能,从而能够深入检查你的应用。如果你的应用已经有一年多时间没有被分析过了,那么它肯定会有大块大块的低效代码,潜伏在某个黑暗的角落。市面上有许多不同的或免费或商业的分析器。对于CPU分析,我最喜欢的是JProfiler,因为它足够强大能分析出大多数问题,同时易于设置,尤其当你使用它内建的设置向导的时候。而诊断内存问题时...[阅读全文]

如何利用JNI实现Java插件开发

1顶一下本文主要工作在于利用JNI实现对已经完成的视频镜头提取C++程序的调用。 整个过程如下所示: 1)将视频特征提取算法建立相应的windows下的Dll和Linux下的So(这个两个文件大家都知是什么了吧) 2)利用jni调用这些dll。但是有一个问题,就是这里的所有库文件需要打到jar包中,因此需要将这些文件先解压到一个临时文件夹中,然后通过Syste.load加载这些库文件。 下面贴上程序: VideoUtil.j...[阅读全文]

JDK中的23个经典设计模式的示例

1顶一下Structural(结构模式) Adapter: 把一个接口或是类变成另外一种。 • java.util.Arrays#asList() • javax.swing.JTable(TableModel) • java.io.InputStreamReader(InputStream) • java.io.OutputStreamWriter(OutputStream) • javax.xml.bind.annotation.adapters.XmlAdapter#marshal() • javax.xml.bind.annotation.adapters.XmlAdapter#unmarshal() Bridge: 把抽象和实现解...[阅读全文]

Java开发的六大陋习 Javaer们要以此为戒

1顶一下   你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1.OutputStreamWriter out = … 2.java.sql.Connection conn = … 3.try { // ⑸ 4.    Statement stat = conn.createStatement(); 5.    ResultSet rs = stat.executeQuery( 6.        ”select uid, name from user”); 7....[阅读全文]