自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

转载 Java多线程面试题

0.Java 中多线程同步是什么? 在多线程程序下,同步能控制对共享资源的访问。如果没有同步,当一个 Java 线程在修改一个共享变量时,另外一个线程正在使用或者更新同一个变量,这样容易导致程序出现错误的结果。 1.解释实现多线程的几种方法? 一 Java 线程可以实现 Runnable 接口或者继承 Thread 类来实现,当你打算多重继承时,优先选择实现 Runnabl

2016-09-16 13:10:27 362

转载 JVM监测指令

http://blog.csdn.net/fenglibing/article/details/6411940

2016-09-16 13:01:52 380

转载 Java内存泄露的原因

关闭异常、堆内存溢出、OOM的几种情况1、堆内存溢出【情况一】:   java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环;  如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决:   -Xms3062m   

2016-09-16 12:58:14 405

转载 Linux常用命令汇总

常用指令ls          显示文件或目录     -l           列出文件详细信息l(list)     -a          列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir         创建目录     -p           创建目录,若无父目录,则创建p(parent)cd               切换目录touch  

2016-09-16 10:35:26 356

转载 HashMap底层实现详解

1. HashMap概述:  HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。2. HashMap的数据结构:  在java编程语言中,最基

2016-09-16 09:28:12 5664 1

转载 JSP/Servlet 工作原理

ServletServlet 没有 main 方法,不能够独立的运行,它的运行需要容器的支持,Tomcat 是最常用的 JSP/Servlet 容器。Servlet 运行在 Servlet 容器中,并由容器管理从创建到销毁的整个过程。Servlet 的生命周期(1) 加载和实例化Servlet 容器装载和实例化一个 Servlet。创建出该 Servlet 类的一个实例。

2016-09-14 07:46:41 310

转载 Socket底层实现

首先必须明确:TCP/IP模型中有四层结构:     应用层(Application Layer)、传输层(Transport Layer)、网络层(Internet Layer  )、链路层(LinkLayer) 其中Ip协议(InternetProtocol)是位于网络层的,TCP协议时位于传输层的。通过Ip协议可以使可以使两台计算机使用同一种语言,从而允许Internet上连接不同类

2016-09-14 07:44:33 5002 2

转载 Spring入门

Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。在这篇由三部分组成的 Spring 系列 的第 1 部分中,我将介绍 Spring 框架。我先从框架底层模型的角度描述该框架的功能,然后将讨论两个最有趣的模块:Spring 面向方面编程(AOP)和控制反转 (

2016-09-13 08:47:48 298

转载 返回码的含义

百度爬虫在进行抓取和处理时,是根据http协议规范来设置相应的逻辑的,所以请站长们也尽量参考http协议中关于返回码的含义的定义来进行设置。    百度spider对常用的http返回码的处理逻辑是这样的:1、404   404返回码的含义是“NOT FOUND”,百度会认为网页已经失效,那么通常会从搜索结果中删除,并且短期内spider再次发现这条url也不会抓取。2、503

2016-09-09 14:56:09 1630

转载 Http get和post的区别

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。  1.根

2016-09-09 14:25:54 277

转载 linux top load 详解

我们知道判断一个系统的负载可以使用top,uptime等命令去查看,它分别记录了一分钟、五分钟、以及十五分钟的系统平均负载。你可能对于 Linux 的负载均值(load averages)已有了充分的了解。负载均值在 uptime 或者 top 命令中可以看到,它们可能会显示成这个样子:load average: 0.09, 0.05, 0.01很多人会这样理解负载均值:三个数

2016-09-09 14:20:30 4524

转载 多进程侦听同一端口

一、端口侦听我们知道,系统中的互联网端口地址是系统级唯一的,在默认情况下,IPV4和IPV6的同一个协议的套接口也不能再同一个端口侦听,而套接口编程的五元组就是,其中没有进程区分,所以一个系统的套接口对于同一个网络地址来说是唯一的。但是有时候为了实现负载平衡,可能希望有多个进程来侦听同一个套接口,从而并发执行某个任务,此时就希望多个相同的进程(相同的可执行文件)来对同一个套接口进行侦听,从而完

2016-09-09 13:51:18 1763

转载 TCP和UDP是否可以绑定同一端口进行通信

TCP、UDP可以绑定同一端口来进行通信:       网络中可以被命名和寻址的通信端口,是操作系统可分配的一种资源。       按照OSI七层协议的描述,传输层与网络层在功能上的最大区别是传输层提供进程通信能力。从这个意义上讲,网络通信的最终地址就不仅仅是主机地址了,还包括可以描述进程的某种标识符。为此,TCP/IP协议提出了协议端口(protocol   port,简称端口)的概

2016-09-09 13:47:36 8001

转载 SpringMVC详解

一、前言:大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了。Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀。官方的下载网址是:http://www.springsource.org/download   (本文使用是的Spring 3.0.5版本) 

2016-09-06 10:55:07 350

转载 Spring 框架简介

Spring 系列: Spring 框架简介Spring AOP 和 IOC 容器入门在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级的、强壮的 J2EE 应用程序。developerWorks 的定期投稿人 Naveen Balani 通过介绍 Spring 框架开始了他由三部分组成的Spring 系列,其中还将介

2016-09-06 10:22:09 298

转载 SpringMVC框架搭建及详解

现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。  一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0)  

