随笔分类 -  java基础面试题

摘要:Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. 它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度. Memcached基于一个存储键/值对的hashmap。 Redis是一个key-value存储系统,和Memcac 阅读全文
posted @ 2018-05-07 09:50 阿善9 阅读(474) 评论(0) 推荐(0) 编辑
摘要:Bootstrap是一个支持响应式的Css框架它提供了很多组件,如导航条,面板,菜单,form表单,还有栅格,而且他们这些都是支持响应式的,可以在各种设备上进行完美的展现。这里面我感觉最有价值的就是bootstrap提供的栅格系统,这个栅格系统将整个页面分为12列,而且可以根据屏幕的宽窄进行自动调节 阅读全文
posted @ 2018-05-07 09:13 阿善9 阅读(681) 评论(0) 推荐(0) 编辑
摘要:1、new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? 1 2 3 4 5 6 7 8 new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stu 阅读全文
posted @ 2018-05-06 22:24 阿善9 阅读(1412) 评论(0) 推荐(0) 编辑
摘要:、索引利弊 --整理 1、索引的好处 a、提高数据检索的效率,降低检索过程中必须要读取得数据量,降低数据库IO成本。 b、降低数据库的排序成本。因为索引就是对字段数据进行排序后存储的,如果待排序的字段与索引键字段一致,就在取出数据后不用再次排序了,因为通过索引取得的数据已满足排序要求。另外,分组操作 阅读全文
posted @ 2018-05-06 21:26 阿善9 阅读(1603) 评论(0) 推荐(0) 编辑
摘要:在只有双重检查锁,没有volatile的懒加载单例模式中,由于指令重排序的问题,我确实不会拿到两个不同的单例了,但我会拿到“半个”单例。 而发挥神奇作用的volatile,可以当之无愧的被称为Java并发编程中“出现频率最高的关键字”,常用于保持内存可见性(随时见到的都是最新值)和防止指令重排序。 阅读全文
posted @ 2018-05-06 21:12 阿善9 阅读(13225) 评论(2) 推荐(7) 编辑
摘要:——索引优化,可以说是数据库相关优化、理解尤其是查询优化中最常用的优化手段之一。所以,只有深入索引的实现原理、存储方式、不同索引间区别,才能设计或使用最优的索引,最大幅度的提升查询效率! 一、BTree索引 1、概述 Mysql数据库中使用最频繁的索引类型,基本所有存储引擎都支持BTree索引。正是 阅读全文
posted @ 2018-05-06 20:59 阿善9 阅读(20721) 评论(0) 推荐(1) 编辑
摘要:Hashmap本质是数组加链表。根据key取得hash值,然后计算出数组下标,如果多个key对应到同一个下标,就用链表串起来,新插入的在前面。 ConcurrentHashMap:在hashMap的基础上,ConcurrentHashMap将数据分为多个segment(段),默认16个(concur 阅读全文
posted @ 2018-05-06 20:17 阿善9 阅读(10059) 评论(0) 推荐(0) 编辑
摘要:单例模式是一种很基础的设计模式,在面试时可能会被要求手写不同类型的单例模式代码,主要有三种模式: 1、饿汉模式: [java] view plain copy //饿汉模式,很饿很着急,所以类加载时即创建实例对象 public class Singleton1 { private static Si 阅读全文
posted @ 2018-05-06 20:02 阿善9 阅读(1091) 评论(0) 推荐(0) 编辑
摘要:一、进程与线程?并行与并发? 进程代表一个运行中的程序,是资源分配与调度的基本单位。进程有三大特性: 1、独立性:独立的资源,私有的地址空间,进程间互不影响。 2、动态性:进程具有生命周期。 3、并发性:多进程可以在单核CPU上并发运行。 线程代表进程中的一个顺序执行流,多线程就是一个进程中的多个顺 阅读全文
posted @ 2018-05-06 19:49 阿善9 阅读(2555) 评论(0) 推荐(1) 编辑
摘要:函数回调机制,一种双向调用思想,简单来说就是,如下图所示: 在层次一中的方法一(函数)调用层次二中的方法,并传入函数二的地址,而这个被调用的方法又会调用层次一中的方法,这个最后被调用的方法二就是回调方法。方法三调用方法二就是回调的过程。一个有意思的例子,大家可以先感受一下:“诸葛亮给赵子龙一个锦囊, 阅读全文
posted @ 2018-05-06 14:43 阿善9 阅读(300) 评论(0) 推荐(1) 编辑
摘要:如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟 阅读全文
posted @ 2018-05-06 14:33 阿善9 阅读(303) 评论(0) 推荐(0) 编辑
摘要:1、HTML静态化 freemaker其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采 用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息 发布系统CMS 阅读全文
posted @ 2018-05-06 09:59 阿善9 阅读(10787) 评论(0) 推荐(1) 编辑
摘要:一、Java异常概述 在Java中,所有的事件都能由类描述,Java中的异常就是由java.lang包下的异常类描述的。 Trowable是所有异常的超类. 他的常用方法printStackTrece()打印异常信息. Error 代表程序处理的错误. 通过程序改变不了的 . Java运行时系统的内 阅读全文
posted @ 2018-05-06 09:58 阿善9 阅读(298) 评论(0) 推荐(0) 编辑
摘要:一、概述 在windows中,每一个打开运行的应用程序或后台程序,比如运行中的QQ、谷歌浏览器、网易云音乐、资源管理器等都是一个进程。我们感觉这些程序是“同时”运行的,但实际上,一个处理器同一时刻只能运行一个进程,只是CPU在高速轮换执行让我们有这样的错觉,我们感受不到中断的原因是CPU执行速度相对 阅读全文
posted @ 2018-05-06 09:32 阿善9 阅读(261) 评论(0) 推荐(0) 编辑
摘要:1、常用的HTTP方法有哪些?GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。HEAD: 获得报文首部,与 阅读全文
posted @ 2018-05-06 01:20 阿善9 阅读(4063) 评论(0) 推荐(0) 编辑
摘要:Java流概念: Java把所有的有序数据都抽象成流模型,简化了输入输出,理解了流模型就理解了Java IO。可以把流想象成水流,里面的水滴有序的朝某一方向流动。水滴就是数据,且代表着最小的数据流动单位,在字节流中,水滴就是一字节(byte),在字符流中,水滴就是一字符(char)。 Java流的分 阅读全文
posted @ 2018-05-06 01:14 阿善9 阅读(1804) 评论(0) 推荐(0) 编辑
摘要:首先Throws(抛出)几个自己学习过程中一直疑惑的问题: 1、什么是类加载?什么时候进行类加载? 2、什么是类初始化?什么时候进行类初始化? 3、什么时候会为变量分配内存? 4、什么时候会为变量赋默认初值?什么时候会为变量赋程序设定的初值? 5、类加载器是什么? 6、如何编写一个自定义的类加载器? 阅读全文
posted @ 2018-05-06 01:04 阿善9 阅读(9092) 评论(0) 推荐(0) 编辑
摘要:Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。这里,我列出了一些关于Java集合的重要问题和答案。 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Arra 阅读全文
posted @ 2018-05-05 22:56 阿善9 阅读(2167) 评论(0) 推荐(0) 编辑
摘要:一、web.xml是什么 web.xml学名叫部署描述符文件,是在Servlet规范中定义的,是Web应用的配置文件,是Web应用的基础。 二、web.xml加载流程 总的来说:ServletContext——Listener——Filter——Servlet 1、首先Web容器创建一个Servle 阅读全文
posted @ 2018-05-05 22:38 阿善9 阅读(481) 评论(0) 推荐(0) 编辑
摘要:一、首先了解TCP报文格式 其中必须了解的字段有: 1、源端口与目的端口:16位,标识出发送端与接收端的端口号。 2、序号:32位,也叫顺序号、seg序号,本报文段所发送的数据的第一个字节的序号,用来标记数据报顺序。 3、确认号:32位,ack序号,用来标记期待收到对方下一个报文段的第一个数据字节的 阅读全文
posted @ 2018-05-05 22:33 阿善9 阅读(531) 评论(0) 推荐(1) 编辑