05 2015 档案
摘要:coalesce(字段,默认值)select coalesce(title,'liu') from a
阅读全文
摘要:setInterval()循环执行相应的方法 setTimeout()规定时间后执行1.setTimeout(Expression,DelayTime),在DelayTime过后,将执行一次Expression,setTimeout 运用在延迟一段时间,再进行某项操作。setTimeout("",t...
阅读全文
摘要:js转换引用json.js(将json格式转换成字符串var name = document.getElementById("name").value; var retries = document.getElementById("retries").value; var testnam...
阅读全文
摘要:criteria英[kraɪˈtɪərɪə]美[kraɪˈtɪrɪə]Hibernate 设计了 CriteriaSpecificationHibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria和DetachedCrit...
阅读全文
摘要:s 字符串转化成数字 的 三种方法主要有转换函数、强制类型转换、利用js变量弱类型转换。1. 转换函数:js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是Na...
阅读全文
摘要:一、字符串转日期下面将讲述如何在MYSQL中把一个字符串转换成日期:背景:rq字段信息为:201009011、无需转换的:SELECT * FROM tairlist_day WHERE rq>'2010-07-31' AND rq'2010-08-01' AND DATE_FORMAT( rq, ...
阅读全文
摘要:freemarker在解析数据格式的时候,默认将数字按3位来分割例如1000被格式化为1,000 这样做看似美观,但在实际操作时候会带来问题。例如我一个页面有一个元素,该元素的值由后台绑定且超过1000,那么当我要使用这个元素的值的时候,便会出现问题。例如,ftl文件中这样写:假设后台绑定的s...
阅读全文
摘要:FreeMarker标签使用FreeMarker模板文件主要有4个部分组成 1、文本,直接输出的部分 2、注释,即格式不会输出 3、插值(Interpolation):即${..}或者#{..}格式的部分,将使用数据模型中的部分替代输出 4、FTL指令:FreeMarker指令,和HTML标...
阅读全文
摘要:查询的时候有个属性跟表里的字段不符合,没有完全匹配上。
阅读全文
摘要:在Mysql数据库中使用DATETIME类型来存储时间,使用JDBC中读取这个字段的时候,应该使用 ResultSet.getTimestamp(),这样会得到一个java.sql.Timestamp类型的数据。在这里既不能使用 ResultSet.getDate(),也不能使用ResultSe...
阅读全文
摘要:在做web开发是,经常都要在eclipse中搭建web服务器,并将开发中的web项目部署到web服务器进行调试,在此,我选择的是tomcat服务器。之前部署web项目到tomcat进行启动调试都很正常,今天突然出现无法启动情况,启动过程报如下错误:java.lang.ClassNotFoundExc...
阅读全文
摘要:定制导出模版当然这不是我们想要的word,下面看如何做一个自定义模版1. 在工具栏中选择【Report -->Reports】,如下图点击第二个图标创建一个Template,如下图2. 选中Physical Data Model,OK确认在Available items区域找到List of Tab...
阅读全文
摘要:1. 在工具栏中选择【Report -->Reports】,如下图2. 点击第二个图标创建一个Report,如下图该wizard中有三个信息Report name Report : Report名字,也是导出word的文件名Language :语言,有中文汉化包选择Simplified Chines...
阅读全文
摘要:使用maven开发web应用程序, 启动的时候报错:jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class然后输出错误:严重: Exception starti...
阅读全文
摘要:1 按照数据库类型,切换数据库。Database-> Change Current DBMS...2 生成sql脚本Database -> Database Generation 的Preview选项卡点击保存按钮,保存产生的sql脚本到本地。
阅读全文
摘要:数据类型的比较char表示的是固定长度,最长n个字varchar表示的是实际长度的数据类型比如:如果是char类型,当你输入字符小于长度时,后补空格;而是varchar类型时,则表示你输入字符的实际长度(n为某一整数,不同数据库,最大长度n不同)CHAR:CHAR存储定长数据很方便,CHAR字段上的...
阅读全文
摘要:首先统计所有,以表格查看数字类型列类型需要的存储量TINYINT1 字节SMALLINT2 个字节MEDIUMINT3 个字节INT4 个字节INTEGER4 个字节BIGINT8 个字节FLOAT(X)4 如果 X < = 24 或 8 如果 25 < = X < = 53FLOAT4 个字节DO...
阅读全文
摘要:Jdk 1.5以上java开发环境。EclipseIDE一个。Maven3.0.3下载地址:http://maven.apache.org/docs/3.0.3/release-notes.html第一步:配置maven环境将下载文件解压,然后设置maven环境如果你配置过jdk的话,这里对你应该不...
阅读全文
摘要:这里假设svn上的项目为maven项目首先从svn检出项目其中项目名称code可自己定义更改新的名称从svn检出的项目结构然后将项目转化成相关的项目转换加载中加载/下载 maven相关内容转化完成之后其中可能有些包或者其他的小错误,自己解决就好
阅读全文
摘要:在eclipse使用maven则需要给eclipse安装maven插件,具体安装maven插件安装相关文章构建Maven项目以eclipse3.6为例1)创建简单Maven项目点击Eclipse菜单栏File->New->Ohter->Maven得到如下图所示对话框:选中Maven Project并...
阅读全文
摘要:当DIV1里面嵌套有一个DIV2,当DIV2设置了浮动,那么DIV1是无法被撑开的当DIV1里面嵌套有一个DIV2,当DIV2设置了浮动,那么DIV1是无法被撑开的,也就是说DIV2在这里相当于浮在了页面上方,跟DIV1不在同一个层面,导致了DIV2无法把DIV1给撑开,这是一个老生常谈的问题,也是...
阅读全文
摘要:a标签去掉下划线a{text-decoration:none;}或者把这个属性分别加到a标签下,a:link{text-decoration:none;}a:visited{text-decoration:none;}a:hover{text-decoration:none;}a:active{te...
阅读全文
摘要:1、parent([expr]):获取指定元素的所有父级元素href_firhref_sechref_thrhref_fiv$(document).ready(function(){$("a").parent().addClass('a_par');});
阅读全文
摘要:1、查找子元素方式1:>例如:var aNods = $("ul > a");查找ul下的所有a标签2、查找子元素方式2:children()3、查找子元素方式3:find()这里再简单介绍以下children()和find()的异同:1> children及find方法都用是用来获得element...
阅读全文
摘要:1、next([expr]):获取指定元素的下一个同级元素(注意是下一个同级元素哦)参数可有可无,参数设定遵循jquery选择器规则 list item 1 list item 2 list item 3 list item 4 list item 5这个例子的结果是,只有l...
阅读全文
摘要:超级简单的方法,也不用写什么判断浏览器高度、宽度啥的。下面的两种方法自选其一就行了。一个是放在和iframe同页面的,一个是放在test.html页面的。注意别放错地方了哦。iframe代码,注意要写IDjquery代码1://注意:下面的代码是放在test.html调用(主要还是第一种方式)$(w...
阅读全文
摘要:先看一个示例,有两个页面,1.html通过iframe嵌入2.html,两个页面都是同域的a.html 1.html b.html,很多P元素将高度撑高一些 b.html 这是一个ifrmae,嵌入在http://snandy....
阅读全文
摘要:iframe是作为在网页中嵌套网页的标签runat="server" 这个最好加上Iframe跳转 asp.net 可在当前iframe中跳转src 链接到的地址URlframeborder 是否显示边框(0无边框 1有边框)scrolling 是否有滚动条(yes有滚动条 no无滚动条)allo...
阅读全文
摘要:css代码 jquery代码
阅读全文
摘要:制作一个需要显示颜色的圆点。这个前面会显示你制作的圆点,也可以网上找这样的图片。paddin-left:20px数值可根据要求进行调整
阅读全文
摘要:按F12键,然后切换到Source标签,看底下的那个跟暂停一样的图标是不是变成蓝色或紫色了? 如果是蓝色或者紫色,则把他切换到“灰色”状态(点击图标就会切换成不同的状态。或者可能是其他颜色状态),如下图:
阅读全文
摘要:1.我的eclipse路径为eclipse_Home,在eclipse文件夹下建文件夹MyPlugins.2.下载插件并解压得到包含features和plugins的文件夹theXXX.3.完成复制和建立文件夹的操作之后,如下所示${eclipse_Home}\MyPlugins\theXXX\...
阅读全文
摘要:装IDE Plugins的方法有很多。其一:在线安装通过Help-->Install New Software的方式,输入HTTP地址来安装,简单易操作,但是也优缺点,就是下载速度慢,或者有的时候干脆搜索不到要安装的插件。使用第一种方式来安装,输入 http 地址:http://m2eclipse....
阅读全文
摘要:在eclipse中安装svn有两种方式1:直接下载svn的插件包安装使用的版本为1.8.xLinks for 1.8.x Release: Eclipse update site URL: http://subclipse.tigris.org/update_1.8.x svn插件包下载: http...
阅读全文
摘要:修改 maven 仓库存放位置:找到 maven 下的 conf 下的 settings.xml 配置文件,假设maven安装在D:\Server目录中。那么配置文件应该在 D:\Server\maven\conf\settings.xml maven 的仓库默认是放在本地用户的临时文件夹下面的 ...
阅读全文
摘要:本文测试安装maven3 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成。Maven是 Apache 下的一个项目,目前最新版本是 3.0.4,我用的也是这个。首先去官网下载 Maven:http://www.apache.org/dyn/closer.cgi/maven/bina...
阅读全文
摘要:1. 查看你的Eclipse中使用的是什么SVN Interfacewindows > prefeSence > Team > SVN #SVN Interface2. 如果是用的JavaHL, 找到以下目录并删除auth目录.(win8略有区别,但是只要搜索到subversion就可以,主要是ap...
阅读全文
摘要:使用HttpClient,总是报出“Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.”的WARN日志,定位到HttpClient的...
阅读全文
摘要:通常情况,通过网络爬虫挖取到的基本为网页静态内容,而动态ajax取数的内容是我个人暂时不知如何一次性把网站中的ajax获取这里介绍的是某个网站中的某一个ajax多某个table刷新,期数据,并提供其他操作,如下载:假设我们需挖取某一个网站:例:某个网站中的那些pdf文件,并下载下来首先:需要分析期网...
阅读全文
摘要:出现次错误的原因主要是在windows系统下创建文件需要遵循其文件名的规则。导致创建文件失败,从而提示filenotfound异常,文件未找到Windows 中文件夹命名规则是:① 文件名或文件夹名可以由1~256个西文字符或128个汉字(包括空格)组成,不能多于256个字符。② 文件名可以有扩...
阅读全文
摘要:Struts1和Struts2都是MVC设计模式的经典应用框架,下文从代码,性能,测试,功能等方面对Struts1和Struts2进行简单比较,来看看Struts的高级版本在哪些方面进行了优化。(1)Action 类: Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问...
阅读全文
摘要:Spring MVC工作流程图图一图二Spring工作流程描述 1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获; 2.DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用Han...
阅读全文
摘要:对于分析SpringMVC,其实就是遵循Servlet世界里最简单的法则“init-service-destroy”。对于分析SpringMVC的初始化流程,就是分析DispatcherServlet类的init()方法。DispatcherServlet作用 DispatcherServlet是...
阅读全文
摘要:1. 简单工厂又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但...
阅读全文
摘要:/** * 人民币转成大写 hangeToBig * * @param value * @return String */ public static String 人民币转成大写(double value) { ...
阅读全文
摘要:package 运算及类型转换类; import java.text.DecimalFormat; public class 控制小数点类 { public static double decimalFormatD(int num, double d){ ...
阅读全文
摘要:1.通过读取文件配置package 数据库操作类; /* * Db.java Created on 2007年8月20日, 上午 8:37 */ import java.io.*; import java.sql.*; import j...
阅读全文
摘要:结构图: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMap ------------------------------...
阅读全文
摘要:package 集合类.list类; /** * System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。 一.优点 1。支持自动改变大小的功能 2。可以灵活的插入元素 3。可以灵活的删除元素 * @autho...
阅读全文
摘要:这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,,并且其中的数据是允许重复的,这是HashSet之类的集合的最大不同处,HashSet之类的集合不可...
阅读全文
摘要:package 集合类.list类; /** * List可以精确控制在集合里面的先后顺序。 * 可以直接通过数据的位置访问数据。 * 一般允许重复数据 * 一般允许null,且允许多个null * @author jjj * */ import java.util.Array...
阅读全文
摘要:package 集合类.list类; import java.util.Date; import java.util.Stack; /** * stack类继承与vector类 * @author jjj * */ public class Stack类 { p...
阅读全文
摘要:package 集合类.list类; import java.util.Vector; public class Vector类 { public static void main(String[] args) { // Vector的创建 ...
阅读全文
摘要:package 集合类.Map类; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set;...
阅读全文
摘要:如下package 集合类.Set类; /** * Set不允许重复数据 */ /** * 这个类是1.5开始有的, * 目前个人使用量几乎为零,很少使用 * 其使用方式和普通的Set没有区别,只是构造方法有一些特殊的而已。 * @author jjj * */ impor...
阅读全文
摘要:如下:package 集合类.Set类; import java.util.Arrays; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.Set; /** * LinkedHas...
阅读全文
摘要:jdk中api的定义Collection ├----List │ ├----LinkedList │ ├----ArrayList │ └----Vector │ └----Stack └----SetMap ├----Hashtable ├----HashMap ├...
阅读全文
摘要:如下:package 集合类.Set类; /** * Set不允许重复数据 */ /** * TreeSet 是用来进行集合排序的,请注意他和LinkedHashSet的区别。 TreeSet是按照一定的规则,将加入到集合里面的数据进行排序, 而LinkedHashSet是严...
阅读全文
摘要:如下:package 时间日期类; import java.text.SimpleDateFormat; import java.util.Date; public class 日期格式转换 { /** * 将某个日期以固定格式转化成字符串 * @name...
阅读全文
摘要:setpublic interface Set extends Collection 使用集合汇总package 集合类.Set类; /** * Set不允许重复数据 * Set最多允许一个null数据 * @author jjj * */ import java.util.Enu...
阅读全文
摘要:HashSet 的实现public class HashSet extends AbstractSet implements Set, Cloneable, java.io.Serializable对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层采用 H...
阅读全文
摘要:类继承and实现上看public class Hashtable extends Dictionary implements Map, Cloneable, java.io.Serializable public class HashMap extends Abstr...
阅读全文
摘要:1. runtimeException子类: 1、 java.lang.ArrayIndexOutOfBoundsException 数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。 2、java.lang.ArithmeticException 算术条件异常。譬如:整数除...
阅读全文
摘要:try-catch语句还可以包括第三部分,就是finally子句。它表示无论是否出现异常,都应当执行的内容。try-catch-finally语句的一般语法形式为: try { // 可能会发生异常的程序代码 } catch (Type1 id1) { // 捕获并处理try抛...
阅读全文
摘要:异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。 异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。 Java通过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误...
阅读全文
摘要:transient的作用及使用方法都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。 然而在实际开发过程中,我...
阅读全文
摘要:java.util.ArrayList就是传说中的动态数组.继承了关系,有此可看出ArrayList与list的collection的关系public class ArrayList extends AbstractList implements List, RandomAccess,...
阅读全文
摘要:对象池使用的基本思路是:将用过的对象保存起来,等下一次需要这种对象的时候,再拿出来重复使用,从而在一定程度上减少频繁创建对象所造成的开销。并非所有对象都适合拿来池化――因为维护对象池也要造成一定开销。对生成时开销不大的对象进行池化,反而可能会出现“维护对象池的开销”大于“生成新对象的开销”,从而...
阅读全文
摘要:常用的:1.优化循环。通过重新组织重复的子表达式来提高循环体的运行性能。2减少使用对象的数量来提高运行性能。3.缩减网络传输数据来缩短等待时间。其他:1.采用对象池技术,提高对象的利用效率。性能的损耗主要源于创建和释放对象,因此要避免对象的创建和释放。采用对象池技术,预先定义一个对象池,预先创建一组...
阅读全文
摘要:Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象。 序列化是Java中实现持久化存储的一种方法; 为数据传输提供了线路级对象表示法。 Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来...
阅读全文
摘要:解释器模式是我们暂时的最后一讲,一般主要应用在OOP开发中的编译器的开发中,所以适用面比较窄。Context类是一个上下文环境类,Plus和Minus分别是用来计算的实现,代码如下:public interface Expression { public int interpret(Con...
阅读全文
摘要:中介者模式也是用来降低类类之间的耦合的,因为如果类类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。如果使用中介者模式,只需关心和Mediator类的关系,具体类类之间的关系及调度交给Mediator就行,这有点像spring容器的作用。先看看图:Use...
阅读全文
摘要:访问者模式把数据结构和作用于结构上的操作解耦合,使得操作集合可相对自由地演化。访问者模式适用于数据结构相对稳定算法又易变化的系统。因为访问者模式使得算法操作增加变得容易。若系统数据结构对象易于变化,经常有新的数据对象增加进来,则不适合使用访问者模式。访问者模式的优点是增加操作很容易,因为增加操作意味...
阅读全文
摘要:核心思想就是:当对象的状态改变时,同时改变其行为,很好理解!就拿QQ来说,有几种状态,在线、隐身、忙碌等,每个状态对应不同的操作,而且你的好友也能看到你的状态,所以,状态模式就两点:1、可以通过改变状态来获得不同的行为。2、你的好友能同时看到你的变化。看图:State类是个状态类,Context类可...
阅读全文
摘要:主要目的是保存一个对象的某个状态,以便在适当的时候恢复对象,个人觉得叫备份模式更形象些,通俗的讲下:假设有原始类A,A中有各种属性,A可以决定需要备份的属性,备忘录类B是用来存储A的一些内部状态,类C呢,就是一个用来存储备忘录的,且只能存储,不能修改等操作。做个图来分析一下:Original类是原始...
阅读全文
摘要:命令模式很好理解,举个例子,司令员下令让士兵去干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令,口令经过传递,传到了士兵耳朵里,士兵去执行。这个过程好在,三者相互解耦,任何一方都不用去依赖其他人,只需要做好自己的事儿就行,司令员要的是结果,不会去关注到底士兵是怎么实现的。我们看看关系图:I...
阅读全文
摘要:接下来我们将要谈谈责任链模式,有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发出者并不清楚到底最终那个对象会处理该请求,所以,责任链模式可以实现,在隐瞒客户端的情况下,对系统进行动态的调整。先看看关系图:Abstracthandl...
阅读全文
摘要:顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。我们看下关系图:这个思路和我们常用的一模一样,MyCollection中定义了集合的...
阅读全文
摘要:包括这个模式在内的接下来的四个模式,都是类和类之间的关系,不涉及到继承,学的时候应该 记得归纳,记得本文最开始的那个图。观察者模式很好理解,类似于邮件订阅和RSS订阅,当我们浏览一些博客或wiki时,经常会看到RSS图标,就这的意思是,当你订阅了该文章,如果后续有更新,会及时通知你。其实,简单来讲就...
阅读全文
摘要:解释一下模板方法模式,就是指:一个抽象类中,有一个主方法,再定义1...n个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用,先看个关系图:就是在AbstractCalculator类中定义一个主方法calculate,calculat...
阅读全文
摘要:策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数,关系图如下:图中ICalculator提供同意的方法,Abstract...
阅读全文
摘要:享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,通常与工厂模式一起使用。FlyWeightFactory负责创建和管理享元单元,当一个客户端请求时,工厂需要检查当前对象池中是否有符合条件的对象,如果有,就返回已经存在的对象,如果没有,则创建一个新对象,FlyWe...
阅读全文
摘要:组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便,看看关系图:直接来看代码:public class TreeNode { private String name; private TreeNode parent; private Vecto...
阅读全文
摘要:桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,...
阅读全文
摘要:外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度,该模式中没有涉及到接口,看下类图:(我们以一个计算机的启动过程为例)实现类:public class CPU { ...
阅读全文
摘要:其实每个模式名称就表明了该模式的作用,代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。再如我们有的时候打官司,我们需要请律师,因为律师在法律方面有专长,可以替...
阅读全文
摘要:顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下:Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下:public interface Sourc...
阅读全文
摘要:适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。首先,我们来看看类的适配器模式,先看类图:核心思想就是:有一个Source类,拥有一个方法,待适配,目标接口时Targeta...
阅读全文
摘要:原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。这就是选型模式的用意。原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例。这样一来,通过原型实例创建...
阅读全文
摘要:Object中的clone方法为复制当前对象protected native Object clone() throws CloneNotSupportedException;想要使用这个方法需要在类中覆盖重写这个方法然后返回super.clone()原因因为方法权限为protected只有子类才能...
阅读全文
摘要:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 [构建与表示分离,同构建不同表示] 与抽象工厂的区别:在建造者模式里,有个指导者,由指导者来管理建造者,用户是与指导者联系的,指导者联系建造者最后得到产品。即建造模式可以强制实行一种分步骤进行的建造过程。 建造模式是将复...
阅读全文
摘要:单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。3、有些类如交易所...
阅读全文
摘要:工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。为工厂类做一个统一的父...
阅读全文
摘要:工厂方法模式(Factory Method) 工厂模式适合:凡是出现了大量的产品需要创建,并且具有共同的接口时,可以通过工厂方法模式进行创建。在以下的三种模式中,第一种如果传入的字符串有误,不能正确创建对象,第三种相对于第二种,不需要实例化工厂类,所以,大多数情况下,我们会选用第三种——静态工厂方...
阅读全文
摘要:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块...
阅读全文
摘要:&与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0例如下面的程序段。public class data13{public static void main(String[] args){int a=129;int b=128;System.out.pr...
阅读全文
摘要:|或运算符或运算符用符号“|”表示,其运算规律如下:两个位只要有一个为1,那么结果就是1,否则就为0下面看一个简单的例子。public class data14{public static void main(String[] args){int a=129;int b=128;System.out...
阅读全文
摘要:^按位异或如果操作的两位数是相同的,比如都是1或者都是0,则结果为0,否则为1.如public class data16{public static void main(String[] args){int a=15;int b=2;System.out.println("a 与 b 异或的结果是:...
阅读全文
摘要:~取反非运算符用符号“~”表示,其运算规律如下:如果位为0,结果是1,如果位为1,结果是0下面看一个简单例子。public class data15{public static void main(String[] args){int a=2;System.out.println("a 非的结果是:...
阅读全文
摘要:>>右移 右移,道在二进制中,假设用一个32位的Int表示一个64,那么高位就都是0,所以当我们把整个二进制数右移,如0100000 >> 2 = 0001000,可以看到右移两位后的数变成了8,可以分析出其实右移就是一个除以2的操作例:对于非2,4,8,16,64的数也可以试验一下:System...
阅读全文
摘要:在Java源代码中,字面值用于表示固定的值(fixed value)。数值型的字面值是最常见的,字符串字面值可以算是一种,当然也可以把特殊的null当做字面值。字面值大体上可以分为整型字面值、浮点字面值、字符和字符串字面值、特殊字面值。1. 整型字面值从形式上看是整数的字面值归类为整型字面值。例如:...
阅读全文
摘要:java基本数据类型八中byte = Byteshort = Shortchar = Characterint = Integerlong = Longfloat = Floatdouble = Doubleboolean = Boolean本文通过几个简单的转换关系连接顺序运行一个实例查看输出结果...
阅读全文
摘要:介绍 操作系统能同时运行几个程序,每个独立运行的程序又称之为进程。 对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程。线程提供了多任务处理的能力 用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义。现在的大型应用软件无一不是...
阅读全文
摘要:事务的实现方式实现方式共有两种:编码方式;声明式事务管理方式。基于AOP技术实现的声明式事务管理,实质就是:在方法执行前后进行拦截,然后在目标方法开始之前创建并加入事务,执行完目标方法后根据执行情况提交或回滚事务。声明式事务管理又有两种方式:基于XML配置文件的方式;另一个是在业务方法上进行@Tra...
阅读全文
摘要:Session执行一些sql语句把内存中的对象的状态同步到数据库,这个过程被称为session清理.在默认情况下,Session会在下面的时间点清理缓存。1 当应用程序调用net.sf.hibernate.Transacation的commit()方法的时候,commit()方法先清理缓存,然后再向...
阅读全文
摘要:Hibernate查询缓存一级缓存和二级缓存都只是存放实体对象的,如果查询实体对象的普通属性的数据,只能放到查询缓存里查询缓存还存放查询实体对象的id。查询缓存的生命周期不确定,当它关联的表发生修改,查询缓存的生命周期就结束。这里表的修改指的是通过hibernate修改,并不是通过数据库客户端软件登...
阅读全文
摘要:Hibernate二级缓存二级缓存需要sessionFactory来管理,它是进初级的缓存,所有人都可以使用,它是共享的。 当Hibernate根据ID访问数据对象的时候,首先从Session一级缓存中查;查不到,如果配置了二级缓存,那么从二级缓存中查;查不到,再查询数据库,把结果按照ID放入到缓存...
阅读全文
摘要:二级缓存的策略 当多个并发的事务同时访问持久化层的缓存中的相同数据时,会引起并发问题,必须采用必要的事务隔离措施。 在进程范围或集群范围的缓存,即第二级缓存,会出现并发问题。因此可以设定以下4种类型的并发访问策略,每一种策略对应一种事务隔离级别。● 只读缓存(read-only) 如果应用程序需要...
阅读全文
摘要:hibernate提供的一级缓存 hibernate是一个线程对应一个session,一个线程可以看成一个用户。也就是说session级缓存(一级缓存)只能给一个线程用,别的线程用不了,一级缓存就是和线程绑定了。 hibernate一级缓存生命周期很短,和session生命周期一样,一级缓存也称...
阅读全文
摘要:缓存和连接池的区别: 缓存和池都是放在内存里,实现是一样的,都是为了提高性能的。但有细微的差别 池是重量级的,里面的数据是一样的,比如一个池里放100个Connection连接对象,这个100个都是一样的。 缓存里的数据,每个都不一样。比如读取100条数据库记录放到缓存里,这100条记录都不一...
阅读全文
摘要:一对多 和多对一 一般是看需求来确定的,很多时候都是设置成双向的 举个最最普通的离子 :一个班级里面有多个学生 多个学生属于一个班级 从学生表来看 就是多对一的关系 从班级表来看就是一对多的关系 需求上如果说是从学生表想看到班级 那么就设置成多对一的关系 如果想从班级看到学生 就设置成一对多的关系...
阅读全文
摘要:Hibernate是一个持久层框架,经常访问物理数据库。为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。 Hibernate向我们提供的主要的操纵数据库...
阅读全文
摘要:JDK动态代理此时代理对象和目标对象实现了相同的接口,目标对象作为代理对象的一个属性,具体接口实现中,可以在调用目标对象相应方法前后加上其他业务处理逻辑。代理模式在实际使用时需要指定具体的目标对象,如果为每个类都添加一个代理类的话,会导致类很多,同时如果不知道具体类的话,怎样实现代理模式呢?这就引出...
阅读全文
摘要:JDK的动态代理机制只能代理实现了接口的类,而不能实现接口的类就不能实现JDK的动态代理,cglib是针对类来实现代理的,他的原理是对指定的目标类生成一个子类,并覆盖其中方法实现增强,但因为采用的是继承,所以不能对final修饰的类进行代理。 且CGLib构造的代理类是目标类的一个子类(需要实...
阅读全文
摘要:JAVA的静态代理与动态代理比较 静态代理类: 由程序员创建或由特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。动态代理类: 在程序运行时,运用反射机制动态创建而成。 动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的...
阅读全文
摘要:代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。代理模式是常用的Java 设计模式,它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理...
阅读全文
摘要:JDK的动态代理依靠接口实现代理模式代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服...
阅读全文
摘要:我们书写执行一个功能的函数时,经常需要在其中写入与功能不是直接相关但很有必要的代 码,如日志记录,信息发送,安全和事务支持等,这些枝节性代码虽然是必要的,但它会带 来以下麻烦:枝节性代码游离在功能性代码之外,它下是函数的目的,这是对OO是一种破坏枝节性代码会造成功能性代码对其它类的依赖,加深类之间的...
阅读全文
摘要:Spring中定义了5中不同的事务隔离级别:1. ISOLATION_DEFAULT(一般情况下使用这种配置既可) ; 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。 2. ISOLATION_READ_UNCOMMITTED (未提交)...
阅读全文
摘要:read uncommited (读未提交) 最低级别,可读取未提交事物的数据,这会导致脏读,比如:某时刻会话a修改了一个数据,但还未提交,此时会话b,读取了该数据,这是,会话a回滚了事物,这就导致数据出现了不一致状态,这就是脏读!read commited (提交读) 避免了脏读,但会导致不...
阅读全文
摘要:spring事物的传播属性(7种)REQUIRED(默认) 业务方法需要在一个容器里运行。如果方法运行时,已经处在一个事务中,那么加入到这个事务,否则自己新建一个新的事务。 存在事物,则使用当前事物;没有事物,创建新的事物NOT_SUPPORTED 声明方法不需要事务。如果方法没有关...
阅读全文
摘要:连接查询通过连接运算符可以实现多个表查询。语法 FROM join_table join_type join_table [ON (join_condition)] 其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接又称做自连接。join_...
阅读全文
摘要:alias (别名) 在 SQL 上的用处。最常用到的别名有两种: 栏位别名及表格别名。简单地来说,栏位别名的目的是为了让 SQL 产生的结果易读。在之前的例子中,每当我们有营业额总合时,栏位名都是 SUM(Sales)。 虽然在这个情况下没有什么问题,可是如果这个栏位不是一个简单的总合,而是一个复...
阅读全文
摘要:如何对函数产生的值来设定条件呢?举例来说,我们可能只需要知道哪些店的营业额有超过 $1,500。在这个情况下,我们不能使用WHERE的指令。那要怎么办呢?很幸运地,SQL 有提供一个HAVING的指令,而我们就可以用这个指令来达到这个目标。HAVING子句通常是在一个 SQL 句子的最后。一个含有H...
阅读全文
摘要:分组查询语法为:SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1";示范:算出每一间店 (Store_Name) 的营业额 (Sales)SELECT Store_Name, SUM(Sales) FROM Store_Information GRO...
阅读全文
摘要:常用函数AVG (平均)COUNT (计数)MAX (最大值)MIN (最小值)SUM (总合)运用函数的语法是:SELECT "函数名"("栏位名") FROM "表格名";举例来说,若我们要由我们的示范表格中求出 Sales 栏位的总合,SELECT SUM(Sales) FROM Store_...
阅读全文
摘要:经常需要能够将抓出的资料做一个有系统的显示。这可能是由小往大 (ascending) 或是由大往小 (descending)。在这种情况下,我们就可以运用ORDER BY这个指令来达到我们的目的。ORDER BY的语法如下:SELECT "栏位名" FROM "表格名" [WHERE "条件"]OR...
阅读全文
摘要:LIKE是另一个在WHERE子句中会用到的指令。基本上,LIKE能让我们依据一个套式 (pattern) 来找出我们要的资料。相对来说,在运用IN的时候,我们完全地知道我们需要的条件;在运用BETWEEN的时候,我们则是列出一个范围。LIKE的语法如下:SELECT "栏位名" FROM "表格名"...
阅读全文
摘要:WHERE指令可以被用来由表格中有条件地选取资料。 这个条件可能是简单的 (像上一页的例子),也可能是复杂的。复杂条件是由二或多个简单条件透过AND或是OR的连接而成。一个 SQL 语句中可以有无限多个简单条件的存在。复杂条件的语法如下:SELECT "栏位名" FROM "表格名" WHERE "...
阅读全文
摘要:查询表时不一定每一次都要将表格内的资料都完全抓出。在许多时候,我们会需要选择性地抓资料。就我们的例子来说,我们可能只要抓出营业额超过 $1,000 的资料。要做到这一点,需要用到WHERE这个指令。这个指令的语法如下:SELECT "栏位名" FROM "表格名" WHERE "条件";例如:若要由...
阅读全文
摘要:DISTINCT 找出表格内的不同资料的值语法SELECT DISTINCT "栏位名" FROM "表格名";例如:要在以下的表格,Store_Information,找出所有不同的店名时,SELECT DISTINCT Store_Name FROM Store_Information;结果:...
阅读全文
摘要:SELECT 将资料从数据库中的表格内选出指令SELECT "栏位名" FROM "表格名";例如:查询Store_Information表中所有的的Store_NameSELECT Store_Name FROM Store_Information;
阅读全文
摘要:BETWEEN从一个范围 (range) 内抓出数据库中的值。BETWEEN这个子句的语法如下:SELECT "栏位名" FROM " 表格名" WHERE "栏位名" BETWEEN '值一' AND '值二';这将选出栏位值包含在值一及值二之间的每一笔资料。举例来说,若我们要由Store_Inf...
阅读全文
摘要:IN、NOT IN这个指令可以让我们依照一或数个不连续 (discrete) 的值的限制之内抓出数据库中的值in和not inin:存在与...里面的not in:不存在与..里面的其指令语法SELECT "栏位名" FROM "表格名" WHERE "栏位名" IN ('值一', '值二', .....
阅读全文
摘要:当程序需要第k+1层中的某个数据时d,会首先在它的缓存k层中寻找。如果数据刚好在k层中,就称为缓存命中(cache hit)。 终端用户访问加速节点时,如果该节点有缓存住了要被访问的数据时就叫做命中,如果没有的话需要回原服务器取,就是没有命中。 取数据的过程与用户访问是同步进行的,所以即使是...
阅读全文
摘要:In和Exists的区别 这两个函数是差不多的,但由于优化方案不同,通常NOT Exists要比NOT IN要快,因为NOT EXISTS可以使用结合算法二NOT IN就不行了,而EXISTS则不如IN快,因为这时候IN可能更多的使用结合算法。Select * from tableA Where e...
阅读全文
摘要:EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或FalseEXISTS 指定一个子查询,检测行的存在。实例:(一). 在子查询中使用 NULL 仍然返回结果集select * from TableIn where exists(select nu...
阅读全文
摘要:一.使用rownum做三层包装查询(常用方案)SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM = 21其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页...
阅读全文
摘要:FOUND_ROWS() SELECT语句中经常可能用LIMIT限制返回行数。有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句。那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了。例如:需要取出一张表的前1...
阅读全文
摘要:一.直接使用limit最简单查询方法:select * from content order by id desc limit 0, 10在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的问题就是确保使用了索引。随着数据量的增加,页数会越来越多,查看后几页的SQL就可能类似:select *...
阅读全文
摘要:一,时间与效率的区分集群 指所有的设备共同完成相同的功能,每一个设备的功能都是完整的,但是在外界看来是一个设备。 分布式 所有的设备集结后,共同组成一个体系,相互之间协同工作,同时又各自完成自己的相应的工作,但是所有的功能不是在一个设备上,而是由不同的设备完成,但是由一个设备作为统一的接入点和...
阅读全文
摘要:集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。 集群配置是用于提高可用性和可缩放性。集群的目的1.提高性能(提高处理性能一直是集群技术研究的一个重要目标之一)2.降低成本3.提高可扩展性4.增强...
阅读全文
摘要:分布式优缺点优点:1.经济上:微处理机提供了比大型主机更好的性能价格比2.速度上:分布式系统总的计算能力比单个大型主机更强3.固有的分布性:一些应用涉及到空间上分散的机器4.可靠性:如果一个机器崩溃,整个系统还可以运转5.渐增:计算能力可以逐渐有所增加7.数据共享:允许多个用户访问一个公共的数据库8...
阅读全文
摘要:分布式系统含义分布是指功能分布支持分布式处理的软件系统通俗点说分布式系统就是能把服务器端程序分开部署到多台机器上。可以分开部署的系统。软件系统运行的环境分布在多台服务器上它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。故名思义,分布式系统就是将系统的...
阅读全文
摘要:看下面这段代码:public class Main { public static void main(String[] args) { String string = ""; for(int i=0;i StringBuffer > String...
阅读全文
摘要:1、String的本质线程安全 打开String的源码,类注释中有这么一段话“Strings are constant; their values cannot be changed after theyare created. String buffers support mutable s...
阅读全文
摘要:在class文件中,“常量池”是最复杂也最值得关注的内容。Java是一种动态连接的语言,常量池的作用非常重要,常量池中除了包含代码中所定义的各种基本类型(如int、long等等)和对象型(如String及数组)的常量值还,还包含一些以文本形式出现的符号引用,比如: 类和接口的全限定名; 字段的名...
阅读全文
摘要:先看下面这段代码:public class Test { public static void main(String[] args) { } public void test(final int b) { final int a = 1...
阅读全文
摘要:在此之前,我们已经讨论过了成员内部类可以无条件访问外部类的成员,那具体究竟是如何实现的呢?下面通过反编译字节码文件看看究竟。事实上,编译器在进行编译的时候,会将成员内部类单独编译成一个字节码文件,下面是Outter.java的代码:public class Outter { private...
阅读全文
摘要:在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。1.成员内部类 成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式:c...
阅读全文
摘要:封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的...
阅读全文
摘要:很多时候会容易把static和final关键字混淆,static作用于成员变量用来表示只保存一份副本,而final的作用是用来保证变量不可变。看下面这个例子:public class Test { public static void main(String[] args) { ...
阅读全文
摘要:final修饰的引用变量一旦初始化赋值之后就不能再指向其他的对象,那么该引用变量指向的对象的内容可变吗?看下面这个例子:public class Test { public static void main(String[] args) { final MyClass myCl...
阅读全文
摘要:当用final作用于类的成员变量时,成员变量(注意是类的成员变量,局部变量只需要保证在使用之前被初始化赋值即可)必须在定义时或者构造器中进行初始化赋值,而且final变量一旦被初始化赋值之后,就不能再被赋值了。那么final变量和普通变量到底有何区别呢?下面请看一个例子:public class T...
阅读全文
摘要:在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用法。1.修饰类 当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可...
阅读全文
摘要:在java中,数据是以常量和变量两种方法形式进行存储和表示的(实际上,所有程序的数据都是这两种形式)。变量变量代表程序的状态。程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现程序的功能逻辑。 为了方便的引用变量的值,在程序中需要为变量设定一个名称,这就是变量名。 由于Java语...
阅读全文
摘要:抽象的概念就是抽象出共同属性:成员变量和方法定义抽象使用abstract关键字定义抽象类和方法抽象类abstract class 包含抽象方法的类,叫抽象类。所以抽象类可以有private等多种权限的成员变量和非abstract的成员方法。当然抽象方法是一定要有的。抽象类是用于单一继承的,不能实例化...
阅读全文
摘要:代码public class Test { public static void main(String[] args) { Shape shape = new Circle(); System.out.println(shape.name); sh...
阅读全文
摘要:代码public class Test { public static void main(String[] args) { new Circle(); }} class Draw { public Draw(String type) { S...
阅读全文
摘要:继承的概念: 继承在本职上是特殊——一般的关系,即常说的is-a关系。子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法。 继承是所有OOP语言不可缺少的部分,在java中使用extends关键字来表示继承关系。当创建一个类时,总是在继承,如果没有明确指出要继承的类,就...
阅读全文
摘要:什么是多态 指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用) 多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该...
阅读全文
摘要:抽象:象就是有点模糊的意思,还没确定好的意思。就比方要定义一个方法和类。但还没确定怎么去实现它的具体一点的子方法,那我就可以用抽象类或接口。具体怎么用,要做什么,我不用关心,由使用的人自己去定义去实现。封装: 属性可用来描述同一类事物的特征,方法可描述一类事物可做的操作。封装就是把属于同一类事物的...
阅读全文
摘要:代码解析子类package com;/** * 子类 * @author huage * */public class Test extends Test1{ public static void main(String[] args) { new Test();//测试...
阅读全文
摘要:多态性: Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法 Java的方法重写,就是各子类对父类中的方法可能有其他特殊定义,需要将父类中的方法的内容重写计算一边。方法名,返回类...
阅读全文
摘要:1).简单类型数据间的转换,有两种方式:自动转换和强制转换,通常发生在表达式中或方法的参数传递时。自动转换 当一个较"小"数据与一个较"大"的数据一起运算时,系统将自动将"小"数据转换成"大"数据,再进行运算 而在方法调用时,实际参数较"小",而被调用的方法的形式参数数据又较"大"时(若有匹配的...
阅读全文
摘要:Java中的字符占两个字节。一些常用的转义字符:①\r表示接受键盘输入,相当于按下了回车键;②\n表示换行;③\t表示制表符,相当于Table键;④\b表示退格键,相当于Back Space键;⑤\'表示单引号;⑥\''表示双引号;⑦\\表示一个斜杠\。
阅读全文
摘要:常量是一种标识符,它的值在运行期间恒定不变。并且常量在程序中只能被引用,而不能被重新赋值。以下,我们在Math类中就定义了一个全局常量PI被final关键字修饰的变量名最好要大写。public class Math { //定义一个全局常量PI public st...
阅读全文
摘要:Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定。由于是statical typed,导致Java语言也是强类型(Strong typed)的。强类型意味着每个变量都具有一种类型,每个表达式具有一种类型,并且每种类型都是严格定义的,类...
阅读全文
摘要:科学计数法是一种数学专用术语。将一个数字表示成 a×10的n次幂的形式,其中1≤|a|<10,n为整数,这种记数方法叫科学记数法。例如920000可以表示为9.2*105,读作9.2乘10的5次方。一个小于1的正数可以表示为a×10ⁿ,其中1≤|a|<10,n是负整数。在一个近似数中,从左边第一个不...
阅读全文
摘要:首先看一个解析列子JVM的内存空间:(1). Heap 堆空间:分配对象 new Student()(2). Stack 栈空间:临时变量 Student stu(3).Code 代码区 :类的定义,静态资源 Student.classeg:Student stu = new Student(); ...
阅读全文
摘要:Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代 码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内...
阅读全文
摘要:Sun的JVMGenerationalCollecting(垃圾回收)原理是这样的:把对象分为年青代(Young)、年老代(Tenured)、持久代(Perm),对不同生命周期的对象使用不同的算法。(基于对对象生命周期分析)1.Young(年轻代)年轻代分三个区。一个Eden区,两个Survivor...
阅读全文
摘要:JVM的类加载是通过ClassLoader及其子类来完成的,类的层次关系和加载顺序可以由下图来描述:1)Bootstrap ClassLoader /启动类加载器$JAVA_HOME中jre/lib/rt.jar里所有的class,由C++实现,不是ClassLoader子类2)Extension ...
阅读全文
摘要:jvm=》 java虚拟机一、java虚拟机的生命周期: Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()...
阅读全文
摘要:大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,Li...
阅读全文
摘要:jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。其实就跟EXTJ...
阅读全文
摘要:JVM运行的时候,将内存分为两个部分,一部分是堆,一部分是栈。堆中存放的是创建对象,而栈中存放的则是方法调用过程中的局部变量或引用。在设计JAVA字符串对象内存实现的时候,在堆中又开辟了一块很小的内存,称之为字符串常量池,专门用来存放特定的字符串对象的。例如:String s1="JavaSE6.0...
阅读全文
摘要:BEGIN DELETE FROM ORDERS WHERE ACCOUNT_ID = #Id#; DELETE FROM ACCOUNTS WHERE ACCOUNT_ID = #Id#; END;
阅读全文
摘要:在solr中,实时搜索有3种方案①soft commit,这其实是近实时搜索,不能完全实时。②RealTimeGet,这是实时,但只支持根据文档ID的查询。③和第一种类似,只是触发softcommit。综上,其实是由实时(②)和近实时(①③)两种。solr4.0 之后使用NRT的方法和需要的配置方案...
阅读全文
摘要:lucene的实时搜索可以分成:实时和近实时的搜索。实时只能依靠内存了。近实时可以用lucene中提供org.apache.lucene.index.DirectoryReader.open(IndexWriter writer, boolean applyAllDeletes) throws IO...
阅读全文
摘要:软件开发流程(Software development process)首先 看一下基本软件项目开发流程图其中1.需求分析: 通过对客户业务的了解和与客户对流程的讨论对需求进行基本建模,最终形成需求规格说明书。2.总体设计: 通过分析需求信息,对系统的外部条件及内部业务需求进行抽象建模,最终形成...
阅读全文
摘要:import java.io.*;public class Test{ private static final String LL = "Decompiling this copyrighted software is a violation of both your license agr...
阅读全文
摘要:1,if/elseif/else标签 60}"> 老年人 35}"> 中年人 15}"> 青年人 少年输出:青年人2,iterator迭代List 输出:1Spring2.02J2EE3Ajax3,iterator迭代Map代码如下 编号 书名 ...
阅读全文
摘要:当HR问:请问你为什么选择来我们公司?你对自己未来五年的职业规划是什么?方法与策略: 这个问题的背后是了解求职者的求职动机和对自己中长期职业发展的思考。而此时需要传递给HR的信息是:你是有备而来的,因为对自己是有职业规划的,所以求职投 简历 都是经过一番思考的,而不是海投盲投的结果。表明自己的优势,...
阅读全文