2016-09-06 10:15:28 354

转载 反射的具体使用方法

装瞧个遍(反射)标签: java 2016-08-09 17:13 384人阅读 评论(2)收藏举报分类: java回忆录(18) 版权声明:本文为博主原创文章,未经博主允许不得转载。今天来看看我们经常能用到的一个知识点,但又不怎么会用的知识点——反射。那我们在什么时候会用到这个知识点呢,以前我们在学习SSH框

2016-08-10 15:57:40 568

转载 Java socket编程

对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1.         什么是TCP/IP、UDP?2.         Socket在哪里呢?3.         Socket是什么呢?4.         你会使用它们吗?什么是TCP/IP、UDP?         TCP/IP(Trans

2016-08-10 11:56:37 421

转载 PriorityQueue源码解析 给jdk写注释系列之jdk1.6容器(12)

PriorityQueue是一种什么样的容器呢?看过前面的几个jdk容器分析的话,看到Queue这个单词你一定会,哦~这是一种队列。是的,PriorityQueue是一种队列,但是它又是一种什么样的队列呢?它具有着什么样的特点呢?它的底层实现方式又是怎么样的呢?我们一起来看一下。     PriorityQueue其实是一个优先队列,什么是优先队列呢?这和我们前面讲的先进先出(First In

2016-08-05 21:51:33 442

转载 TreeSet&NavigableMap&NavigableSet源码解析 给jdk写注释系列之jdk1.6容器(8)

TreeSet是一个有序的Set集合。  既然是有序,那么它是靠什么来维持顺序的呢,回忆一下TreeMap中是怎么比较两个key大小的,是通过一个比较器Comparator对不对,不过遗憾的是,今天仍然不会讲Comparator,但是需要明白的是TreeSet要实现信息也必须依靠于Comparator接口。     关于Set,在前面我们讲过一个HashSet,是不是想起了什么,Set和M

2016-08-05 21:28:27 371

转载 TreeMap源码解析 给jdk写注释系列之jdk1.6容器(7)

TreeMap是基于红黑树结构实现的一种Map,要分析TreeMap的实现首先就要对红黑树有所了解。     要了解什么是红黑树,就要了解它的存在主要是为了解决什么问题,对比其他数据结构比如数组,链表,Hash表等树这种结构又有什么优点。 1.二叉查询树、红黑树介绍      以下为个人理解,有误请拍砖。。。      下面我尽可能用通俗易懂的语言,简单总结一下数组,链

2016-08-05 21:24:32 433

转载 HashSet源码解析&Map迭代器 给jdk写注释系列之jdk1.6容器(6)

今天的主角是HashSet,Set是什么东东,当然也是一种java容器了。    那么今天的HashSet它又是怎么一回事的,他的存在又是为了解决什么问题呢?     先来看下Set的特点:Set元素无顺序,且元素不可以重复。 。想到了什么?无顺序,由于散列的缘故;不可重复,HashMap的key就是不能重复的。是的,你有想对了。HashSet就是基于HashMap的key来实现的,整个H

2016-08-05 21:17:03 356

转载 LinkedHashMap源码解析 给jdk写注释系列之jdk1.6容器(5)

前面分析了HashMap的实现,我们知道其底层数据存储是一个hash表(数组+单向链表)。接下来我们看一下另一个LinkedHashMap,它是HashMap的一个子类,他在HashMap的基础上维持了一个双向链表(hash表+双向链表),在遍历的时候可以使用插入顺序(先进先出,类似于FIFO),或者是最近最少使用(LRU)的顺序。     来具体看下LinkedHashMap的实现。 

2016-08-05 21:12:43 344

转载 HashMap源码解析 给jdk写注释系列之jdk1.6容器(4)

前面了解了jdk容器中的两种List,回忆一下怎么从list中取值(也就是做查询),是通过index索引位置对不对,由于存入list的元素时安装插入顺序存储的,所以index索引也就是插入的次序。  Map呢是这样一种容器,它可以存储两个元素键和值,根据键这个关键字可以明确且唯一的查出一个值,这个过程很像查字典,考虑一下使用什么样的数据结构才能实现这种效果呢? 1.自己实现一个Map

2016-08-05 14:26:29 347

原创 Iterator的几个方法及意义

迭代器是一个对象,它的工作时遍历并选择序列中的对象。迭代器通常被称为轻量级对象,因为创建它的代价小,Java的Iterator只能用来单向移动。4个方法:1.使用iterator()来返回一个Iterator。2.使用next()获得序列中的下一个元素。3.使用hasNext()检查序列中是否还有元素。4.使用remove()将迭代器新近返回的元素删除。其实,迭代器

2016-08-05 14:07:23 8464 2

转载 Iterator设计模式 给jdk写注释系列之jdk1.6容器(3)

前面讲了两种List,一种基于数组实现的ArrayList,一种基于链表实现的LinkedList,这两种list是我们工作中最常用到的List容器。当然数组和链表也是两种常见的基本数据结构,其他基本数据结构还有堆栈、队列、树等,对java容器的学习,也可以看做是对数据结构的学习和使用。      在ArrayList和LinkedList的分析中,都没有对容器遍历进行分析,前面说过迭代器

2016-08-05 14:04:46 388

原创 Java没有指针怎么实现链表?

在学习LinkedList的时候想过这个问题,猜想就是在内部实现的时候添加定义一个类,其中定义本类型的数据。今天看到了源码。和我想的差不多,很简单。private static class Entry { E element; // 当前存储元素 Entry next; // 下一个元素节点 Entry previous; // 上一个元素节点

2016-08-05 13:56:29 5756

转载 LinkedList源码解析 给jdk写注释系列之jdk1.6容器(2)

原文出处: 吞噬天帝本系列:给jdk写注释系列之jdk1.6容器(1)-ArrayList源码解析 LinkedList是基于链表结构的一种List,在分析LinkedList源码前有必要对链表结构进行说明。1.链表的概念     链表是由一系列非连续的节点组成的存储结构,简单分下类的话,链表又分为单向链表和双向链表,而单向/双向链表又可以分为循环链表和非循环链表,下面

2016-08-05 13:46:11 505

原创 Java为什么使用System.arraycopy来操作数组

在阅读ArrayList源码的过程中发现了底层在实现添加和删除元素的时候,都使用了System.arraycopy方法。在阅读过System.arraycopy源码后,发现了C中的经典复制语句。 while(from    *(to++) = *(from++);          arraycopy 方法是一个本地方法。在 OpenJDK 源码包中可以找到

2016-08-05 13:19:50 773

转载 ArrayList源码解析 给jdk写注释系列之jdk1.6容器(1)

原文出处: 吞噬天帝工作中经常听到别人讲“容器”,各种各样的容器,话说到底什么是容器,通俗的讲“容器就是用来装东西的器皿,比如:水桶就是用来盛水的,水桶就是一个容器。”ok,在我们写程序的时候常常要对大量的对象进行管理,比如查询,遍历,修改等。jdk为我们提供的容器位于java.util包,也是我们平时用的最多的包之一。但是为什么不用数组(其实也不是不用,只是不直接用)呢,因为

2016-08-05 12:28:54 434

转载 JVM内部机制详解

1. 什么是JVM?JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字

2016-08-04 15:19:16 596

原创 多态时子类父类构造器,成员变量及方法的调用顺序。

尊重原创从我做起

2016-07-31 23:05:56 1787

原创 二叉树的前中后序的非递归遍历算法。

今天把二叉树的非递归遍历算法复习了下,在这总结下。三个算法都使用了栈,中序和前序遍历算法大致相同,而后序遍历稍微复杂一点。先写中序遍历。//S是 栈,存储结点,t是树的根结点Inorder(t)//创建栈,将跟结点赋给临时结点pCreate(S),p = t;//如果根为空,返回IF t = null THEN RETURNWHILE p!= n

2016-07-30 21:07:36 467

原创 KPM算法源码

今天突然被问起字符串匹配的算法,竟哑口无言,只剩下一些模糊的印象,回来恶补了一番。朴素的匹配算法很简单,往前找,找不到回退,如果目标字符串长度为m,源字符串长度为n则时间复杂度为O(m*n);而克努斯等人发现了更快的不用回退的算法,即KMP(Knuth,Morris,Pratt)算法,时间复杂度为O(m+n); public class KMPMatch { /*KMP算法是朴素模式匹

2016-07-29 18:06:28 1442

原创 多态继承的运行时绑定

有问题的话多思考,用自己所学知识解决问题才是王道,上网搜答案==没做

2016-07-29 08:59:21 742

原创 网站开发基础知识篇三 Ajax

Ajax,(Asynchronous  Javascript  And   XmL),可以实现在不刷新整个网页的情况下对页面进行局部操作。   比如在注册信息的时候,当用户填写完用户名后,可以立即对该用户名进行校验,而不必等待页面提交之后才进行。   好了,下面写具体的代码。   首先编写一个简单的注册页面。            然后写checkName()方法。

2016-07-27 16:39:25 518

原创 网站开发基础知识篇二 JavaScript知识点

"应该说它是一门非常简单的语言,又是一门非常复杂的语言,说它简单,是因为学会它只需片刻功夫;而说他复杂,是因为要真正掌握它需要数年时间"。(引自《JavaScript高级程序设计》)。因为此前已经掌握了不少高级语言,这篇主要记录Js的特点和知识点。1.Js是一种弱类型,解释执行的语言。   弱类型是说它的数据类型不像C/C++那样有严格的short,int ,long,double,cha

2016-07-26 21:22:32 402

原创 网站开发基础知识篇 一HTML及相关标签

刚开始学网页开发,把基础知识总结一下,如有错误,请指正。我会按照我的学习路线,依次更新博客。 本文读者为和我一样想学习web编程的初学者,写此博客初衷一是巩固所学知识,二是锻炼思维,书写能力,三是分享经验,如果能广交天下好友,那是最好了。

2016-07-25 22:26:24 596

原创 使用win10的心得

我感觉win10系统是通过牺牲内存来提高机器运行速度的,以前win7的时候内存占用3%----5%之间,但运行速度明显不够快,CPU利用率也不高,win10改版后,大幅提高CPU利用率,在启动程序一瞬间能高达99%,大幅提高机器速度,虽然占用了30%--40%的内存,但感觉比之前改进非常大,毕竟内存空着也是空着,从win10大幅度提高内存和CPU利用率这点来看,win10算是win7,win8迈入太空的一步。隐约猜到微软为什么要把系统搞得这么大:

2016-02-22 10:21:34 1461

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除