自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

活在当下

码农的自我救赎

  • 博客(40)
  • 资源 (5)
  • 收藏
  • 关注

转载 URL中的保留和不安全字符

书写URL时要使用US-ASCII字符集可以显示的字符。http://www.google.com如果需要在URL中使用不属于此字符集的字符,就要使用特殊的符号对该字符进行编码。如:最常使用的空格用%20来表示,例如:http://www.google.com/new%20123.html除了那些无法显示的字符外,还需要在URL中对那些保留(reserved)字符和

2018-01-16 17:24:13 3611

转载 java多线程之一_深入分析synchronized的实现原理

记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着我们学习的进行我们知道synchronized是一个重量级锁,相对于Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它。 诚然,随着Javs

2017-06-28 11:27:08 488

转载 java容器之九_ConcurrentHashMap

ConcurrentHashMap融合了hashtable和hashmap二者的优势。hashtable是做了同步的,hashmap未考虑同步。所以hashmap在单线程情况下效率较高。hashtable在的多线程情况下,同步操作能保证程序执行的正确性。但是hashtable每次同步执行的时候都要锁住整个结构。看下图:图左侧清晰的标注出来,lock每次都要锁住整个结

2017-06-21 14:22:30 321

转载 java容器之八_hashTable与hashMap

HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题。HashMap的工作原理、ArrayList与Vector的比较以及这个问题是有关Java 集合框架的最经典的问题。Hashtable是个过时的集合类,存在于Java API中很久了。在Java 4中被重写了,实现了Map接口,所以自此以后也成了Java

2017-06-21 13:31:08 369 1

转载 java容器之七_TreeMap与红黑二叉树

TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与Java提高篇系列博文保持一致还是叫做TreeMap比较好。通过这篇博文你可以获得如下知识点:       1、红黑树的基本概念。       2、红黑树增加节点、删除节点的实现过程。       3、红黑

2017-06-21 11:34:21 2866

转载 java容器之六_Java集合框架源码剖析:LinkedHashSet 和 LinkedHashMap

Java集合框架源码剖析:LinkedHashSet 和 LinkedHashMapJava LinkedHashMap和HashMap有什么区别和联系?为什么LinkedHashMap会有着更快的迭代速度?LinkedHashSet跟LinkedHashMap有着怎样的内在联系?本文从数据结构和算法层面,结合生动图解为读者一一解答。本文github地址总体介绍如果你已看过前面

2017-06-20 17:32:52 417

转载 java容器之五_HashMap

Hashmap是一种非常常用的、应用广泛的数据类型,最近研究到相关的内容,就正好复习一下。网上关于hashmap的文章很多,但到底是自己学习的总结,就发出来跟大家一起分享,一起讨论。 1、hashmap的数据结构 要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构

2017-06-20 14:15:49 239

转载 java容器之四_stack

Stack是一个后进先出(last in first out,LIFO)的堆栈,在Vector类的基础上扩展5个方法而来Deque(双端队列)比起Stack具有更好的完整性和一致性,应该被优先使用[plain] view plain copyE push(E item)            把项压入堆栈顶部。   E pop

2017-06-20 11:16:46 427

转载 java容器之三_Vector和ArrayList的区别

今天研究了一下Vector和ArrayList的源码,又加深了对这两个类的理解。List接口下一共实现了三个类:ArrayList,Vector,LinkedList。LinkedList就不多说了,它一般主要用在保持数据的插入顺序的时候。ArrayList和Vector都是用数组实现的,主要有这么三个区别:1、Vector是多线程安全的,而ArrayList不是,这个可以从源码中

2017-06-15 17:50:27 330

转载 java容器之二_类图

容器框架概述在JDK8中rt.jar文件中,Java.util.*;包中的容器主要包括List、Set、Queue和Map四个大类,其中List、Set、Queue是和Collection接口相关的容器,而Map是单独列出来的容器。使用astah community版绘制了容器框架的类图。Collection的List、Set、Queue类图如下:Map容器的类

2017-06-14 16:15:31 1367

转载 java容器之一_概述

1 数组数组( Array )是一种数据结构,用来存储同一类型值的集合,该类型的值可以是基本类型也可以是对象类型,通过一个整型下标可以访问数据的每一个值,(ps:通过反射模式也可以访问数组元素,即可以是  Array.get()操作,具体方法请查看相关API)数组的基本使用方法就不需要具体介绍了,主要是特点介绍和一般容器类的对比。不同的书本或博客可能对比的方面具体不同

