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();//有返回值
分享到:
相关推荐
以下是该书涵盖的一些关键知识点: 1. **Java基础**:讲解了Java的基本语法,包括数据类型、变量、运算符、流程控制语句(如if、for、while)、方法定义与调用等。这部分内容是所有Java学习者的必经之路,为后续...
本资源“Java案例精粹150例(源代码)”提供了丰富的实践示例,帮助开发者深入理解和掌握Java的核心概念及技术。下面将详细阐述这些案例可能涉及的知识点,并给出相关扩展内容。 1. **基础语法**:Java的基础语法是...
该压缩包包含了一份PDF文档,名为“Java案例精粹150例.pdf”,很可能包含了150个精心挑选的Java编程实例,涵盖了Java语言的核心特性、标准库的使用、面向对象编程原则以及常见的设计模式等众多知识点。以下是可能...
除了基础知识点,《Java案例精粹150例》还涵盖了Spring、Hibernate、MyBatis等流行框架的使用,以及如何集成第三方库,如Apache Commons、Guava等。这些案例不仅拓宽了读者的技术视野,还为解决特定领域的复杂问题...
在Java编程领域,以下几个核心知识点是《疯狂Java讲义》可能涉及的: 1. **Java基础**:包括Java语法、数据类型、运算符、流程控制语句(如if、switch、for、while)、数组和集合框架的基础知识。 2. **面向对象...
java面试题
Java Web项目开发精粹PPT是...这些知识点是Java Web项目开发的关键组成部分,学习并掌握它们对于成为一名优秀的Java Web开发者至关重要。通过PPT的学习,你可以逐步构建自己的Java Web知识体系,提升实际项目开发能力。
然而,我们可以根据【标题】和【描述】中提到的信息,以及通用的Java项目开发知识点,来构造一篇详细的关于Java项目开发案例精粹的文章。 Java是一种广泛应用于企业级开发的编程语言,其跨平台特性、强大的库支持和...
在这个案例精粹中,我们可以从源代码中学习到多个关键知识点: 1. **MVC设计模式**:在Java Web开发中,Model-View-Controller(模型-视图-控制器)是常用的设计模式,用于分离业务逻辑、数据展示和用户交互。系统...
首先,Java2程序设计150例中的第一个关键知识点是面向对象编程(OOP)。Java语言基于OOP思想,通过类、对象、继承、封装和多态等概念来组织代码。例如,你可以看到如何定义一个类,创建对象,以及如何使用继承来实现...
### Java Web项目开发案例精粹视频与源码合集知识点详解 #### 一、概述 在当前快速发展的信息技术领域中,Java Web项目以其强大的功能、灵活性及可扩展性成为众多企业和开发者的选择。本资料集“Java Web项目开发...
以下将详细解析这一领域的关键知识点。 首先,Java Web项目是基于Java技术栈构建的Web应用程序,它结合了Servlet、JSP(JavaServer Pages)、JavaBean等技术,为开发动态网页提供了强大的支持。在这个项目中,Java ...
这些知识点构成了Java编程的核心,通过《Java案例精粹》中的150个实例,读者将有机会实践这些理论,从而深化理解,提升编程技能。每一个案例都是一个实战演练,每个解决方案都可能成为解决实际问题的灵感来源。无论...
掌握这些知识点后,开发者可以构建功能完善的Web应用,如电子商务平台、内容管理系统等。通过实际案例,开发者不仅能提升编程技能,还能理解项目开发的整体流程,包括需求分析、设计、编码、测试和部署等环节。 ...
以下是一些关键的知识点: 1. **Java Web基础**:此项目基于Java Web技术栈,包括Servlet、JSP(JavaServer Pages)和JSTL(JavaServer Pages Standard Tag Library)。Servlet用于处理HTTP请求,JSP用于动态生成...
在这一章中,我们将涵盖以下几个关键知识点: 1. **MVC设计模式**:Java Web开发中常见的模型-视图-控制器(MVC)架构是核心。MVC将业务逻辑(模型)、用户界面(视图)和数据处理(控制器)分离,使代码更易于维护...
本文将深入解析《JAVA WEB项目开发案例精粹》中的关键知识点和技术细节,旨在帮助读者更好地理解和掌握JAVA WEB项目的开发流程、关键技术以及最佳实践。 #### 一、JAVA WEB项目概述 1. **定义与背景**: - JAVA ...
通过"JAVA面试32问.doc"这份文档,求职者可以系统地复习和提升这些知识点,从而在面试中表现出色,赢得心仪的工作机会。同时,这些知识也对日常开发工作有着深远的影响,帮助程序员编写出高效、稳定、可维护的代码。