JAVA面试
飞鱼武士
这个作者很懒,什么都没留下…
展开
-
JAVA-2015-04-24应该思考的东西
1、随机生成1000个不重复的10000以内的数字;2、随机生成1000个不重复的10000以内的数字,并将这些连接成一个字符串。3、数据库集群,3个库中亿万级数据,如何从3个库中获取最新更新的3000条数据;4、缓存集群如何确定某个值在那个节点,增加节点后,如何又确定?5、NIO和BIO的差异;6、静态反射和动态反射的区别;原创 2015-04-27 15:07:07 · 436 阅读 · 0 评论 -
JAVA应该思考的东西-2015年5月4日
1、NETTY的实现原理,如何实现NIO; 2、NETTY与MINA的差异有哪些? 3、REST、WS、MQ、NETTY的消息中间件选型如何? 4、如果在100w数据库中获取1w重复的数据; 5、JVM的运行原理; 6、线上运维时,如何从JVM中定位到OutOfMEMORY异常发生的那行代码; 7、在代码中复写了JAVA的某个类,那么spring中配原创 2015-05-04 20:57:34 · 473 阅读 · 0 评论 -
ThreadLocal设计模式
本文主要整理自本文摘自:ThreadLocal设计模式线程安全问题的由来 在传统的Web开发中,我们处理Http请求最常用的方式是通过实现Servlet对象来进行Http请求的响应.Servlet是J2EE的重要标准之一,规定了Java如何响应Http请求的规范.通过HttpServletRequest和HttpServletResponse对象,我们能够轻松地与Web容器交互.转载 2015-05-21 19:29:39 · 555 阅读 · 0 评论 -
流行的通讯库/消息中间件
网络上各种各样的通讯中间件/MQ多不胜数。具作者所知,比较有名的有ACE、ICE、Boost::ASIO、MSMQ、ActiveMQ、RabbitMQ、ZeroMQ等等。其中ACE、ICE是经典,网上资料很丰富,不过入门门槛较高,说白了就是有点难学难精。属于高端大气上档次的货。 Boost::ASIO作为大名鼎鼎的Boost模块之一,感觉很不错,只需引用.hpp文件,不需要动态库,性能据说转载 2015-05-22 09:05:12 · 1646 阅读 · 0 评论 -
JAVA-2015-06-19应该思考的东西
一、N核CPU只适合N个线程吗?同一进程中的多个线程之间可以并发执行,致使线程在运行中呈现出间断性,线程是进程中的一个实体,是程序执行流的最小单元,若程序只有一个线程。一个线程可以创建和撤消另一个线程,寄存器集合和堆栈组成。在单个程序中同时运行多个线程完成不同的工作,只拥有一点儿在运行中必不可少的资源、阻塞和运行三种基本状态。每一个程序都至少有一个线程,减少了CPU的闲置时间。另外,称为多线程原创 2015-06-23 09:42:03 · 558 阅读 · 0 评论 -
ThreadLocal的正确用法
用法一:在关联数据类中创建private static ThreadLocalThreaLocal的JDK文档中说明:ThreadLocal instances are typically private static fields in classes that wish to associate state with a thread。如果我们希望通过某个类将状态(例如用户ID、事务ID)转载 2015-07-15 14:48:12 · 428 阅读 · 0 评论 -
Java常见内存溢出异常分析(OutOfMemoryError)
1.背景知识1).JVM体系结构 2).JVM运行时数据区JVM内存结构的相关可以参考:http://my.oschina.net/sunchp/blog/3697072.堆溢出(OutOfMemoryError:java heap space)堆(Heap)是Java存放对象实例的地方。堆溢出可以分为以下两种情况,这两种情况都会抛出OutO转载 2015-07-15 15:35:42 · 784 阅读 · 0 评论 -
wait和sleep的差别
1. 这两个方法来自不同的类,sleep方法属于Thread,wait方法属于Object。2. 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。3. wait, notify和notifyAll只能在同步控制方法(synchronized)或者同步控制块里面使用,而sleep可以在任何地方使用。4. sleep必须捕获异常,而wait转载 2015-07-16 10:04:29 · 414 阅读 · 0 评论