04 2014 档案

摘要:正在学习《大型网站系统与JAVA中间件实践》,发现对BIO、NIO、AIO的概念很模糊,写一篇博客记录下来。先来说个银行取款的例子:同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写)。异步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时,Java将IO读... 阅读全文
posted @ 2014-04-30 17:48 李秋 阅读(882) 评论(0) 推荐(1) 编辑
摘要:1、请写一个功能性的函数,输入一个数组,返回这个数组中第二大的数字。要求:只能用一个for循环实现,不能做排序。例如:输入的数组内容是 [3, -1, 2, 8, 4, 1] 返回 4 public static int sort(int[] nums) { if (nums.l... 阅读全文
posted @ 2014-04-15 10:47 李秋 阅读(524) 评论(0) 推荐(0) 编辑
摘要:为什么需要优化GC? JAVA的GC是面试必考的题目,可是在实际项目中什么时候使用GC哪?或者应该什么时候优化GC哪?有句名言:“GC优化永远是最后一项任务”。 在使用GC之前,应该考虑一下进行GC的最根本原因:垃圾收集器需要清除在程序中创建的对象,GC执行的次数即需要被垃圾收集器清理的对象个数,与... 阅读全文
posted @ 2014-04-14 14:19 李秋 阅读(859) 评论(0) 推荐(0) 编辑
摘要:如何判断JVM是否存在内存问题呢?如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应用程序。 Jstat是JDK自带的一个轻量级小工具,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能... 阅读全文
posted @ 2014-04-14 12:21 李秋 阅读(899) 评论(0) 推荐(0) 编辑
摘要:首先说一说JAVA内存泄漏和JAVA内存溢出的区别。JAVA内存溢出非常好理解,JVM内存不够了,申请失败,就会溢出;JAVA内存泄漏只的是程序中有很多不用的对象仍然占着内存不释放,慢慢也会引发内存溢出。 我们的网络应用程序就主要采用Java语言开发,大体上分为客户端、服务器和数据库三个层次。在进... 阅读全文
posted @ 2014-04-13 12:29 李秋 阅读(559) 评论(0) 推荐(0) 编辑
摘要:线程池这个概念已经深入人心了,今天就是通过几个入门事例,学习一下线程池在JAVA中的应用。一、大小固定的线程池——Executors.newFixedThreadPool() 下面咱们明确两个类: 1、ExecutorService:线程池的接口类 2、Executors:Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个执行线程的工具 3、Executors.newFixedThreadPool():这是一个静态方法,也是这个事例的核心,目的是创建固定大小的线程池。每次提交一个任务就创建一个线程,直到线程达到线程池的最大值。线程池的. 阅读全文
posted @ 2014-04-06 21:33 李秋 阅读(2905) 评论(0) 推荐(0) 编辑
摘要:semaphore['seməfɔ:(r)] 是信号的意思。 在JAVA里面,我的理解是信号计数的作用,比如我想设置只能允许500个线程访问WebServer,那么如何控制500个数量哪?每来一个请求,就通过acquire()获取一个许可,然后数量自动减一,处理完成之后通过release()释放一个许可,数量自动加一。这样就实现了控制的作用,当然这个功能咱们自己通过锁的机制可以自己完成,不过使用Semaphore比较简单、方便,这也是它产生的原因。好了废话少说,写一段代码看看。Test.javapackage com.taobao;import java.util.concurrent 阅读全文
posted @ 2014-04-06 19:52 李秋 阅读(1438) 评论(0) 推荐(0) 编辑
摘要:今天咱们简单介绍一些serializable。1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。2、什么情况下需要序列化? a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候; b)当你想用套接字在网络上传送对象的时候;比如淘宝的HSF中间件。 c)当你想通过RMI传输对象的时候;3、当对一个对象实现序列化时,究竟发生了什么? 在没有序列化前,每个保存在堆(Hea 阅读全文
posted @ 2014-04-02 11:36 李秋 阅读(963) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示