
J2SE
上善若水_厚德载物
这个作者很懒,什么都没留下…
展开
-
一家公司的几道笔试题
public class Jtest{int m=1;int i=3;void Jtest(){m=2;i=4;}public static void main(String[] args){Jtest app=new Jtest();System.out.println(app.m+","+app.i);}}写出输出.结果是1,3;原创 2012-12-29 00:04:50 · 14061 阅读 · 0 评论 -
有用但多疑的十大Java编程技术
在编码过一段时间后(哎呀,拿我来说,已经20多年了,当你乐享其中时,时间过得飞快),有人已经开始拥抱他们的习惯了。 因为,你知道…“会出错的事情总会出错”– 墨菲定律这就是人们拥抱“自卫编程”,也就是多疑的习惯,有时有道理,有时更模糊。可能有一点奇怪当你想到一个人写这个的时候。 下面是我总结的10大有用但多疑的Java编程技术。开始吧:1.优先放置字符常量把String变量放在equals()方翻译 2015-09-09 15:02:28 · 547 阅读 · 0 评论 -
Java SE 8 新特性之旅 : Java开发世界的大变动
我很自豪的成为了adopt-OpenJDK的一员,像其他专业团队成员一样,但是我只刚加入了8个月,我们一同经历了Java SE 8 的开发、编译、编码、讨论……等等,直到JDK上线。Java SE 8发布于2014年3月18日,现在可供下载使用。 我很高兴发布这一系列“Java SE 8 新特性之旅”,我会写一些例子来简化Java SE 8知识的获取、开发经验、新特性和API,然后 利用翻译 2015-08-04 15:54:14 · 2306 阅读 · 0 评论 -
怎样从finally代码块里访问一个方法的结果值
虽然JVM是一种基于栈的引擎,但Java语言没有真正提供访问栈的方式。即使在某些很少的情况下,这样做很有用。一个例子方法的result值放在了栈里面。如果你看下面的例子:public int method() { if (something) return 1; ... if (somethingElse) return 2; ...翻译 2015-05-25 17:02:27 · 814 阅读 · 0 评论 -
构造方法必须无代码
在一个构造方法里应该完成多少工作?在构造方法里进行一些运算然后封装结果似乎有些道理。那样的话,当对象方法需要结果时,我们已经准备好了。听起来像是一个好方法。不,不是。这是一个坏主意的原因之一是:它阻止了对象组合并且让它们无法扩展。 现在我们做一个展现一个人名字的接口:interface Name { String first();}相当简单,对吧?现在,我们试着实现它:public翻译 2015-05-26 14:29:37 · 678 阅读 · 0 评论 -
Lambdas异常:一个有点混乱的优雅解决方案
考虑下面写文件的函数: 这个方法背后的想法是允许用户传入InputStream的不同实现方法。所以writeToFile能被GZIPOuputStream, SnappyOuputStream(快速压缩)或者只是一个普通的FileInputStream调用。private static void writeToFile(File file, String value,翻译 2015-05-19 17:10:49 · 583 阅读 · 0 评论 -
我们打赌:这个注解很快就会出现在JDK里面
最近由雅和提出的堆栈溢出问题引起了我兴趣:怎么确保Java 8 编译时,一个方法签名实现了函数式接口。这个是一个好问题。我们假设下面的定义:@FunctionalInterfaceinterface LongHasher { int hash(long x);}这个类型强加了一个清晰的约定。实现类必须提供一个单独的hash方法 ,传一个长整型参数,返回一个整型值。当使用lambdas或方翻译 2015-06-03 14:30:31 · 776 阅读 · 0 评论 -
Java 8新特性终极指南
编者注:Java 8已经公布有一段时间了,种种迹象表明Java 8是一个有重大改变的发行版。在Java Code Geeks上已经有大量的关于Java 8 的教程了,像玩转Java 8——lambda与并发,Java 8 Date Time API 教程: LocalDateTime和在Java 8中抽象类与接口的比较。我们也在其他地方引用了15个必读的Java 8教程转载 2015-05-18 15:55:51 · 1076 阅读 · 0 评论 -
GC微调实践
垃圾回收微调与其它的性能微调活动没有什么区别。 不屈服于对应用程序的随机部分进行调整,你需要确保你理解当前的情况和期望的结果。通常按照以下过程来处理容易些。 1.声明你的必须目标 2.运行测试 3.测量 4.和目标进行比较 5.改变并回归测试设定与性能微调相关的目标和可测量的三维是很重要的。这些目标包括延迟,吞吐量和容量,为了更好的理解我推荐大家看一下 垃圾回收手册 中对应的章节。我们看翻译 2015-06-16 17:14:53 · 647 阅读 · 0 评论 -
欺骗异常 – Java 8 Lambdas
抛开检查异常和运行时异常的宗教争论,有很多次那些处理检查异常的例子的可怜构造类库就能让你发疯。考虑下面你可能想要写的一小段代码:```public void createTempFileForKey(String key) { Map<String, File> tempFiles = new ConcurrentHashMap<>(); //不编译,因为抛出了IOException翻译 2015-05-21 15:06:13 · 3292 阅读 · 0 评论 -
Java 8 : 函数式接口例子
Java 8为了支持lambda 表达式而引入了函数式接口。只有一个抽象方法的接口就能被当作函数式接口调用。Runnable,Comparator,Coneable 都是一些函数式接口的例子。我们能Lambda表达式来实现这些函数式接口。例如:翻译 2015-05-20 15:11:16 · 1074 阅读 · 0 评论 -
调试信息清除小工具的编写
用于清除项目中的调试语句. 源代码可执行文件原创 2013-01-30 11:46:58 · 12423 阅读 · 1 评论 -
Java身份证阅读器(HX-FDX3S HX-FDX5)
Java用身份证阅读器读取身份证的基本信息,阅读器型号为华旭(HX-FDX3S HX-FDX5)。 产品自带了几个Demo,唯独没有Java的。用Java写了个Demo.基本思路,用JNA调取原生sdtapi.dll进行操作。封装DLL的操作类package com.ic;import com.sun.jna.Library;import com.sun.jna.Nati...原创 2018-10-31 16:41:38 · 5489 阅读 · 22 评论