`
qiushily2030
  • 浏览: 3899 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

JAVA精粹知识点

阅读更多
instanceof 用法
    AA instanceof BB  (instanceof作用:判断AA是否属于BB这个类或其子类的实例,即引用),AA只能是一个对象,BB只能是一个类名,不能为变量

(Hibernate3  get方法代替了find方法)
    hibernate中session接口的get()、load()方法区别?hibernate的查询有很多,Query,Criteria,find,get,load
  load()方法会先在缓存中找对象,如果缓存中找不到就会抛出异常;判断是否是lazy,查询数据库   返回一个实体代理类类型  充分利用内部缓存和二级缓存
  get()方法也会查找缓存,如果缓存中找不到则会查找数据库,如果再找不到就会返回null  返回的是实体类对象  忽略二级缓存

经典单实例例子
   public class ClassicSingleton {   
   private static ClassicSingleton instance = null;   
   protected ClassicSingleton() {   
      // Exists only to defeat instantiation.   
   }   
   public static ClassicSingleton getInstance() {   
      if(instance == null) {   
         instance = new ClassicSingleton();   
      }   
      return instance;   
   }   
}  

Hql查询:Oracle  临时表查询方法
     Select customer. orderList from Order order,
     (Select * from Customer ct
       where ct.customerName like ‘厦门’||'%' and ct. orderList.sise()>100
            ordery by ct. customerName;
     )customer
     Where order. orderDate between 2008-08-08 and 2009-08-08
         And order. Customer=:customer;

 
空接口,起标志作用,面向接口编程的众多优点,可管理权限等~~ 

排序list集合
ContentComparator comp = new ContentComparator();
Collections.sort(list,comp);

@Override 指明注释的方法覆盖超类的方法
@Deprecated 对不再使用的方法进行注释
@SuppressWarnings阻止编译器的警告,例:当类型不安全时
@SuppressWarnings("unused") 屏蔽java中的警告信息 如定义了变量未使用。
@SuppressWarnings("unchecked") 屏蔽java中的警告信息 如方法内部具体实现

Class c=Class.forName(args);
c.newInstance();
Package p=c.getPackage();
Field []f=c.getFields();
for(Field field : f){
   System.out.println(field.getName());
}
int m=c.getModifiers();
System.out.println(Modifier.toString(m));
Constructor[] co=c.getConstructors();
Method[] co=c.getDeclaredMethods();//得到某个类中声明的方法,不包括父类的方法
动态方法调用
在程序运行过程中间,可以动态的调用某个方法, Method类的invoke方法。
method.invoke(方法所在的对象, ?Object[ ]);//调用方法
// Object[ ]是参数数组,如果没有参数可将数组大小为0或参数为null

a:for(...){
  b:for(...){
    break a;
  }
}

接口、抽象类不能实例化 所以spring配置文件不能注入
   IConnection objIConnection = new Connection();面向接口编程的优点
   子类可以继承父类私有属性,却只能通过方法访问
   枚举是一种类,注释是一种接口


java里的所有基本类型都是按值进行传递的,所有对象都是按引用进行传递的,
不过有一个例外就是String对象,线程安全,虽然是按引用传递,但是任何修改都导致新字符串的生成!

私有的构造方法:表明类不能被实例化
  其他的私有方法:表明不能被外部的类调用

父类为抽象类时也同样会调用父类的构造方法,看来抽象类在虚拟机内部还是被实例化了。

gc只有在JVM内存不足的时候才会自动执行
A a = (A)Class.forName("pacage.A").newInstance();  等效于  A a = new A();


Java 接口
1.接口的所有方法默认都是public,abstract和non-static的
2.接口的所有变量默认都是public,static,final的.所以,接口的变量不能改值,在它的实现类里.
3.接口的实现类实现的方法必须和接口的方法抛出同样的异常,不许是子类,这和override不一样!同样,如果接口方法没有抛,实现方法也不能抛.
4.实现类实现的方法必须显式的声明成public,什么都不写都不行,啊!!!
5.接口不能声明成final,要不它怎么被实现呢(这好像又是废话啊)
6.一个类实现两个接口,如果两个接口有相同的方法,实现类就实现这个方法,没问题的. //两个接口共有此方法

oracle 会把in 转换为 or来执行,,这样一来,,in应该没有or有效率,,但是这点效率可以忽略不计

select * from table a,table b where a.id=b.id  a b可以无关联

使用tomcat5.5.xx以上版本后,只要配置tomcat不因为类的修改重新加载容器。那么你如果只是修改了类的实现(方法体内的代码),而不是添加或删除类的方法和成员变量。

SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象
SessionFactory并不是轻量级的  一个数据库一个 一个项目一个(数据库一个)或多个

escape关键字  'ab\%cd%'escape'\' 将\后面特殊字符转义

字符窜长度为0就是指空字符串"",可以调用字符串的方法。
为null指 不指向任何对象,不能调用字符串的方法。

JNI(Java Native Interface),JAVA本地调用. 允许Java代码和其他语言写的代码进行交互 . JNI一开始是为了本地已编译语言,尤其是C和C++

JNDI(Java Naming and Directory Interface),Java命名系统接口. JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI SPI的实现,由管理者将JNDI API映射为特定的命名服务和目

录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。

public 修饰符会降低运行的安全性和数据的封装性

final 域(成员变量) 变量不可更改、方法不能重写,可重载、类不能被继承。

static 修饰的成员变量仅属于类的变量,而不属于任何一个具体的对象,静态成员变量的值是保存在类的内存区域的公共存储单元,而不是保存在某一个对象的内存区间。任何一个类的对象

访问它时取到的都是相同的数据;任何一个类的对象修改它时 , 也都是对同一个内存单元进行操作



修饰符总结: 类、域、方法、属性

类的访问修饰符:public、缺省类  (可访问控制符)
          abstract、最终类final  (非访问控制符)

域的控制修饰符:public、private、protected、private protected、缺省
                static、final、volatile、transient
              private protected :该类本身或子类可访问和引用。
      static 修饰的成员变量仅属于类的变量
              volatile易失(共享) 可能被几个线程所控制和修改
              transient暂时性 大概是内存中不保存。

方法的控制修饰符:public、private、protected、private protected、缺省
  abstract、static、final、native、synchronized
                  static:(不是具体类)整个类的类方法,所以不能操纵和处理非静态的成员变量....static 方法只能处理 static 的域
                  native(本地控制符) 调用其他语言
  synchronized 多线程共存的程序中的协调和同步

OOA:Object-Oriented Analysis:面向对象分析
OOD:Object-Oriented Design:面向对象设计

硬编码是指将可变变量用一个固定值来代替的方法. 例如: 硬编码:if(a==2)  不是硬编码 b=2  if(a==b)

Hibernate 是最优秀的持久性存储引擎,以至于 EJB3.0 就是基于 hibernate 开发的
hibernate 功能非常强大,其事务处理、命名查询、回调监听、简单方便的 O/R mapping 、缓存机制是任何一个其他的持久层框架无法相媲美的
          缓存、懒加载、抓取策略
hibernate是个O/R Mapping框架,物理数据映射为PO的工具。

Query query = getSession().createSQLQuery("{Call process_analog(?,?)}");
query.setParameter(0, cal);
query.setParameter(1, uuid);
query.executeUpdate(); //没有返回值
//query.list();//有返回值
分享到:
评论

相关推荐

    疯狂java讲义精粹(第2版)

    以下是该书涵盖的一些关键知识点: 1. **Java基础**:讲解了Java的基本语法,包括数据类型、变量、运算符、流程控制语句(如if、for、while)、方法定义与调用等。这部分内容是所有Java学习者的必经之路,为后续...

    Java案例精粹150例(源代码)_java_

    本资源“Java案例精粹150例(源代码)”提供了丰富的实践示例,帮助开发者深入理解和掌握Java的核心概念及技术。下面将详细阐述这些案例可能涉及的知识点,并给出相关扩展内容。 1. **基础语法**:Java的基础语法是...

    Java案例精粹150例 高清完整版

    该压缩包包含了一份PDF文档,名为“Java案例精粹150例.pdf”,很可能包含了150个精心挑选的Java编程实例,涵盖了Java语言的核心特性、标准库的使用、面向对象编程原则以及常见的设计模式等众多知识点。以下是可能...

    java案例精粹150例

    除了基础知识点,《Java案例精粹150例》还涵盖了Spring、Hibernate、MyBatis等流行框架的使用,以及如何集成第三方库,如Apache Commons、Guava等。这些案例不仅拓宽了读者的技术视野,还为解决特定领域的复杂问题...

    疯狂Java讲义精粹随书光盘

    在Java编程领域,以下几个核心知识点是《疯狂Java讲义》可能涉及的: 1. **Java基础**:包括Java语法、数据类型、运算符、流程控制语句(如if、switch、for、while)、数组和集合框架的基础知识。 2. **面向对象...

    Java面试精粹:深入解析核心知识点.txt

    java面试题

    java web 项目开发精粹PPT

    Java Web项目开发精粹PPT是...这些知识点是Java Web项目开发的关键组成部分,学习并掌握它们对于成为一名优秀的Java Web开发者至关重要。通过PPT的学习,你可以逐步构建自己的Java Web知识体系,提升实际项目开发能力。

    ]Java 项目开发案例精粹.pdf

    然而,我们可以根据【标题】和【描述】中提到的信息,以及通用的Java项目开发知识点,来构造一篇详细的关于Java项目开发案例精粹的文章。 Java是一种广泛应用于企业级开发的编程语言,其跨平台特性、强大的库支持和...

    java web 项目开发案例精粹 第一章 源代码

    在这个案例精粹中,我们可以从源代码中学习到多个关键知识点: 1. **MVC设计模式**:在Java Web开发中,Model-View-Controller(模型-视图-控制器)是常用的设计模式,用于分离业务逻辑、数据展示和用户交互。系统...

    Java案例精粹150例源代码

    首先,Java2程序设计150例中的第一个关键知识点是面向对象编程(OOP)。Java语言基于OOP思想,通过类、对象、继承、封装和多态等概念来组织代码。例如,你可以看到如何定义一个类,创建对象,以及如何使用继承来实现...

    Java Web项目开发案例精粹视频与源码合集

    ### Java Web项目开发案例精粹视频与源码合集知识点详解 #### 一、概述 在当前快速发展的信息技术领域中,Java Web项目以其强大的功能、灵活性及可扩展性成为众多企业和开发者的选择。本资料集“Java Web项目开发...

    Java Web 项目开发案例精粹 3

    以下将详细解析这一领域的关键知识点。 首先,Java Web项目是基于Java技术栈构建的Web应用程序,它结合了Servlet、JSP(JavaServer Pages)、JavaBean等技术,为开发动态网页提供了强大的支持。在这个项目中,Java ...

    Java案例精粹

    这些知识点构成了Java编程的核心,通过《Java案例精粹》中的150个实例,读者将有机会实践这些理论,从而深化理解,提升编程技能。每一个案例都是一个实战演练,每个解决方案都可能成为解决实际问题的灵感来源。无论...

    Java Web项目开发案例精粹(源码)

    掌握这些知识点后,开发者可以构建功能完善的Web应用,如电子商务平台、内容管理系统等。通过实际案例,开发者不仅能提升编程技能,还能理解项目开发的整体流程,包括需求分析、设计、编码、测试和部署等环节。 ...

    Java Web 项目开发案例精粹 11

    以下是一些关键的知识点: 1. **Java Web基础**:此项目基于Java Web技术栈,包括Servlet、JSP(JavaServer Pages)和JSTL(JavaServer Pages Standard Tag Library)。Servlet用于处理HTTP请求,JSP用于动态生成...

    Java Web 项目开发案例精粹 17

    在这一章中,我们将涵盖以下几个关键知识点: 1. **MVC设计模式**:Java Web开发中常见的模型-视图-控制器(MVC)架构是核心。MVC将业务逻辑(模型)、用户界面(视图)和数据处理(控制器)分离,使代码更易于维护...

    JAVA WEB项目开发案例精粹

    本文将深入解析《JAVA WEB项目开发案例精粹》中的关键知识点和技术细节,旨在帮助读者更好地理解和掌握JAVA WEB项目的开发流程、关键技术以及最佳实践。 #### 一、JAVA WEB项目概述 1. **定义与背景**: - JAVA ...

    JAVA面试精粹

    通过"JAVA面试32问.doc"这份文档,求职者可以系统地复习和提升这些知识点,从而在面试中表现出色,赢得心仪的工作机会。同时,这些知识也对日常开发工作有着深远的影响,帮助程序员编写出高效、稳定、可维护的代码。

Global site tag (gtag.js) - Google Analytics