2016-08-23 craneyuan
在jdk1.7之前,java中没有直接的类提供文件复制功能。下面就文件复制,提出几种方案。 jdk1.7中的文件复制 在jdk1.7版本中可以直接使用Files.copy(File srcFile, File destFile)方法即可。 private static void copyFileUsingJava7Files(File source, File dest) throws IOException { Files.copy(source.toPath(), dest.toPath()); } 使用FileInputStream复制 more /** * * @Title: copyFileUs 继续阅读 »
2016-11-01 demon7452
Java面试题收集整理 来源:骆昊 链接: blog.csdn.net/jackfrued/article/details/44921941 1、面向对象的特征有哪些方面 面向对象的特征主要有以下几个方面: 继续阅读 »
2016-03-04 demon7452
Java面试总结-线程 1、创建一个线程 创建线程主要分为两个方法 implements Runnable接口并实现run()方法,然后由Runnable对象创建一个Thread对象,调用Tread的start()方法启动线程。 extends Thread 构建一个Thread类的子类,复写run()方法。该方法目前已不再推荐,应该从运行机制上减少需要并行运行的任务数量。 警告:不要调用Thread类或Runnable对象的run方法。直接调用run方法,只会执行同一个线程中的任务,而不会启动新线程??。应该调用Tread.start方法,这个方法将创建一个执行run方法的新线程。 ``` /** * 创建线程的两种方式 继续阅读 »
2016-03-15 demon7452
Java面试题总结(其一) 1、sleep和wait方法的区别 这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。 wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在 任何地方使用 synchronized(x){ x.notify() //或者wait() } sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常 继续阅读 »
2015-09-11 biezhi
```java public class ProgressBar { private double finishPoint; private double barLength; public ProgressBar(){ this.finishPoint = 100; this.barLength = 20; } public ProgressBar(double finishPoint, int barLength){ this.finishPoint = finishPoint; this.barLength = barLength; } /** * 显示进度条 * @p 继续阅读 »
2016-03-31 Piasy
去年的一篇文章{:target="_blank"}总结了一下深浅拷贝,Immutable 和 unmodifiable 这三个概念,今天再看看 Java 的深浅拷贝。 继续阅读 »
2016-02-26 Eric Wang
前奏 因为NIO并不容易掌握,所以这注定会是一篇长文,而且即便篇幅很大,亦难以把很多细节解释清楚,只能侧重于从整体上进行把握,并实现一个简单的客户端服务端消息通信框架作为例子,以便有需要的开发人员参考之。借用淘宝伯岩给出的忠告就是 - 尽量不要尝试实现自己的NIO框架,除非有经验丰富的工程师 - 尽量使用经过广泛实践的开源NIO框架Mina/Netty/xSocket - 尽量使用最新版稳定版JDK - 遇到问题的时候,可以先看下Java的Bug Database Asynchronous I/O是在JDK7中提出的异步非阻塞I/O,习惯上称之为NIO2,也叫AIO,AIO是对JDK1.4中提出的同步非阻塞I/O的进一步增强,主 继续阅读 »
2013-12-30 blademainer
先来看一个例子,代码如下: java public class Test { public static void main(String[] args) { String str = "abc"; String str1 = "abc"; String str2 = new String("abc"); System.out.println(str == str1); System.out.println(str1 == "abc"); System.out.println(str2 == "abc 继续阅读 »
2015-11-05 Brian Li
在项目中使用的还是java1.7比较多,1.8平时业余项目用用,学习下,毕竟新版本始终会代替旧版本的.在mac上推荐使用jenv工具来管理多java版本, 能够随意切换. 官方网站http://www.jenv.be/{:target="_blank"},还有个是http://jenv.io/{:target="_blank"} 国人开发的算是升级版本把,能够通过该工具安装java,ant,maven,tomact.对于我来说,使用jenv足够了. 继续阅读 »
2015-09-10 veryyoung
日志记录在程序开发中是很重要的一个环节,日志在开发、调试、问题定位、问题分析中都起着很重要的作用。 Java生态圈提供了很多日志工具供开发者选择。 more 先明确下另个概念: 日志系统:日志系统是日志的具体实现。Java日志系统比较丰富,常用的有Log4j、java.util.Logging、Logback。 日志框架:为了解决多个日志系统的兼容问题,日志框架应运而生。主流的日志框架有commons-logging和SLF4J。 继续阅读 »