03 2017 档案

同步和异步的区别、同步与阻塞的关系
摘要:同步 同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。 要想实现同步操作,必须要获得线程的对象锁。获得它可以保证在同一时刻只有一个线能够进入临界区,并且在这个锁被释放之前,其他的线程都不能再进入这个临界区。如果其他线程想要获得这个对象的锁,只能进入等待队列等待。只有当拥有该对象锁 阅读全文

posted @ 2017-03-31 12:08 一个不会coding的girl 阅读(11426) 评论(0) 推荐(0)

进程间的通信方式
摘要:管道,是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用,进程的亲缘关系通常指父子进程关系。 有名管道,也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。 信号量,是一个计数器,可以用来控制多个进程对共享资源的访问。它通常作为一种锁机制,防止进程正在访问共享资源时,其 阅读全文

posted @ 2017-03-31 09:44 一个不会coding的girl 阅读(288) 评论(1) 推荐(0)

线程与进程的区别
摘要:进程 进程,是并发执行的程序在执行过程中分配和管理资源的基本单位。每个进程都有一个自己的地址空间,空间大小只与处理机的位数有关。进程至少有5种状态:初始态、就绪态、执行态、等待态、终止态。 线程 线程,在网络或多用户环境下,一个服务器通常要接收大量用户的并发请求,为每个请求创建一个进程显然是行不通的 阅读全文

posted @ 2017-03-31 09:27 一个不会coding的girl 阅读(208) 评论(0) 推荐(0)

Java的常用类库
摘要:Java类库概念 Java的应用程序接口(API)以包的形式来组织,每个包提供了大量的相关类、接口和异常处理类,这些包的集合就是Java类库。 包名以java开始的包是Java核心包;包名以javax开始的包是Java扩展包。例如javax.swing包。 常用的Java核心包 接口 java.la 阅读全文

posted @ 2017-03-28 16:22 一个不会coding的girl 阅读(332) 评论(0) 推荐(0)

HTTP与HTTPS
摘要:HTTPS安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息,它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。HTTPS用于对数据的压缩和解压操作,并返回网络上传回的结果。HTTPS实际上应用了SSL作为HTTP应用层的子层。 阅读全文

posted @ 2017-03-28 15:29 一个不会coding的girl 阅读(286) 评论(0) 推荐(0)

各种排序算法的比较
摘要:排序算法性能 稳定性:所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,就称这种排序方法是稳定的。 阅读全文

posted @ 2017-03-28 13:14 一个不会coding的girl 阅读(164) 评论(0) 推荐(0)

数据结构之堆排序
摘要:基本思想 对于给定的n个记录,初始时把这些记录看做一颗顺序存储的二叉树,然后将其调整为一个大顶堆,然后将堆的最后一个元素与对顶元素进行交换后,堆的最后一个元素即为最大记录;接着将前(n-1)个元素重新调整为一个大顶堆,再将堆顶元素与当前堆的最后一个元素进行交换后得到次大的记录,重复该过程知道调整的堆 阅读全文

posted @ 2017-03-28 12:54 一个不会coding的girl 阅读(205) 评论(0) 推荐(0)

数据结构之希尔排序
摘要:基本原理 希尔排序也被称为“缩小增量排序”。先将待排序的数组元素分为多个子序列,使得每个子序列的元素个数相对较小,然后对每个子序列分别进行直接插入排序,待整个待排序序列“基本有序后”,最后再对所有元素进行一次直接插入排序。 程序如下 程序结果 算法分析 阅读全文

posted @ 2017-03-28 11:13 一个不会coding的girl 阅读(149) 评论(0) 推荐(0)

快速排序与归并排序的区别与联系
摘要:相同点 两者原理都是采用“分而治之”的思想,即首先把待排序的元素分为两组,然后分别对这两组排序,最后把两组结果进行合并。 不同点 进行的分组策略不同,后面的合并策略也不同。 归并排序的分组策略是假设待排序的元素存放在数组中,那么其把数组前面一半元素作为一组,后面一半所谓另一组。而快速排序则是根据元素 阅读全文

posted @ 2017-03-28 09:09 一个不会coding的girl 阅读(2253) 评论(0) 推荐(1)

