![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 59
xiaoxiang-chen
这个作者很懒,什么都没留下…
展开
-
this super 构造函数 以及 加载及调用顺序
今天一同事问我,他写的一段代码为什么编译报错,代码大体构造如下:package testRun;public class TestSuper { public static void main(String[] args) { System.out.println(new Programmer("小米", 50, "java")); }}class Person {原创 2016-05-15 09:50:54 · 479 阅读 · 0 评论 -
java 注解 三
深入理解Java:注解(Annotation)--注解处理器 如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。注解处理器类库(java.lang.reflect.AnnotatedElement): Jav转载 2016-07-27 10:46:22 · 242 阅读 · 0 评论 -
java 注解 二
深入理解Java:注解(Annotation)自定义注解入门 要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解: 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说转载 2016-07-27 10:44:50 · 232 阅读 · 0 评论 -
spring技术框架基础知识一反射
引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓“登高必自卑,涉远必自迩”。以下几项Java知识和Spring框架息息相关,不可不学(我将通过一个系列分别介绍这些Java基础知识,希望对大家有所帮助。): Java语言允许通过程序化的方式间接对Class进行操作,Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元转载 2016-07-15 09:13:19 · 525 阅读 · 0 评论 -
java 设计模式这观察者模式
观察者模式简介实现观察者模式有很多形式,比较直观的一种是使用一种“注册——通知——撤销注册”的形式。简而言之,观察者模式=发布者+注册者。下面的三个图详细的描述了这样一种过程: 观察者 (Observer)将自己注册到被观察对象(Subject)中,被观察对象将观察者存放在一个容器(Container)里。 被观察 被观察对象发生了某种变化(如图中的SomeChange),从容器中得到所原创 2016-07-04 10:10:26 · 303 阅读 · 0 评论 -
java 设计模式之门面模式
门面模式简介面模式(facade pattern),又称外观模式,为子系统中的一组接口提供一个一致的界面, Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。简而言之,就是把一堆复杂的流程封装成一个接口供给用户更简单的使用,这个设计模式里有三个角色: 1)门面角色( facade ):这是门面模式的核心。它被客户角色调用,因此它熟悉子系统的功能。它内部根据客户角色已有的需求原创 2016-06-30 16:13:24 · 474 阅读 · 0 评论 -
java责任链设计模式及在tomca容器中的应用,第一部分
责任链模式简介 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。 责任链模式涉及到的角色如下所示: ● 抽象处理者(Handler)角色:定义出一个处理请原创 2016-06-27 15:53:35 · 523 阅读 · 0 评论 -
java责任链设计模式及在tomca容器中的应用,第二部分
责任链在tomcat 中的应用Tomcat 中一个最容易发现的设计模式就是责任链模式,这个设计模式也是 Tomcat 中 Container 设计的基础,整个容器的就是通过一个链连接在一起,这个链一直将请求正确的传递给最终处理请求的那个 Servlet。 Tomcat 中容器责任链模式实现 在 tomcat 中这种设计模式几乎被完整的使用,tomcat 的容器设置就是责任链模式,从 Engine原创 2016-06-27 15:55:19 · 471 阅读 · 0 评论 -
Cookie/Session机制详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。1.1 Cookie机制转载 2016-05-07 19:24:48 · 333 阅读 · 0 评论 -
java类单继承,接口多继承设计的原因
首先,类的多继承有哪些缺点那:第一,如果一个类继承多个父类,如果父类中的方法名如果相同,那么就会产生歧义。第二,如果父类中的方法同名,子类中没有覆盖,同样会产生上面的错误。所以,java中就没有设计类的多继承。但是接口就设计成多继承,是因为接口可以避免上述问题:首先,接口中的只有抽象方法和静态常量。对于一个类实现多个接口的情况和一个接口继承多个接口的情况,因为接口只有抽象方原创 2016-05-17 21:12:35 · 6392 阅读 · 0 评论 -
Java Serializable(序列化)实例 第二部分
第一,实现serialize接口:package TestXL;import java.io.*;public class BoxSerialize implements Serializable { private int width; private int height; private transient int longth; //他将不被序列化原创 2016-05-14 17:31:15 · 276 阅读 · 0 评论 -
Java Serializable(序列化) 第一部分
java 序列化转自我的博客园博客:http://www.cnblogs.com/gushuloong/p/3682184.html Java Serializable(序列化) 1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己转载 2016-05-13 07:42:15 · 335 阅读 · 0 评论 -
java基础知识及深层原理。
第一:return语句:昨天有一个小同学问我为什么,for循环里写return会出现编译不通过,如下:其实这是因为for循环不一定执行如下一段程序: for(int i=9; i但是如果改成:public static int show(){for(final int i =0; ireturn 3;}这样就不会报错,当然也不会死循环。原理如下。总结原创 2016-05-13 10:12:28 · 2003 阅读 · 0 评论 -
java 多线程循环输出ABC
第一:使用对象lock和unlock控制输出:import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class ABC {private static int state = 0;public static void main(Strin原创 2016-05-11 19:28:41 · 1184 阅读 · 0 评论 -
web开发中web对象影响范围和生命周期
一、 影响范围与生命周期划分WEB是基于HTTP协议的,HTTP协议是无状态的。无状态是指无法直接通过HTTP连接的相关属性来鉴别用户状态。但实际上的WEB应用通常是需要以用户会话的形式来支撑业务运行的,比如:购物车,BBS,在线交易等。因此常见的WEB服务端技术(如ASP,JSP),把WEB对象影响范围划分为4个生命周期page、request、session、application,并且通过一些转载 2016-07-06 11:04:10 · 1231 阅读 · 0 评论 -
java 注解 一
深入理解Java:注解(Annotation)基本概念什么是注解(Annotation): Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。 An转载 2016-07-27 10:42:49 · 235 阅读 · 0 评论 -
java事件监听器原理
java事件监听器分为三部分:事件,事件源,监听器。事件—事件状态对象,也就是发生了什么事件。用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中。(伴随着事件的发生,相应的状态通常都封装在事件状态对象中,该对象必须继承自java.util.EventObject。事件状态对象作为单参传递给应响应该事件的监听者方法中。发出某种特定事件的事件源的标识是:遵从规定的设计原创 2017-10-06 12:51:25 · 7975 阅读 · 0 评论 -
java 继承详解
java继承原理说明见注释package inherit;public class TestInherit extends Father{ String str = "i am son!"; @Override public String getStr() { return str; } //只在子类中定义的变量和方法 String so原创 2017-10-06 23:13:33 · 688 阅读 · 0 评论 -
数据库事务操作
在开发中,对数据库的多个表或者对一个表中的多条数据执行更新操作时要保证对多个更新操作要么同时成功,要么都不成功,这就涉及到对多个更新操作的事务管理问题了。比如银行业务中的转账问题,A用户向B用户转账100元,假设A用户和B用户的钱都存储在Account表,那么A用户向B用户转账时就涉及到同时更新Account表中的A用户的钱和B用户的钱,用SQL来表示就是:update account set mo转载 2017-09-27 15:13:52 · 641 阅读 · 0 评论 -
java 反射
JAVA反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方转载 2017-09-26 23:47:20 · 260 阅读 · 0 评论 -
java代理模式
Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直转载 2017-09-25 22:57:56 · 194 阅读 · 0 评论 -
spring aop 代理实现
Spring AOP详解一.前言在以前的项目中,很少去关注spring aop的具体实现与理论,只是简单了解了一下什么是aop具体怎么用,看到了一篇博文写得还不错,就转载来学习一下,博文地址:http://www.cnblogs.com/xrq730/p/4919025.htmlAOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object O转载 2017-09-25 23:04:42 · 241 阅读 · 0 评论 -
java web项目资源位置
java struts web项目报如下404错误: There is no Action mapped for namespace [/] and action name [login] associated with context path [解析: 一般情况下,除了页面,web.xml和jar包直接放在web-inf目录下,其他的都要放在src目录下进行编译。struts.xml就是这原创 2017-09-08 17:30:00 · 563 阅读 · 0 评论 -
ubuntu安装eclipse web和jeez插件处想 Cannot satisfy dependency问题
ubuntu下eclipse安装web组建出现如下问题: Cannot complete the install because of a conflicting dependency. Software being installed: Web Page Editor (Optional) 2.1.0.v20090128-3219oA55U5D7N2532 (org.eclipse.jst原创 2017-09-07 23:50:57 · 2223 阅读 · 0 评论 -
junit4单元测试
最近一段时间封闭开发,用到了junit4单元测试,以前用的时候都是debug调试,现在熟悉了一下,记录在下面。导入junit4 jar包 新建一个项目,右击build path,然后类库。如下图所示: 然后选择next–>选择junit4. 大家都懂。新建junit test case(junit测试用例) 选中项目,右击,选择新建,找到junit test case, 然后在原创 2016-12-26 21:12:27 · 660 阅读 · 0 评论 -
四种常见的 POST 提交数据方式
HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似于转载 2016-10-18 13:42:11 · 307 阅读 · 0 评论 -
git的思想和基本工作原理i
那么,简单地说,Git 究竟是怎样的一个系统呢?请注意,接下来的内容非常重要,若是理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余。在开始学习 Git 的时候,请不要尝试把各种概念和其他版本控制系统(诸如 Subversion 和 Perforce 等)相比拟,否则容易混淆每个操作的实际意义。Git 在保存和处理各种信息的时候,虽然操作起来的命令形式非常相近,但它与其他转载 2016-09-20 17:31:46 · 345 阅读 · 0 评论 -
java 内部类
第一种,普通内部类:package test;public class Tstatic { class InnerDemo{ public void test(){ System.out.println("hello"); } } public static void main(String[] args) {原创 2016-08-05 11:22:58 · 217 阅读 · 0 评论 -
ThreadLocal的理解
首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过ThreadLocal.set()来实现的,而是通过每个线程中的new 对象 的操作来创建的对原创 2016-07-28 14:43:51 · 562 阅读 · 0 评论 -
《JAVA与模式》之简单工厂模式和抽象工厂模式
转自:http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html场景问题 举个生活中常见的例子——组装电脑,我们在组装电脑的时候,通常需要选择一系列的配件,比如CPU、硬盘、内存、主板、电源、机箱等。为讨论使用简单点,只考虑选择CPU和主板的问题。 事实上,在选择CPU的时候,面原创 2016-04-14 09:39:35 · 458 阅读 · 0 评论 -
list和map集合遍历方法
遍历集合的常见的集中方法 package com.sina.www;import java.util.*;publicclass Test3 { publicstaticvoid main(String[] args) { List l = new ArrayList(); l.add("世界你好!转载 2015-05-07 11:25:12 · 427 阅读 · 0 评论 -
为什么接口中不能定义变量(oop设计原理)
JAVA语法规定,接口中的变量默认自动隐含是public static final! 为什么需要这样定义? 接口的目的 OOP中一个很重要的概念就是封装,对象可以通过public interface的设计,来提供一系列方法,让用户能够利用利用对象来完成需要的任务。然而,内部的实现细节对用户是隐藏的,目的是为了对具有共同特点的类,能够用相同的方法来使用转载 2015-05-13 14:26:18 · 4975 阅读 · 0 评论 -
java内存分配
java中的内存分配程序运行时,我们最好对数据存储到什么地方做到心中有数。特别要注意的是内存的分配。有六个地方都可以存储数据: (1) 寄存器(Registers)。这是速度最快的存储场所,因为寄存器其他所有存储媒介都不同:它位于处理器内部。不过,寄存器的数量十分有限,所以寄存器 是根据需要由编译器适当地分配。作为一个程序员,我们对此没有直接的控制权,也没办法在转载 2014-09-03 18:58:05 · 472 阅读 · 0 评论 -
java 多线程
Java线程:基本概念、可见性与同步 2011-01-24 11:58:09| 分类:java技术 | 标签:java 线程 |举报|字号大中小订阅 开发高性能并发应用不是一件容易的事情。这类应用的例子包括高性能Web服务器、游戏服务器和搜索引擎爬虫等。这样的应用可能需要同时处理成千上万个请求。对于这样的应用,一般采用多转载 2014-09-16 14:13:12 · 441 阅读 · 0 评论 -
复制对象clone(深复制和浅复制)
Java中对象的创建clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢?1 使用new操作符创建一个对象2 使用clone方法复制一个对象那么这两种方式有什么相同和不同呢? new操作符的本意是分配内存。程序执行转载 2014-09-02 17:26:36 · 1075 阅读 · 0 评论 -
java ++与=+的区别
int nc=0;nc++;cn = nc+1;原创 2014-09-13 11:42:59 · 760 阅读 · 0 评论 -
class对象
java中把生成Class对象和实例对象弄混了,更何况生成Class对象和生成instance都有多种方式。所以只有弄清其中的原理,才可以深入理解。首先要生成Class对象,然后再生成Instance。那Class对象的生成方式有哪些呢,以及其中是如何秘密生成的呢?Class对象的生成方式如下:1.Class.forName("类名字符串") (注意:类名字符串必须是全称,包名+类名转载 2014-08-30 15:14:10 · 423 阅读 · 0 评论 -
java中常见错误
1.UnsupportedClassVersionError转载 2014-09-12 23:11:49 · 320 阅读 · 0 评论 -
java 中堆和栈的区别 已经String和new String()的区别
Java进阶:Java中堆和栈的区别2008-12-02 13:12 dave 天极网 字号:T |T栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。AD:2014WOT全球软件技术峰会北京站 课程视频发布栈与堆都是Java用来在Ram中存放数据的地方。转载 2014-09-12 15:56:43 · 427 阅读 · 0 评论 -
test equals
package test;public class TestEqals { public static void main(String args[]){ OverWrite first=new OverWrite(6); OverWrite second=new OverWrite(6); System.out.println(first.equals(second))原创 2014-08-29 09:47:50 · 1048 阅读 · 0 评论