自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 资源 (3)
  • 收藏
  • 关注

转载 Java移位运算符详解实例--左移位运算符<<、右移位运算符>>>、带符号的右移位运算符>>

移位运算符也针对二进制的“位”,它主要包括:左移位运算符(>>)、带符号的右移位运算符(>>)。 1.左移运算符左移运算符用“public class data17{public static void main(String[] args){int a=2;int b=2;System.out.println("a 移位的结果是:"+(a}}

2017-04-25 12:14:12 973

原创 DNS域名解析基础知识

一、DNSDNS,Domain Name System或者Domain Name Service(域名系统或者域名服务)。域名系统为Internet上的主机分配域名地址和IP地址。由于网络中的计算机都必须有个IP地址,来识别, 互相之间才能通信,但让我们记住一大串的IP地址来访问网站显然是不可能的,所以用户使用域名地址,而DNS系统的功能就是自动把域名地址翻译为IP地址。域名服务是运行域名系统

2016-05-30 10:34:05 1018

原创 HTTP : Request Headers和Response Headers总结备忘

Requests部分Header解释示例Accept指定客户端能够接收的内容类型Accept: text/plain, text/htmlAccept-Charset浏览器可以接受的字符编码集。Accept-Charset: iso-8859-5Accept-Encoding

2016-01-19 12:01:02 3926

原创 MySQL与Java数据类型对照表

类型名称数据库类型JAVA类型BIT(1) (new in MySQL-5.0)BITjava.lang.BooleanBIT( > 1) (new in MySQL-5.0)BITbyte[]TINYINTTINYINTjava.lang.Boolean if the conf

2016-01-13 20:37:13 546

转载 MySQL数据类型及范围用法一览表

本文转载至:http://www.metsky.com/archives/84.html一、MySQL的数据类型主要包括以下五大类:整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT浮点数类型:FLOAT、DOUBLE、DECIMAL字符串类型:CHAR、VARCHAR、TINY TEX

2016-01-13 20:11:08 962

原创 MySQL慢日志查询用法

mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的 打开 my.ini ,找到 [mysqld] 在其下面添加 long_query_time = 2log-slow-queries = D:/mysql/logs/slow.log #设置把日志写在那里,可以为空,系统会给一个缺省的文件#log-slow-queries = /var/y

2016-01-12 20:57:29 562

原创 程序员世界的专有名词

2016-01-07 13:54:16 1638

原创 常用正则表达式大全

一、校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2

2016-01-06 09:33:23 371

原创 java内存溢出示例(堆内存、栈内存)

1、堆内存溢出示例:/** * Created by Chengrui on 2015/8/23. * java OutOfMemoryError test */public class Heap { public static void main(String[] args){ List list = new ArrayList();

2015-08-23 18:24:24 608

原创 过滤器(Filter)和拦截器(Interceptor)的区别

简单来说,区别如下:1、Filter基于回调函数,我们需要实现filter接口中的doFilter方法就是回调函数,而interceptor则是基于java本身的反射机制,这是两者最本质的区别。2、Filter是依赖于servlet容器的,即只能在servlet容器中执行,很显然没有servlet容器就无法来回调doFilter方法。而interceptor与servlet容器无关。3

2015-08-19 18:11:25 385

原创 RPC和WebService等相关远程通信概念理解

1、RPC:(Remote Procedure Call Protocol)RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“classname.methodname”形式。优点:跨语言跨平台,C端、S端有更大的独立性。缺点:不支持对象,无法在编译器检查出错误,只能在运行期检查发现错误。2、JMS

2015-08-18 19:49:04 1845

原创 RESTful架构详解

传统上,软件和网络是两个不同的、互不相通的领域,没有交集;软件开发主要都是单机环境,网络则主要负责系统之间的通信。      互联网的兴起和发展,慢慢使得这两个领域不得不开始融合到一起,所以现在我们在软件开发的时候必须考虑在互联网环境下使用的情况。               RESTful架构,就是目前最流行的一种互联网软件架构,也就是说以网络为基础的应用软件的架构设计。

2015-08-18 18:06:42 442

原创 java并发编程之volatile详解

引言:在多线程并发编程中synchronized和volatile都扮演着重要的角色,volatile是轻量级的synchronized,它在多线程开发中保证了共享变量的“可见性”,可见性的意思是当一个线程修改了一个共享变量时,其他的线程能读到这个修改的值。在某些情况下,volatile比synchronized的开销要更小。volatile的官方定义:java编程语言允许线程

2015-07-30 17:33:03 452

原创 JVM运行时刻内存的分配详解

文字描述:jvm内存区域(JMM)有一块区域是jvm虚拟机栈,每一个线程运行时都有一个自己的线程栈,线程栈保存了线程运行时候变量值信息,且线程之间互不干扰。当线程访问某一个对象的值的时候,首先通过对象的引用找到该对象在对应的堆内存里的具体值,然后把堆内存里变量的具体值load到线程本地内存中,建立一个变量副本,之后,线程就不与该对象在堆内存里变量的值有任何关系,而是直接操作副本变量的值,然后再

2015-07-30 16:22:54 649

原创 java并发编程之CountDownLatch详解

最近遇到这样一个功能要求:假设现在有T1,T2,T3共3个线程,如何保证T4第4个线程在前3个线程执行完毕后再执行(jdk层面实现)?实现方式:使用CountDownLatch代码:CountDownLatchExample.javapackage com.ccr.common.thread.concurrent;import java.util.concurrent.Co

2015-07-29 11:59:18 713

原创 java用volatile或AtomicBoolean实现高效并发处理 (只初始化一次的功能要求)

最近碰到一个这样的功能要求:实现高效并发处理,只初始化一次.      实现方式:1)

2015-07-28 19:56:12 3804 3

转载 JVM垃圾分代回收算法详解

注明,本文转载至:http://pengjiaheng.iteye.com/blog/524024为什么要分代    分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。     在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Ses

2015-07-24 18:43:26 585

原创 java可变参数使用总结

java1.5新特性中增加了可变参数:      特点:      适用于方法参数类型确定,数量不确定的情况。      注意:写法中...位于变量类型和变量名之间 ,前后有无空格都可以;一个方法最多只能有一个可变参数,且该可变参数只能是该方法的最后一个参数;调用方法的时候,可以给可变参数任意多个参数,也可以不给参数;在调用方法的时候,如果能够与固定参数的方法相匹配,也能够

2015-07-22 18:17:04 534

原创 java中对get和set方法的理解

首先,理解一下java面向对象编程中的封闭性和安全性。封闭性即对类中的域变量进行封闭操作,即用private来修饰他们,如此一来其他类则不能对该变量访问。这样我们就将这些变量封闭在了类内部,这样就提高了数据的安全性,当我们想要操作这些域变量怎么办呢?我们可以通过两种方法,第一中即通过public方式的构造器(或称构造函数),对象一实例化就对该变量赋值。第二种就是通过上面提到的set和get方法

2015-07-21 17:29:34 2927

原创 JVM类加载—编译与泛型

java中的泛型,是伪泛型,只是简单的在API级别做了"模样",但是对于类的编译过程,则会导致泛型类型的擦除,即编译过程或者编译之后的文件中,最终泛型仍然以"原生类型"表示.即在运行时无法直接还原"泛型",java还支持了反射机制,为了让反射机制能够和"泛型"配合,那么java最终提供了Generic(例如GenericArrayType)和ParameterizedType来配合获得泛型(和参数

2015-07-20 16:22:24 1053

原创 JVM类加载双亲委派模型

双亲委派模型        JVM并没有使用继承关系来组织这三种类加载器,而是采取了组合关系(即classLoader.setParent(...)).        工作过程:如果一个类加载器接收到了类加载的请求,它首先把这个请求委托给他的父类加载器去完成,每个层次的类加载器都是如此,因此所有的加载请求都应该传送到顶层的启动类加载器中,只有当父加载器反馈自己无法完成这个加

2015-07-20 15:56:02 441

原创 JVM类加载机制总结

一、类加载1、概述Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。     虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用

2015-07-20 15:09:54 460

转载 guava cache编程实践总结

guava cache是google开源代码库中的一个辅助功能模块,可以作为JVM嵌入式cache来使用,基于key-value模型。对于Rdedis、Memcached,这种缓存系统,我们称之为“分布式缓存”,它们通过集群扩容,可以将海量数据cache在远端。而guava cache,作为“嵌入式cache”,这些cache的数据寄宿在当前JVM堆中,和JVM进程具有共同生命周期。它具备如下特点

2015-07-20 12:16:28 4406

原创 基于SpringMVC的web应用的ContextLoaderListener与DispatcherServlet标准组合配置

A standard spring web application create a web.xml with ContextLoaderListener and DispatcherServlet. I understand that the ContextLoaderListener should be used to load the stuff that is not web re

2015-07-13 17:11:00 360

原创 java单例模式详解

1、懒汉模式:      特点:lazy loading很明显,也就是在需要的时候才加载,也就是我们常说的延迟加载。(1)线程不安全:public class Singleton { private static Singleton instance; public static Singleton getInstance() { if (in

2015-06-13 18:39:11 527

原创 oracle中的exists 和in 用法区别详解

有两个简单例子,以说明 “exists”和“in”的效率问题1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ;    T1数据量小而T2数据量非常大时,T12) select * from T1 where T1.a in (select T2.a from T2) ;     T1数据量非常大而

2015-01-28 14:35:34 546

原创 Xfire,Axis,axis2以及cxf对比

1、JWS是Java语言对WebService服务的一种实现,用来开发和发布服务。而从服务本身的角度来看JWS服务是没有语言界限的。但是Java语言为Java开发者提供便捷发布和调用WebService服务的一种途径。 2、Axis2是Apache下的一个重量级WebService框架,准确说它是一个Web Services / SOAP / WSDL 的引擎,是WebService框架的

2014-12-12 19:02:37 410

原创 jQuery对象和DOM对象之间的区别与相互转化

1、DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象;例如:var domObj = document.getElementById("id"); //DOM对象         var $obj = $("#id"); //jQuery对象; jQuery对象就是通过jQuery包装DOM对象后产生的

2014-12-11 19:13:50 497

原创 Windows下安装memcached的步骤

1、先下载memcached for win32 2、下载地址1:http://filemarkets.com/fs/8tdo6ndg41d919599/ 3、下载地址2:http://www.400gb.com/file/30486304 4、下载后解压,比如解压到D盘的memcached文件夹中 5、打开 开始-->运行-->cmd 调出命令窗口,使用命令进入到

2014-12-08 19:33:10 392

原创 eclipse中,将java工程转换成web工程

1. 编辑工程的.project文件。添加 nature>org.eclipse.wst.common.project.facet.core.naturenature> 到natures>... natures>2. 刷新项目,右击项目–>Properties—>Project Facets,在右边勾选Java、javascript(非

2014-12-04 15:55:51 841

转载 Eclipse 浏览文件(直接打开workspace文件)插件:EasyExplorer 和 OpenExplorer

EasyExplorer  是一个类似于 Windows Explorer的Eclipse插件,它可以帮助你在不退出Eclipse的环境下浏览本地文件系统下载地址:从 http://sourceforge.net/projects/easystruts/http://ncu.dl.sourceforge.net/project/easystruts/Easy Explorer fo

2014-12-04 15:43:06 784

转载 Java中遍历Map的两种方法:keySet和entrySet

//方法一 Set set = map.keySet(); for (String s:set) { System.out.println(s+","+map.get(s)); } //方法二 Set> entryseSet=map.entrySet(); for (Map.Entry entry:entryseSet) { S

2014-05-06 17:23:02 480

原创 svn:Attempted to lock an already-locked dir异常解决方法

update F:/sword/workspace/xfeq -r HEAD --force    Attempted to lock an already-locked dirsvn: Working copy 'F:\sword\workspace\xfeq\jsmin\config' locked

2014-04-25 10:54:29 7523

原创 java中(PO,VO,TO,BO,DAO,DTO,QO,POJO)等概念的理解

PO(persistant object) 持久对象 在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。

2014-04-24 18:48:08 1622

原创 ORM中VO和PO的区别与联系

Object Relational Mapping,简称ORM.通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。 VO,值对象(Value Object),PO,持久对象(Persisent Object),它们是由一组属性和属性的get和set方法组成。从结构上看,它们并没有什么不同的地方。但

2014-04-23 18:12:51 1444

原创 eclipse反编译插件jad的安装(附:安装文件具体地址)

我们分为四步:1、下载eclipse插件:jadclipse_3.1.0.jar    网址: http://jadclipse.sourceforge.net/   直接将jadclipse_3.1.0.jar 复制到eclipse的安装目录下的plugins目录下。注意:jadclipse_3.1.0.jar的版本与eclipse的platform版本号相关jadclips

2014-02-27 14:51:13 740

原创 数据库连接池技术原理详解

连接池原理连接池技术的核心思想是:连接复用,通过建立一个数据库连接池以及一套连接使用、分配、治理策略,使得该连接池中的连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。另外,由于对JDBC中的原始连接进行了封装,从而方便了数据库应用对于连接的使用(非凡是对于事务处理),提高了开发效率,也正是因为这个封装层的存在,隔离了应用的本身的处理逻辑和具体数据库访问逻辑,使应用本身的

2013-12-23 16:40:41 516

原创 bat文件运行后 cmd窗口不关闭的三种方式总结

第一种:在批处理文件里面的最后一行加上 cmd /k, 进程管理器里面发现两个cmd.exe 进程。第二种: 在批处理文件里面的最后一行加上 pause,但你随便按个键后,窗口照样会关闭。第三种:是改注册表,在HKEY_CLASSES_ROOT/batfile/shell/open/command 里面把默认项的值改成cmd /E:ON /V:ON

2013-10-21 18:18:33 31367

原创 java写文件时往末尾追加文件(而不是覆盖原文件),的两种方法总结

代码如下:import java.io.FileWriter;import java.io.IOException;import java.io.RandomAccessFile;public class AppendToFile { /** * A方法追加文件:使用RandomAccessFile */ public static void app

2013-10-21 17:02:54 10162 1

原创 JAVA获取时间戳的三种方式

下面是java获取时间戳的三种方式://方法 一 测试用时:287System.currentTimeMillis(); //方法 二 测试用时:8903Calendar.getInstance().getTimeInMillis(); //方法 三 测试用时:478new Date().getTime(); 经过自己测试,结果发现 System.curre

2013-10-21 14:32:42 1461

spring_hibernate_struts2的理解

这是对spring_hibernate_struts2的理解,可以在面试中简要的抓住重点进行陈述。

2013-04-23

java线程编程大全

这是一本java面试的总结,里面含有如下方面: 线程 jsp servlet jdbc jdo

2013-04-22

JAVA面试变态32问(精华版)

java面试 变态 32问 这是我从网上集合下来然后整理的精华版,望给各位面试的朋友一个帮助

2013-04-21

空空如也

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

TA关注的人

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