数据结构之快速排序
摘要:快速排序 是一种非常高效的排序方法,采用“分而治之”的思想,把大的拆分为小的,小的再拆分为更小的。 基本原理 对于一组给定的记录,通过一趟排序后,将原序列分为两部分,其中前一部分的所有记录都比后一部分的所有记录小,然后再依次对前后两部分的记录进行快速排序,递归该过程,直至序列中的所有记录均有序为止。 阅读全文

posted @ 2017-03-27 22:01 一个不会coding的girl 阅读(326) 评论(0) 推荐(0)

数据结构之归并排序
摘要:归并排序 是利用递归与分治技术将数据序列划分为越来越小的半子表,再对半子表排序,最后再用递归方法将排好序的半子表合并成为越来越大的有序序列。例如数组:[2,6,1,0],会先折半,分为[2,6]和[1,0]两个数组,然后再折半将数组分离,分为[2]、[6]和[1]、[0]。然后,再将[2]、[6]合 阅读全文

posted @ 2017-03-27 20:07 一个不会coding的girl 阅读(177) 评论(0) 推荐(0)

数据结构之冒泡排序
摘要:基本思想(假设有小到大排序) 对于给定的n个记录,从第一个记录开始一次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换位置,进行一轮比较和换位后,n个记录中最大的将位于第n位;然后对前(n-1)个记录进行第二轮比较;重复该过程直到进行比较的记录只剩下一个为止。 程序如下 程序结果 算法分 阅读全文

posted @ 2017-03-27 15:27 一个不会coding的girl 阅读(177) 评论(0) 推荐(0)

数据结构之插入排序
摘要:基本原理 对于给定的一组记录,初始时假设第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按照记录的大小依次将当前处理的记录插入到其之前的有序序列中,知道最后一个记录插入到有序序列中为止。 程序如下 程序结果 算法分析 阅读全文

posted @ 2017-03-27 14:57 一个不会coding的girl 阅读(141) 评论(0) 推荐(0)

数据结构之选择排序
摘要:基本原理 对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录与第一个记录的位置进行交换;接着对不包括第一个记录以外的其他记录进行第二轮比较,得到最小的纪录并与第二个记录进行位置交换;重复该过程,直到进行比较的记录只有一个时为止。 程序如下 程序结果 算法分析 阅读全文

posted @ 2017-03-27 14:17 一个不会coding的girl 阅读(164) 评论(0) 推荐(0)

Spring框架
摘要:Spring框架,提供了对轻量级IoC的良好支持,同时也提供了对AOP技术非常好的封装。相比于其它框架,Spring框架的设计更加模块化,框架内的每个模块都能完成特定的工作,而且各个模块可以独立地运行,不会互相牵制。 Spring框架主要由7个模块组成,分别是Spring AOP、Spring OR 阅读全文

posted @ 2017-03-25 20:52 一个不会coding的girl 阅读(275) 评论(0) 推荐(0)

Spring之控制反转——IoC、面向切面编程——AOP
摘要:控制反转——IoC 提出IoC的目的 为了解决对象之间的耦合度过高的问题,提出了IoC理论,用来实现对象之间的解耦。 什么是IoC IoC是Inversion of Control的缩写,译为控制反转,不是什么技术,而是一种设计思想。IoC理论的观点主要是:借助于“第三方”实现具有依赖关系的对象之间 阅读全文

posted @ 2017-03-25 13:30 一个不会coding的girl 阅读(604) 评论(0) 推荐(1)

数据库之索引
摘要:数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。 索引的特点 索引的优点 索引的缺点 索引的分类 索引失效的情况 在什么情况下适合建立索引 索引优化策略 什么是前缀索引 前缀索引就是用列的前缀代替整个列作为索引key,当前缀 阅读全文

posted @ 2017-03-24 19:55 一个不会coding的girl 阅读(197) 评论(0) 推荐(0)

数据库之视图
摘要:视图是由从数据库的基本表中选取中来的数据组成的逻辑窗口,与基本表不同,它是一个虚表。在数据库中,存放的只是视图的定义,而不存放视图包含的数据项,这些项目仍然存放在原来的基本表结构中。 视图的作用: 1) 可以简化数据查询语句 2) 可以使用户能从多角度看待同一数据 3) 通过引入视图可以提高数据的安 阅读全文

posted @ 2017-03-24 16:02 一个不会coding的girl 阅读(167) 评论(0) 推荐(0)