2017-06-14 11:31:01 425

转载 Tomcat源码分析之四_Request和Response处理的全过程

从Tomcat源码分析(二)可知,用户的一个请求会经过n个环节的处理,最后到达开发人员写的Servlet,传给Servlet也就是HttpServletRequest和HttpServletResponse,因此可以认为这一路走下来无非就是把最原始的Socket包装成Servlet里用到的HttpServletRequest和HttpServletResponse,只不过每个环节完成的包装功能和部

2017-06-07 15:18:23 734

转载 Tomcat源码分析之三_ 可携带状态的线程池

最近想实现一个可携带状态的线程池,具体需求就是池中的线程被用来处理某种信息,而此信息可视为线程所依赖的外部状态。如果用简单的线程池来实现,线程初始化时就得赋予某些信息,使得线程无法被再次利用。在看老版Tomcat的源码时,找到了答案,其实现思路主要是利用了线程的等待和唤起,HttpProcessor的实现正好基于此思路,时序图如下所示:初始化HttpProcessor线程时,没法赋

2017-06-07 15:13:08 320

转载 Tomcat源码分析之二_ 一次完整请求

前几天分析了一下Tomcat的架构和启动过程,今天开始研究它的运转机制。Tomcat最本质就是个能运行JSP/Servlet的Web服务器 , 因此最典型的应用就是用户通过浏览器访问服务器,Tomcat接收到请求后转发给Servlet,由Servlet处理完后,把结果返回给客户端。今天就专门解析一下这么一个完整的请求的内部机理。通过DEBUG,一路跟下来,发现Tomcat处理请求的核心

2017-06-07 15:10:20 397

转载 Tomcat源码分析之一_Tomcat架构理解

废话少说,拉代码,导入eclipse开干,具体步骤可以参考http://hi.baidu.com/hateeyes/blog/item/7f44942a20ad8f9d023bf66d.html下面谈谈我对Tomcat架构的理解总体架构:面向组件架构基于JMX事件侦听1)面向组件架构tomcat代码看似很庞大,但从结构上看却很清晰和简单,它主要由一堆组件组成

2017-06-07 10:59:10 391

转载 xml解析之SAX解析xml文件

SAX解析xml文件,将解析出来的结果放到一个bean中,再将所有的baen放到list列表中例子程序的xml文件为:[css] view plain copy"1.0" encoding="UTF-8"?>                 海的女儿          安徒生          50.0元

2017-04-20 11:26:26 287

转载 java thread

Ø线程的概述(Introduction)线程是一个程序的多个执行路径,执行调度的单位,依托于进程存在。 线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间也叫做线程栈,是在建立线程时由系统分配的,主要用来保存线程内部所使用的数据,如线程执行函数中所定义的变量。注意:Java中的多线程是一种抢占机制而不是分时机制。抢占机制指的是有多个线程处于可运行状态,但是只允许

2017-04-19 16:46:20 279

转载 JDK目录结构和文件作用介绍

要想深入了解Java必须对JDK的组成, 本文对JDK6里的目录做了基本的介绍,主要还是讲解了下JDK里的各种可执行程序或工具的用途Java(TM) 有两个平台 JRE 运行平台,包括Java虚拟机,运行类库,java应用程序装载器。JRE不是开发环境,所以不包括编译器,调试器,有需要这些请安装JDK(TM)    //说明 :环境为Windows XP SP3 下 的JDK为

2017-04-19 14:16:46 1747

转载 乱码问题之文件,文本文件以及编码

在前面的字符集编码系列中,已经探讨了几大主要的字符集编码。在此基础之上,这里将进一步探讨编码的应用及乱码的根源,我们先从基本的文件说起。文件文件(内容)就是字节序列。文本文件也是文件,所以它也是字节序列。文件名与文件内容通常说到文件时,指的是文件内容,但文件还有文件名,文件名与文件内容是分开存储的。你可以在硬盘上新建一个文件,它的大小为0.如下:但它是有文件名的

2017-04-19 10:43:37 3890 1

转载 字符集与编码八之ASCII和ISO-8859-1

