Java面试
骆驼绵羊
不像程序猿的猿
展开
-
JAVA多线程和并发基础面试问答
[转载自并发编程网 – ifeve.com本文链接地址: JAVA多线程和并发基础面试问答http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-answers/原文链接:http://www.journaldev.com/1162/java-multi-threading-concurren转载 2016-04-15 10:43:26 · 366 阅读 · 0 评论 -
Servlet必须掌握的基础知识
1. servlet生命周期 Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。 init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会原创 2016-09-07 20:25:07 · 1845 阅读 · 0 评论 -
Java面试基础知识提纲
J2SE: 1 、集合(这个部分的内容是频率高的内容,个人觉得是因为结合了数据结构,还可以结合并发安全考。其实要通关这部分,最好就是把JDK 标准类的源码实现一次):ArrayList 、 LinkedList、 Vector 的底层实现和区别HashMap 和 HashTable的底层实现和区别,两者和 ConcurrentHashMap 的区别。HashMa原创 2016-08-19 10:33:40 · 451 阅读 · 0 评论 -
Java并发你必须知道的结构
1. ConcurrentHashMap ConcurrentHashMap是线程安全的HashMap,内部采用分段锁来实现,默认初始容量为16,装载因子为0.75f,分段16,每个段的HashEntry[]大小为2。键值都不能为null。每次扩容为原来容量的2倍,ConcurrentHashMap不会对整个容器进行扩容,而只对某个segment进行扩容。初始化: 初原创 2016-08-29 21:56:31 · 842 阅读 · 0 评论 -
Java并发必须知道的零碎知识(一)
1. 线程和进程进程让操作系统的并发性成为可能,而线程让进程的内部并发成为可能。但是要注意,一个进程虽然包括多个线程,但是这些线程是共同享有进程占有的资源和地址空间的。进程是操作系统进行资源分配的基本单位,而线程是操作系统进行调度的基本单位。 2. 实现线程在程序开发中只要是多线程肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如原创 2016-08-29 22:01:44 · 736 阅读 · 0 评论 -
J2SE必须掌握的基础知识
1. 面向过程和面向对象面向过程优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点:没有面向对象易维护、易复用、易扩展 面向对象优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护原创 2016-09-12 21:43:27 · 958 阅读 · 0 评论 -
Java容器类必须掌握知识合集
1. ArrayList底层实现:数组容量:默认初始为10,可自己设定扩容:1.5倍旧容量与新添加的元素个数相比,选大的添加元素:判断容量,添加至尾部添加元素到中间位置i:判断元素位置合法,判断容量,即把原数组从i个元素位置数据后移一位移除i位置元素:把i后的元素移动到i 2. ArrayList和LinkedList1.ArrayList是实现了基于动态数原创 2016-08-28 15:27:54 · 1049 阅读 · 0 评论 -
Java面试总结提纲
1. J2SE相关知识总结 点击打开链接 2. Java并发基础知识总结知识总结1知识总结2并发相关数据结构并发编程总结3.Java集合总结结合总结4. servlet总结servlet总结慢慢整理中,马上准备面试了,好紧脏~~原创 2016-09-13 11:13:43 · 446 阅读 · 0 评论 -
newInstance 和 new的 区别
相同点:都可以创建一个类的实例。不同点:1、类的加载方式不同在执行Class.forName("a.class.Name")时,JVM会在classapth中去找对应的类并加载,这时JVM会执行该类的静态代码段。在使用newInstance()方法的时候,必须保证这个类已经加载并且已经连接了,而这可以通过Class的静态方法forName()来完成的。使用关键字new创转载 2016-08-10 14:54:32 · 316 阅读 · 0 评论 -
Java并发必须知道的零碎知识(二)
1. Wait/notify与Condition.await /condition.signal /Condition.signalAll一个Condition和一个Lock关联在一起,就想一个条件队列和一个内置锁相关联一样。要创建一个Condition,可以在相关联的Lock上调用Lock.newCondition方法。正如Lock比内置加锁提供了更为丰富的功能,Condition同样比内原创 2016-08-29 22:04:25 · 615 阅读 · 0 评论 -
java并发你必须会的编程
1. Fork/Join框架Fork/Join框架是JDK7提供的一个用于并行执行任务的框架,是一个把大任务切分为若干子任务并行的执行,最终汇总每个小任务后得到大任务结果的框架。我们再通过Fork和Join来理解下Fork/Join框架。Fork就是把一个大任务划分成为若干子任务并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大任务的结果。 使用Fork/Joi原创 2016-08-28 16:36:13 · 808 阅读 · 0 评论 -
常见易错笔试题 —— java
1. 不可变Stringpublic class String相关 { static String getA(){return "a";} public static void main(String[] args) { String a = "a"; String c = "ab"; final String f = "a"; String b = a+"b"原创 2016-08-28 10:30:06 · 909 阅读 · 0 评论 -
解读equals方法与hashCode方法渊源
一、equals() 所属以及内部原理(即Object中equals方法的实现原理) 说起equals方法,我们都知道是超类Object中的一个基本方法,用于检测一个对象是否与另外一个对象相等。而在Object类中这个方法实际上是判断两个对象是否具有相同的引用,如果有,它们就一定相等。其源码如下:public boolean equals(Object obj) {转载 2016-08-17 15:54:14 · 385 阅读 · 0 评论 -
两道设计题目~
题目1:天猫双十一有个积分换墨盒的活动,总共有50万台天猫魔盒(box),每个用户(user)可以用99个天猫积分(point)兑换一台魔盒,且每人限换一台。 请设计一套java接口并实现下单(order)逻辑。 参考(但不局限于)下面的下单逻辑:1、创建订单 2、扣减用户积分 3、扣减魔盒库存 4、下单成功 同时请回答: 1、数据库表结构如何设计,有哪些表,分原创 2016-08-16 16:01:27 · 702 阅读 · 0 评论 -
浅析Java中的装箱和拆箱
一、概念在前面的文章中提到,Java为每种基本数据类型都提供了对应的包装器类型,至于为什么会为每种基本数据类型提供包装器类型在此不进行阐述,有兴趣的朋友可以查阅相关资料。在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:Integer i = new Integer(10);而在从Java SE5开始就提供了自动装箱的特性,如果要生成一转载 2016-08-16 09:43:58 · 464 阅读 · 0 评论