如果数据库日志满了,会出现什么情况
摘要:日志文件记录所有对数据库数据的修改。主要是保护数据库以防止故障发生,以及恢复数据时使用。 具有以下特征: 1. 每个数据库至少包括两个日志文件组,每个日志文件组知道包含两个日志文件成员。 2. 日志文件组以循环方式进行写操作。 3. 每个日志文件成员对应一个物理文件。 通过日志文件来记录数据库事务可 阅读全文

posted @ 2017-03-24 15:37 一个不会coding的girl 阅读(3409) 评论(0) 推荐(0)

数据库之范式
摘要:第一范式(1NF) 属性不可分。 例如存在一个表:【联系人】(姓名、性别、电话) 这个表中,属性“电话”可以分为手机号和座机号,这样就不满足1NF要求。 第二范式(2NF) 1. 表必须有主键 2. 没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分 例如存在一个表:【OrderDe 阅读全文

posted @ 2017-03-24 11:22 一个不会coding的girl 阅读(155) 评论(0) 推荐(0)

数据库中的内连接和外连接
摘要:内连接 指连接结果仅仅包含符合连接条件的行,参与连接的两个表都应该符合连接条件。 外连接 指连接结果不仅包含符合连接条件的行,同时也包含自身不符合条件的行。分为左外连接、右外连接和全外连接。 举例说明 存在三个表TestA,TestB,TestC,各有A,B两列 TestA: TestB: Test 阅读全文

posted @ 2017-03-24 09:54 一个不会coding的girl 阅读(224) 评论(0) 推荐(0)

JVM加载class文件的原理机制
摘要:类只有被加载到JVM中才能运行。ClassLoader(类加载器)的作用就是将class文件加载到JVM中,程序就可以正确运行了,但类的加载时动态的,并不会一次性加载所有的class文件,而是根据需要去动态加载。 类加载的方式 1. 隐式加载:使用new等方式创建对象时,会隐式地调用类的加载器把对应 阅读全文

posted @ 2017-03-23 20:53 一个不会coding的girl 阅读(158) 评论(0) 推荐(0)

内部类
摘要:内部类主要分为4种:静态内部类、成员内部类、局部内部类、匿名内部类 静态内部类 是指被声明为static的内部类,它可以不依赖于外部类实例而被实例化,而通常的内部类需要在外部类实例化后才能实例化。静态内部类不能与外部类有相同的名字,不能访问外部类的普通成员变量,只能访问外部类中的静态成员和静态方法( 阅读全文

posted @ 2017-03-23 19:24 一个不会coding的girl 阅读(146) 评论(0) 推荐(0)

getString()方法与getObject()方法的区别
摘要:JDBC提供了getString()、getInt()和getData()等方法从ResultSet中获取数据,当查询结果集中的数据量较小时,不用考虑性能,使用这些方法完全可以满足需求,但是当ResultSet中的数据量非常大时,则会抛出异常。通常情况下,使用getObject()方法就可以解决这个 阅读全文

posted @ 2017-03-23 16:37 一个不会coding的girl 阅读(388) 评论(0) 推荐(0)

Class.forName的作用
摘要:在java语言中,任何类只有被装载到JVM上才能运行。Class.forName()方法的作用就是把类加载到JVM中,它会返回一个与带有给定字符串明的类或者接口相关联的Class对象,并且JVM会加载这个类,同时JVM会执行该类的静态代码段。 Test t = (Test)Class.forName 阅读全文

posted @ 2017-03-23 16:05 一个不会coding的girl 阅读(341) 评论(0) 推荐(0)

JDBC事务处理
摘要:什么是事务 一个事务是由一条或几条数据库操作的SQL语句所组成的一个不可分割的工作单元。事务必须服从ACID原则,即原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability)。 通俗理解,事务就是一组原子操作单元,要么全部执行成功,若 阅读全文

posted @ 2017-03-23 15:50 一个不会coding的girl 阅读(175) 评论(0) 推荐(0)

合并两个排序的链表
摘要:结点: 递归方法进行合并: 非递归方法进行合并: 主要思想: 1) 链表1的头结点值小于链表2的头结点值,则链表1的头结点是合并后链表的头结点; 2) 在剩余的结点中,链表2的头结点值小于链表1的头结点值,则链表2的头结点是剩余结点的头结点。 3) 注意代码在鲁棒性方面存在的问题,如空链表时。 阅读全文