在前面其实也谈到了ASCII了,但并没有很具体,作为一个完整系列的一部分,还是有必要谈一下,也作为后面讨论的一些基础。ASCII它的全称是American Standard Code for Information Interchange(美国信息交换标准代码),是一个7位字符编码方案。下面是它的一张简图(来自http://www.asciitable.com/index/asci

2017-04-19 10:07:42 3172

转载 字符集与编码七之BOM

在前一篇的最后,留下了一个问题,即string.getBytes(“UTF-16”)会在开头多出两个字节”FEFF”来,Unicode中称之为BOM,接下来就让我们一起来了解有关BOM的知识,在此之前我们需要说说有关端法的知识。什么是端法(endian)?在具体介绍它之前,让我们先看看鸡蛋的两种摆法:大家看出区别来了吗?上面的一排都是尖的一端(或者说小端)向着左,较圆的一端

2017-04-19 09:48:40 1295

转载 字符集与编码五之代码单元及length方法

在前一篇章中已经谈了不少Unicode中的重要概念,但仍还有一些概念没有提及,一则不想一下说太多,二则有些概念也无法三言两语就说清楚,本文在此准备谈一下代码单元及由此引发的一些话题。什么是代码单元?UTF-8,UTF-16和UTF-32中的8,16和32究竟指什么?代码单元指一种转换格式(UTF)中最小的一个分隔,称为一个代码单元(Code Unit),因此,一种转换格式只会包含整

2017-04-18 15:42:44 766

转载 字符集与编码四之Unicode

前面谈到不少的Unicode,但一直没有系统地谈及Unicode的方方面面,所以本篇文章专门谈谈Unicode,当然了,Unicode是一个庞大的主题,这里也是拣些重要的方面谈谈而已,免不了挂一漏万。什么是Unicode?按Unicode官方的说法,Unicode是Unicode Standard(Unicode标准)的简写,所以Unicode即是指Unicode标准。按wik

2017-04-18 15:23:45 607

转载 字符集与编码三之定长与变长

☯,首先,这并不是图片,这是一个unicode字符,Yin Yang,即阴阳符,码点为U+262F。如果你的浏览器无法显示,可以查看这个链接http://www.fileformat.info/info/unicode/char/262f/index.htm。这与我们要讨论的主题有何关系呢?下面我会谈到。连续式表示带来的分隔难题计算机的底层表示在计算机的最底层,一切都成了0

2017-04-18 14:46:14 2783

转载 字符集与编码二之编号 vs 编码

在深入研究字符集编码,简称编码之前,我们先引入一个概念:编号(code),引入它是为了更好地与编码(encode)相区分。如果你对Unicode有深入了解,你也许已经意识到了Unicode中码点(code point)扮演的正是编号的角色。类似的还有GB系列中所谓的区位码。其实叫什么并不重要,爱咋咋地,我并不关心。但乱叫容易叫混了,比如把码点也叫成Unicode编码,这里先把这些归

2017-04-18 14:43:36 612 1

转载 字符集与编码一之charset and encoding

许多时候,字符集与编码这两个概念常被混为一谈,但两者是有差别的,作为深入理解的第一步,首先要明确:字符集与字符集编码是两个不同层面的概念charset是character set的简写,即字符集。encoding是charset encoding的简写,即字符集编码,简称编码。与接口及接口实现的对比可以把这两者与接口及接口实现做个对比:

2017-04-18 14:24:34 550

转载 java学习计划

Java 学习计划第一部分在搭建SSM的过程中,可能会经常接触到一个叫maven的工具。这个工具也是你以后工作当中几乎是必须要使用的工具,所以你在搭建SSM的过程中,也可以顺便了解一下maven的知识。在你目前这个阶段,你只需要在网络上了解一下maven基本的使用方法即可,一些高端的用法随着你工作经验的增加,会逐渐接触到的。  第二部分:对于参加工作一年以内

2017-03-09 18:06:28 299

转载 JNDI总结

原理:         在DataSource中事先建立多个数据库连接,保存在数据库连接池中。当程序访问数据库时,只用从连接池中取空闲状态的数据库连接即可,访问结束,销毁资源,数据库连接重新回到连接池,这与每次去直接访问数据库相比,会节省大量时间和资源。         JNDI( Java Naming and Directory Interface ),是Java平台的一个标准扩展,提

2016-12-01 15:48:30 237

转载 JMX超详细解读

JMX超详细解读一、JMX的定义    JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。这是官方文档上的定义,我看过很多次也无法很好的理解。我个人的理解是JMX让程序有被管理的功能,例如你开发一个WEB网站,它是在24小时不间断

2016-12-01 14:18:12 4648

转载 java intern解析

引言在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊。它的主要使用方法有两种:直接使用双引号声明出来的String对象会直接存储在常量池中。如果不是用双引号声明的St

2016-11-30 18:10:38 841

转载 java字符类型高低代理

Java语言内部的字符信息使用UTF-16编码,因为char类型是16-bit,可以有65536种取值,每个编号代表一个字符。但是,Unicode包含的字符已经远远超过65536个。编码大于65536的,还想用16-bit,怎么办呢?於是,Unicode 標準制定組想出的辦法就是,從這65536個編號裏,拿出2048個,規定它們是「Surrogates」,讓它們兩個為一組,來代表編號大於655

2016-11-22 18:07:38 505

转载 Eclipse导入Tomcat源码

准备:1.Tomcat源码下载这个里下载tomcat-6.0.33源码。2.ant安装,用于编译tomcat的源码。ant下载解压后将其bin添加到系统环境path中。3.IDE——选用Eclipse3.7。 =================================第一步:解压Tomcat源码,例如解压到D:

2016-11-16 15:36:18 419

转载 java的位操作

public class Test { public static void main(String[] args) { // 1、左移( << ) // 0000 0000 0000 0000 0000 0000 0000 0101 然后左移2位后,低位补0:// // 0000 0000 0000 0000 0000 0000 0001 0100 换算成10进制为20 Sys

2016-11-09 09:14:05 273

转载 Integer和int的比较

package com.test;/** * * @author 刘玲 * */public class TestInteger { /** * @param args */ public static void main(String[] args) { int i = 128; Integer i2 = 128

2016-11-06 22:26:19 297

原创 java多线程之CAS

CAS操作 在java中可以通过锁和CAS操作来实现操作的原子性。cas即compare and set的缩写。JVM中的CAS操作利用了处理器提供的CMPXCHG指令实现。自旋CAS实现的基本思路就是循环进行CAS操作直到成功为止。下面的代码展示的是如何通过CAS算法来实现线程同步:package chapter02;import java.util.ArrayList;import java

2016-03-01 11:59:31 1282

转载 tomcat服务器值HTTP请求

HTTP由两部分组成:请求和响应。当你在Web浏览器中输入一个URL时,浏览器将根据你的要求创建并发送请求,该请求包含所输入的URL以及一些与浏览器本身相关的信息。当服务器收到这个请求时将返回一个响应,该响应包括与该请求相关的信息以及位于指定URL(如果有的话)的数据。直到浏览器解析该响应并显示出网页(或其他资源)为止。HTTP请求HTTP请求的格式如下所示:[

2015-01-31 15:29:04 743

原创 反射获取方法

java反射获取方法

2015-01-25 21:20:08 469

原创 反射获取构造器对象

java通过字节对象可以获取class类中的构造函数,以下三种分别为获取无参的构造函数、公有的构造函数和私有的构造函数。people对象的代码如下:public class People {private String name;private String sex;private int age;public People(){System.out.println(

2015-01-25 17:20:13 374

原创 反射获取class对象的三种方式

package com.wzd;Class Person{}1、获得Class对象方式之一通过Class.forName()获取Class对象   Class cla=Class.forName("com.wzd.Person");//获得Class对象方式之一通过Class.forName()获取Class对象2、获得Class对象方式之二:使用对象的ge

2015-01-25 12:59:13 741

转载 MyEclipse 快捷键

----------MyEclipse 快捷键1(CTRL)----------Ctrl+1 快速修复Ctrl+D: 删除当前行 Ctrl+Q  定位到最后编辑的地方 Ctrl+L  定位在某行Ctrl+O  快速显示 OutLineCtrl+T  快速显示当前类的继承结构Ctrl+W  关闭当前EditerC

2015-01-25 11:54:19 319

eXtremeComponents jar+doc+example

ECTable是一款功能强大的数据展示插件,页面美观,功能强大,并内置有导出Excel、pdf等功能,经过本人实践,真的很好用!并且附上在网上找到的一篇很好的说明文档,包你满意!

2012-12-11

spring 中文api(珍藏版)

中文的spring api 对于初学者来说应该能很快上手 最重要的是中文啊 亲

2012-08-16

热带鱼水族箱屏幕保护程序

很漂亮的屏幕保护程序 激活码:QBDFM25ZQWBTS56OWUPR

2011-11-06

SQLServer2005_SSMSEE

主要用于管理SQL Server 2005 相当于SQL Server 2000的企业管理器

2011-11-06

图书馆管理系统案例与设计

图书馆管理系统 数据库设计与维护 数据库设计语言 图书管理系统的设计思想

2011-06-28

空空如也

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

TA关注的人

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