您的位置:首页 > 编程语言 > Java开发

Java相关文章索引(10)

2017-06-29 10:10 260 查看

环境部署

eclipse搜索类

ctr+shift+t搜索所有的类

基本常识

java 内部类(inner class)详解

Java魔法堂:注解用法详解—-@SuppressWarnings

作用:用于抑制编译器产生警告信息。

一张图让你看清Java集合类(Java集合类的总结)

设计模式

单例模式

设计模式——单例模式

设计模式–单例模式(一)懒汉式和饿汉式

组合模式

[Java] 组合与继承的区别

所以总结来说,is-a (是一个)的关系是用继承来表达的,而has-a(有一个)的关系则是用组合来表达的。

Debug

关于junit不支持多线程?

Junit只管自己的运行,就是说当Junit执行完毕后,就会关闭程序,不会关心是否还有自己启动的后台线程在运行。当Junit运行完毕后,如果后台线程还没有执行完毕,那么也是不会再执行了。

junit引发的多线程思考

其实junit是将test作为参数传递给了TestRunner的main函数。并通过main函数进行执行。test函数在main中执行。如果test执行结束,那么main将会调用System.exit(0);

即使还有其他的线程在运行,main也会调用System.exit(0);

System.exit()是系统调用,通知系统立即结束jvm的运行,即使jvm中有线程在运行,jvm也会停止的。所以会出现之前的那种情况。其中System.exit(0);的参数如果是0,表示系统正常退出,如果是非0,表示系统异常退出。

java的线程分为两种:正常线程和后台线程。

最大的区别就是系统会等待正常线程结束,但是如果正常线程全部结束,系统就会退出。这时即使有后台线程在运行,系统也会退出。也就是系统不会等待后台线程结束。

后台线程一般是为了给程序提供公共服务而建立起来的。如果程序的其他模块都结束了,那么这种服务也没有存在的必要了。

在Linux中也有类似的线程(虽然不清楚实现,但是感觉java在linux上的实现方式就是采用了相关的技术),但是人家的名字叫做守护线程。

P.K.

String、StringBuffer与StringBuilder之间区别

三者在执行速度方面的比较

StringBuilder > StringBuffer > String

StringBuilder与 StringBuffer

StringBuilder:线程非安全的

StringBuffer:线程安全的

对于三者使用的总结

1.如果要操作少量的数据用 = String

2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder

3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer

java程序员必知的 8大排序

编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  编程 java 设计模式