posted @ 2017-03-23 10:50 一个不会coding的girl 阅读(116) 评论(0) 推荐(0)

链表中倒数第k个结点
摘要:结点: 找到倒数第k个结点: 常规思想是,首先,从头到尾遍历链表,计算出链表的长度,然后遍历第二遍,找到倒数第k个结点。 这种做法需要遍历两次链表,可能不会满足面试官的要求。 本方法主要思想:设置两个结点node1,node2指向头结点,首先让node1指向链表的第k个结点,而node2仍然指向头结 阅读全文

posted @ 2017-03-23 09:12 一个不会coding的girl 阅读(116) 评论(0) 推荐(0)

反转链表
摘要:节点类: 反转链表: 注意: 1. 反转链表时,一定要保存node(当前操作节点)的下一个节点,否则链表就会断开; 2. 注意反转的顺序,首先保存下一节点p,其次将node的next指向前一节点b,然后将b向前移动到node,最后将node向前移动到p。 阅读全文

posted @ 2017-03-22 22:02 一个不会coding的girl 阅读(122) 评论(0) 推荐(0)

会话跟踪的实现
摘要:HTTP是“无状态”协议:客户程序每次读取Web页面,都打开Web服务器的单独的连接,并且服务器也不自动维护客户的上下文信息。即使那些支持持续性HTTP连接的服务器,尽管多个客户请求连续发生且间隔很短时,它们会保持socket打开,但是,它们也没有提供维护上下文信息的内建支持。对于这个问题,有四种方 阅读全文

posted @ 2017-03-22 13:36 一个不会coding的girl 阅读(170) 评论(0) 推荐(0)

cookie和session的联系与区别
摘要:Cookie 当你在浏览网站时,WEB服务器会先送一小小的资料放在你的计算机上,Cookie会帮你在网站上所打的文字或是一些选择都记录下来。当你下次再光临同一个网站时,WEB服务器会先看看有没有它上次留下的Cookie资料。如果有的话,就会依据Cookie里的内容来辨认使用者,以便送出为使用者量身定 阅读全文

posted @ 2017-03-22 13:21 一个不会coding的girl 阅读(188) 评论(0) 推荐(0)

JDBC之Statement、PreparedStatement和CallableStatement
摘要:JDBC提供了Statement、PreparedStatement和CallableStatement三种方式来执行查询语句,其中Statement用于通用查询,PreparedStatement用于执行参数化查询,而CallableStatement则是用于存储过程 1. Statement、P 阅读全文

posted @ 2017-03-22 10:22 一个不会coding的girl 阅读(270) 评论(0) 推荐(0)

泛型之间的赋值问题
摘要:1. 只看尖括号里面的,明确点和范围两个概念; 2. 如果尖括号里面的是一个类,那么尖括号里就是一个点,eg. List<A>、List<B>、List<Object> 3. 如果尖括号里面带有问号,那么代表一个范围,eg. <? extends A>代表小于等于A的范围,<? super A>代表 阅读全文

posted @ 2017-03-21 15:39 一个不会coding的girl 阅读(2089) 评论(0) 推荐(0)

TCP为什么会采用三次握手,若采用二次握手可以吗?
摘要:建立连接的过程是利用C/S(客户机/服务器)模式,假设A为客户端,B为服务器端。 TCP是采用三次握手进行连接的,简要说明该过程: (1) A向B发送连接请求 (2) B对收的的A的报文段进行确认 (3) A再对B的确认进行确认 采用“三次握手”的目的是,为了防止失效的连接请求报文段突然又传送到B, 阅读全文

posted @ 2017-03-20 16:01 一个不会coding的girl 阅读(549) 评论(0) 推荐(0)

面向连接和非面向连接服务的特点
摘要:面向连接 面向连接的服务,通信双方在进行通信之前,要先在双方建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接的情况一直可以被实时地监控和管理。 非面向连接的服务 不需要预先建立一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往网络上发送信息,让信息自主地在网络上去传,一般在传输的 阅读全文

posted @ 2017-03-20 15:33 一个不会coding的girl 阅读(1261) 评论(0) 推荐(0)

