Java杂谈....

模式:工厂模式  单例模式


工厂模式

所有客户端依赖于工厂

所有的功能由工厂来创建

工厂模式每创建一个对象,会创建不同的对象(地址是不同的),所以说创建了两个工厂

工厂占据的资源比较多,如果客户端较多的话创建很多的工厂是不切合实际的,所以要用另外一个模式--单例


单例模式:

构造函数是私有的

Class A{
private static A a;
private A(){}
public static A createA()
{
if(a==null){a = new A()}
else return null;

}

}


Collection(List--有序允许重复,Set--无序不允许重复)
Map(键值对,无序)
以上都为接口,存在于Java.util包里

ArrayList:动态数组
优点:随机访问很快
缺点:对于中间的添加和删除的操作是很慢的
允许多线程

Vector:动态数组
线程安全

LinkedList:线性链表
优点:中间的添加和删除的操作时很快的
缺点:随机访问很慢

数据结构不同


哈希表:哈希码(自定义)
1.对象的哈希码是否一样
2.equals方法


ctrl+shift+x--转大写
ctrl+shift+y--转小写
<%=%>脚本

1.eclipse与tomcat绑定
eclipse->window->preferences->server
->runtime environments->add按钮->添加tomcat安装目录->完成
2.HTTPServlet实现B/S架构请求和响应
3.form的method属性
get与post的区别:post安全性更高,在浏览器地址栏中看不到具体的路径
4.servlet的配置
5.

select customer#,firstname||''||lastname,
state,city,address,referred
from customers
where

ROWID 伪列
用途:用来做快速查询

dual表:oracel中已经存在
用途:用来做测试

当前的系统时间:
select sysdate

where之后的语句执行顺序:
从最下面往上执行
好处:运行速度加快
所以过滤条件写在最下面,关联条件写在最上面

等号关联就是内关联

数据库语句执行顺序
3.Select
1.From
2.Where
4.Order by
而在Where中的语句执行顺序是从下到上

注意点:
1.使用组函数时,select中除了参与计算的例外,必须在group by中出现
2.组函数作为条件必须放在having子句里面

in换成exists的步骤:
select * from stu_info
where stuno not in
(select stuno from test_info)
1.in换成exists
2.给第一个表stuno一个别名,因为
stu_info和test_info两个表中的stuno重名
select * from stu_info a
where not exists
(select stuno from where stuno=a.stuno)


删除表中重复的行,只留下一行:


DDL需要事务管理
DML不需要事务管理commit

视图:VIEW-虚拟表  
简化查询并不能提高查询效率
不占用物理磁盘空间
但是占内存空间,数据库打开比较慢

oracel中视图不一定是只读的,
可以写更新语句(update)等

索引:提高查询的效率
以表非常相似的方式占用内存空间
为什么说主键查询效率高其实在建立主键的时候数据库自动给主键建立索引
复合索引:
create index stu_index on stu_info(stuname,sex)
真正优化速度的是stuname

加了索引之后,添加删除越来越慢(因为在添加删除的时候要维护索引的顺序)
索引即排序--空值是不参与排序的
所以不能写出is not/is null


数据库走索引扫描的原则:
搜索的结果不能查出10%


SQL->硬检测(SQL文是否有错误)-执行计划(全表扫描或索引扫描)



Oracel索引分类:
1.B树索引(默认类型B-tree)--树指的是平衡树
符合索引、函数索引、唯一索引
反向索引、倒序索引
注意:基数要多
2.位图索引(Bit-Map)
注意:基数要少

倒序索引:
create index *** on orders(order# desc)
反向索引:防止硬盘烧坏
create index *** on orders(order# reverse)

序列:
create sequence stu_q
start with 22
increment by 1
maxvalue 100
nocycle

序列创建之后必须先跑一下nextvalue才有值

配置TOMCAT:

环境变量:
变量名:CATALINA_HOME
变量值:TOMCAT的安装目录(截至到bin目录)

我的TOMCAT的目录:
F:\apache-tomcat-6.0.18
用dos打开:
1.先切换到TOMCAT的根目录
2.进入TOMCAT的bin目录
3.startup.bat
D:\Users\E.T>cd..
D:\Users>cd..
D:\>F:
F:\cd ap(后面直接Tab键会自动补全)
F:\apache-tomcat-6.0.18>cd bin
F:\apache-tomcat-6.0.18\bin
F:\apache-tomcat-6.0.18\bin>startup.bat
即可启动TOMCAT

在浏览器中输入
http://localhost:8088
端口号原先是8080
应与Oracel端口号冲突(Oracel默认端口号是8080),所以变成8088

TOMCAT目录中的文件说明
conf:TOMCAT的配置文件
改端口:<Connector port="8088"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值