DNS域名系统,简述工作原理
摘要:DNS工作原理: 当DNS客户端需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户端发送的每条查询信息包括三条信息:指定的DNS域名,指定的查询类型,DNS域名的指定类别。基于UDP服务,端口53. 该应用一般不直接为用户使用,而是为其他应用服务,如HTTP,SMTP等在其中需要完成主机 阅读全文

posted @ 2017-03-20 14:18 一个不会coding的girl 阅读(385) 评论(0) 推荐(0)

TCP和UDP的区别,以及它们对应的协议有哪些?
摘要:TCP(传输控制协议) 是面向连接的协议。在收发数据前,一个TCP连接必须要经过“三次握手”建立可靠的连接。握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP连接都将被一直保持下去。与“三次 阅读全文

posted @ 2017-03-20 13:43 一个不会coding的girl 阅读(1024) 评论(0) 推荐(0)

在浏览器中输入一个网址后所执行的全部过程
摘要:1. 浏览器查找该域名的IP地址 DNS查找过程:1) 浏览器缓存 2) 系统缓存 3) 路由器缓存 4) ISP DNS缓存 5) 递归搜索 2. 浏览器根据解析得到的IP地址向服务器发送一个HTTP请求 3. 服务器可能会发生重定向响应 例如"http://facebook.com/",服务器会 阅读全文

posted @ 2017-03-20 12:19 一个不会coding的girl 阅读(1482) 评论(0) 推荐(0)

TCP三次握手和四次挥手的全过程
摘要:三次握手 1. 客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认; 2. 服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK,此时服务器进入SYN_RECV状态; 3. 客户端收到服务器的SYN+ 阅读全文

posted @ 2017-03-19 19:43 一个不会coding的girl 阅读(661) 评论(0) 推荐(0)

解释ARP协议和RARP协议
摘要:解释ARP(地址解析协议) 广播发送ARP请求,单播发送ARP响应。 解释RARP(逆解析地址协议) 作用是完成硬件地址到IP地址的映射。 工作流程:在网络中配置一台RARP服务器,里面保存着IP地址和MAC地址的映射关系,当无盘工作站启动后,首先,封装一个RARP数据包,里面有其MAC地址;其次, 阅读全文

posted @ 2017-03-19 18:43 一个不会coding的girl 阅读(880) 评论(0) 推荐(0)

IP地址的分类
摘要:IP网络使用32位地址,以点分十进制表示。IP地址主要分为A、B、C三类: A类地址 以0开头,第一个字节范围:1~126(1.0.0.0 - 126.255.255.255),0段和127段不使用; B类地址 以10开头,第一个字节范围:128~191(128.0.0.0 - 191.255.25 阅读全文

posted @ 2017-03-19 16:01 一个不会coding的girl 阅读(1097) 评论(0) 推荐(0)

OSI,TCP/IP,五层协议的体系结构,以及各层协议
摘要:OSI分层(7层) 物理层、数据链路层、网络层、运输层、会话层、表示层、应用层 TCP/IP分层(4层) 网络接口层、网络层、运输层、应用层 五层协议(5层) 物理层、数据链路层、网络层、运输层、应用层 每层对应的功能及协议 物理层 (比特Bit) 设备间接收或发送比特流; 说明电压、线速和线缆等。 阅读全文

posted @ 2017-03-19 14:41 一个不会coding的girl 阅读(16067) 评论(0) 推荐(2)

双亲委派模型
摘要:双亲委派模型的概念 如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的加载器都是如此,因此所有的类请求都会传给顶层的启动类加载器(Bootstrap ClassLoader),只有当父加载器反馈自己无法完成该加载请求时,子加载器才会 阅读全文

posted @ 2017-03-18 19:14 一个不会coding的girl 阅读(351) 评论(0) 推荐(0)

类加载器、类初始化
摘要:类的加载过程 1. 装载:查找并加载类的二进制数据 2. 链接: (1) 验证:确保被加载类的正确性 (2) 准备:为类的静态变量分配内存,并将其初始化为默认值 (3) 解析:把类中的符号引用转换为直接引用 3. 初始化:为类的静态变量赋予正确的初始值 类什么时候被初始化 类的初始化步骤 阅读全文

posted @ 2017-03-18 18:51 一个不会coding的girl 阅读(190) 评论(0) 推荐(0)

GC收集器
摘要:Serial收集器 ParNew收集器 Parallel Scavenge收集器 CMS收集器 (1) 初始标记:仅仅是标记一个GC Roots能直接关联到的对象,速度很快,Stop the world (2) 并发标记:进行GC Roots Tracing的过程,Stop the world (3 阅读全文

posted @ 2017-03-18 16:28 一个不会coding的girl 阅读(185) 评论(0) 推荐(0)

Minor GC与Full GC分别在什么时候发生?
摘要:Minor GC 当Eden区没有足够空间进行分配时,虚拟机就会进行一次Minor GC Full GC 阅读全文

posted @ 2017-03-18 10:30 一个不会coding的girl 阅读(1030) 评论(0) 推荐(0)

JVM分为哪些区,每一个区干嘛的?
摘要:程序计数器PC Java虚拟机栈 本地方法栈 与虚拟机栈非常相似,区别是虚拟机栈为虚拟机执行Java方法服务,而本地方法栈则为虚拟机使用Native方法服务 也会抛出StackOverFlowError和OutOfMemoryError异常 Java堆 方法区 运行时常量池 阅读全文

posted @ 2017-03-18 10:11 一个不会coding的girl 阅读(2309) 评论(0) 推荐(0)

如何改进复制算法?
摘要:面试:如何改进复制算法? 分情况使用复制算法,在新生代和老年代使用不同的策略。在新生代中的对象98%都是朝生暮死的类型,所以不必要按照1:1的比例去划分内存空间,只需要将内存划分为一块比较大的Eden和两块比较小的Survivor内存就好。每次使用一块Eden和Survivor,当回收时,将Eden 阅读全文

posted @ 2017-03-18 09:03 一个不会coding的girl 阅读(217) 评论(0) 推荐(0)

GC(垃圾回收器)中的算法
摘要:GC的两种判定方法 (1) 引用计数法 给对象添加一个引用计数器,每当引用一次+1,每次失效时-1,当计数器为0时,表示对象就是不可能再被使用的。 (2) 可达性分析算法 将“GC Roots”对象作为根节点,开始向下搜索,所走过的路径成为引用链。当一个对象到GC Roots没有任何引用链时,说明此 阅读全文

posted @ 2017-03-18 09:02 一个不会coding的girl 阅读(200) 评论(0) 推荐(0)

Java1.7与1.8新特性
摘要:Java 1.7: Java 1.8: 阅读全文

posted @ 2017-03-17 22:15 一个不会coding的girl 阅读(296) 评论(0) 推荐(0)

Java与C++对比
摘要:Java的优势 Java与C++之间的异同: 阅读全文

posted @ 2017-03-17 20:54 一个不会coding的girl 阅读(227) 评论(0) 推荐(0)

Java IO与NIO
摘要:IO与NIO(非阻塞IO)之间的区别: 1. 流与缓存 Java IO是面向流的,意味着每次从流中读一或多个字节,直到读取所有的字节,它们是没有缓存在任何地方。此外,它们不能前后移动流中的数据,如果需要移动,需先将它们缓存到一个缓冲区。 Java NIO是面向缓存的,数据读取到一个稍后处理的缓存,需 阅读全文

posted @ 2017-03-17 20:05 一个不会coding的girl 阅读(220) 评论(0) 推荐(0)

foreach与正常for循环效率对比
摘要:foreach foreach编译成字节码之后,使用的是迭代器实现的。 foreach特点: for for特点: 效率比较: 由于for循环的特性,每次循环都会进行比较,所以效率上不如foreach。但这个结论不是绝对的,还要考虑一下几点: 1. 如果只是读数据,优先选择foreach; 2. 如 阅读全文

posted @ 2017-03-17 19:12 一个不会coding的girl 阅读(768) 评论(0) 推荐(0)

wait()和sleep()、sleep()和yield()的区别
摘要:wait()和sleep()的区别主要表现在一下几个方面: 一般情况下,不推荐使用sleep()方法,而推荐使用wait()方法。 sleep()和yield()的区别: 阅读全文

posted @ 2017-03-17 16:49 一个不会coding的girl 阅读(1220) 评论(0) 推荐(0)

实现多线程的三种方法:Thread、Runnable和Callable
摘要:继承Thread类,重写run()方法 步骤: (1) 定义类继承Thread类 (2) 复写Thread类中的run方法。 (3) 调用线程的start方法 (start方法有两种含义:1. 启动多线程。2. 调用线程中的run方法) 实现Runnable接口,并实现该接口的run()方法 步骤: 阅读全文

posted @ 2017-03-17 12:21 一个不会coding的girl 阅读(476) 评论(0) 推荐(0)

抽象类(abstract)与接口(interface)的区别
摘要:如果一个类中包含抽象方法,那么这个类就是抽象类。abstract只能用来修饰类或者方法,不能用来修饰属性。 接口是指一个方法的集合,接口中的所有方法都没有方法体。接口通过关键字interface实现。 只要包含抽象方法的类就必须被声明为一个抽象类,抽象类可以声明方法的存在而不去实现它,被声明为抽象的 阅读全文

posted @ 2017-03-17 11:06 一个不会coding的girl 阅读(399) 评论(0) 推荐(1)

overload和override的含义和区别
摘要:重载(overload)和重写/覆盖(override)是Java多态性的不同表现形式。 重载(overload) (1) 重载是通过不同的方法参数来区分的,如不同的参数个数、顺序、类型。 (2) 不能通过方法的访问权限、返回值类型和抛出的异常类型来进行重载。 (3) 对于继承来说,如果基类方法的访 阅读全文

posted @ 2017-03-17 09:37 一个不会coding的girl 阅读(436) 评论(0) 推荐(0)

Java面向对象的特征与含义
摘要:面向对象的主要特征包括抽象、继承、封装和多态。 抽象 把一个类对象的共同特征总结出来,构造新类的过程。 继承 从已有类中得到继承信息,创建新类的过程。 封装 把数据和对数据的操作绑定起来,对数据的访问只能通过已定义的接口。 多态 允许多个类对同一消息作出不同的响应。 阅读全文

posted @ 2017-03-16 21:41 一个不会coding的girl 阅读(175) 评论(0) 推荐(0)

Excption与Error包结构。OOM你遇到过哪些情况,SOF你遇到过哪些情况
摘要:Java语言把异常当做对象来处理,并定义了一个基类(java.util.Throwable)作为所有异常的父类。异常分为Error和Exception两大类。 Error 不可恢复的异常。 程序中不推荐去捕获Error类型的异常,主要原因是:运行时异常多是由于逻辑错误导致的,属于应该解决的错误。也就 阅读全文

posted @ 2017-03-16 21:32 一个不会coding的girl 阅读(672) 评论(0) 推荐(0)

try、catch、finally--try块里有return,finally还执行吗?
摘要:finally块的作用是,保证无论出现什么情况,finally块里的代码一定会被执行。 由于程序执行return就意味着结束对当前函数的调用并跳出这个函数体,所以任何语句要执行都只能在return之前执行(除非碰到exit函数)。所以,finally块里的代码也是在return之前执行的。 如果tr 阅读全文

posted @ 2017-03-16 20:33 一个不会coding的girl 阅读(472) 评论(0) 推荐(0)

Collection包结构,与Collections的区别
摘要:Collection框架: 区别: Collection,是一个集合接口,提供了对集合对象进行基本操作的通用接口方法 Collections,是针对集合类的一个包装类,提供了一系列静态方法以实现对各种集合的搜索、排序、线程安全化等操作。Collections类不能实例化,服务于Collection框 阅读全文

posted @ 2017-03-16 20:13 一个不会coding的girl 阅读(432) 评论(0) 推荐(0)

TreeMap、HashMap、LindedHashMap的区别
摘要:Hashmap 根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。 HashMap最多只允许一条记录的键为Null,不允许多条记录的值为 Null; HashMap不支持线程的同步。如果需要同步,可以用 Collections的s 阅读全文

posted @ 2017-03-16 19:58 一个不会coding的girl 阅读(617) 评论(0) 推荐(0)

HashMap和ConcurrentHashMap的区别,HashMap的底层源码
摘要:HashMap和ConcurrentHashMap的区别: ConcurrentHashMap采用锁分段技术,将整个Hash桶进行了分段segment,也就是将这个大的数组分成了几个小的片段segment,而且每个小的片段segment上面都有锁存在,那么在插入元素的时候就需要先找到应该插入到哪一个 阅读全文

posted @ 2017-03-16 19:32 一个不会coding的girl 阅读(3490) 评论(1) 推荐(1)

HashMap和HashTable的区别
摘要:HashMap和HashTable的区别: 阅读全文

posted @ 2017-03-16 16:30 一个不会coding的girl 阅读(198) 评论(0) 推荐(1)

Map、Set、List、Queue、Stack的特点与用法
摘要:Map 提供了一个从键映射到值得数据结构。其中键不能重复,值可以重复。 有多个实现了该接口的类:HashMap、TreeMap、LinkedHashMap等。其中,HashMap是基于散列表实现的,TreeMap是基于红黑树实现的,LinkedHashMap是基于列表来维护内部的顺序的。 Set 主 阅读全文

posted @ 2017-03-16 16:12 一个不会coding的girl 阅读(305) 评论(0) 推荐(0)

String、StringBuffer与StringBuilder的区别
摘要:比较String和StringBuffer: 1. String是不可变类,String对象一旦被创建,其值将不能被改变;StringBuffer是可变类,当对象被创建后仍可以对其值进行修改。 当一个字符串经常需要被修改时,最好使用StringBuffer来实现。因为如果使用String,就会生成很 阅读全文

posted @ 2017-03-16 15:36 一个不会coding的girl 阅读(146) 评论(0) 推荐(0)

ArrayList、LinkedList、Vector区别
摘要:ArrayList、LinkedList、Vector均为可伸缩数组,即可以动态改变长度的数组。 比较ArrayList和Vector: 1. 共同点: ArrayList和Vector都是基于Object[] array来实现的,它们会在内存中开辟出一块连续的内存,正是因为数据存储是连续的,所以, 阅读全文

posted @ 2017-03-16 14:54 一个不会coding的girl 阅读(202) 评论(0) 推荐(0)

hashCode的作用
摘要:hashCode的存在主要是用于查找的快捷性,eg. HashMap、HashTable等,hashCode是用来在散列存储结构中确定对象的存储地址的。 如果两个对象相同,那么这两个对象的hashCode一定要相同。 如果对象的equals方法被重写,那么对象的hashCode也要尽量重写。 两个对 阅读全文

posted @ 2017-03-16 14:03 一个不会coding的girl 阅读(275) 评论(2) 推荐(0)

"=="、equals、hashCode之间的区别
摘要:1. "=="分为两种情况: (1) 基本数据类型,比较的是其对应的值是否相等; (2) 引用类型,比较的是他们在内存中存放的地址(或者说,是否指向同意对象)。 2. equals: 是Object类提供的方法之一,在Object类中的定义就是直接使用"=="进行比较,所以在没有覆盖equals() 阅读全文

posted @ 2017-03-16 13:47 一个不会coding的girl 阅读(175) 评论(0) 推荐(0)

Switch能否用String类型做参数?
摘要:switch(expr): 其中,expr参数可以是一个枚举常量(由整型或字符类型实现)或一个整数表达式,其中整数表达式可以是基本类型int或其包装类Integer。由于byte、short和char类型都可以隐式转换为int,因此这些类型以及它们对应的包装类都可以作为expr参数。而long,fl 阅读全文

posted @ 2017-03-16 12:56 一个不会coding的girl 阅读(844) 评论(0) 推荐(0)

Object中有哪些公用方法?
摘要:clone()方法 实现对象的浅复制,只有实现了Cloneable接口才能调用该方法。 toString()方法 返回该对象的字符串表示。 equals()方法: 在Object中与“==”的定义是一样的。 hashcode()方法 返回该对象的hash码值。 wait()方法 wait方法就是使当 阅读全文

posted @ 2017-03-16 11:22 一个不会coding的girl 阅读(154) 评论(0) 推荐(0)

Java的四种引用
摘要:引用分为强引用、软引用、弱引用和虚引用,这四种引用强度一次减弱: 阅读全文

posted @ 2017-03-16 10:35 一个不会coding的girl 阅读(105) 评论(0) 推荐(0)

Java的基本数据类型,以及他们的封装类
摘要:总结: 阅读全文

posted @ 2017-03-16 10:17 一个不会coding的girl 阅读(142) 评论(0) 推荐(0)

导航