10 2013 档案
摘要:关键字: spring中属性scope的prototype是什么意思默认情况下,从bean工厂所取得的实例为Singleton(bean的singleton属性) Singleton: Spring容器只存在一个共享的bean实例,默认的配置。 Prototype: 每次对bean的请求都会创建一个新的bean实例。二者选择的原则:有状态的bean都使用Prototype作用域,而对无状态的bean则应该使用singleton作用域。在 Spring2.0中除了以前的Singleton和Prototype外又加入了三个新的web作用域,分别为request、session和 global se
阅读全文
摘要:类图知识点:1.类图分为三部分,依次是类名、属性、方法2.以>结尾的为注释信息3.修饰符+代表public,-代表private,#代表protected,什么都没有代表包可见。4.带下划线的属性或方法代表是静态的。在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。1.依赖(Dependence) 依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直观的:类A当中使用了
阅读全文
摘要:定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。类型:创建类模式类图:单例模式应该是23种设计模式中最简单的一种模式了。它有以下几个要素:私有的构造方法指向自己实例的私有静态引用以自己实例为返回值的静态的公有的方法 单例模式根据实例化对象时机的不同分为两种:一种是饿汉式单例,一种是懒汉式单例。饿汉式单例在单例类被加载时候,就实例化一个对象交给自己的引用;而懒汉式在调用取得实例方法的时候才会实例化对象。饿汉式单例 线程安全:public class Singleton { private static Singleton singleton = new Singleton(
阅读全文
摘要:SOLID (solid) "稳定的"。。S——>Single Responsibility Principle单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职责P1发生故障风险。 O——>Open Cl
阅读全文
摘要:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进
阅读全文
摘要:转载:关于数据库优化方面的文章很多,但是有的写的似是而非,有的不切实际,对一个数据库来说,只能做到更优,不可能最优,并且由于实际需求不同,优化方案还是有所差异,根据实际需要关心的方面(速度、存储空间、可维护性、可拓展性)来优化数据库,而这些方面往往又是相互矛盾的,下面结合网上的一些看法和自己的一些观点做个总结。 一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意。所以我希望按照软件生命周期的不同阶段来总结数据库性能优化相关的注意事项。 一、 分析阶段 一般来说,在系统分析阶段往往有太多需要关注的地方,系统各种功能性、可用...
阅读全文
摘要:转载:一、索引的概念 索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。二、索引的特点 1.索引可以加快数据库的检索速度 2.索引降低了数据库插入、修改、删除等维护任务的速度 3.索引创建在表上,不能创建在视图上 4.索引既可以直接创建,也可以间接创建 5.可以在优化隐藏中,使用索引 6.使用查询处理器执行SQL语句,在一个表上,一次只能使用一个索引 7.其他三、索引的优点 ...
阅读全文
摘要:forward内部跳转 和redirect重定向跳转的区别1).从地址栏显示来说 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址. redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.2).从数据共享来说 forward:转发页面和转发到的页面可以共享request里面的数据. redirect:不能共享数据. 3).从运用地方来说 forward:一般用于用户登陆的时候,根据角色转发到.
阅读全文
摘要:1:实现Comparable接口import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;class User implements Comparable{ private Integer id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { ...
阅读全文
摘要:百度XMLXML:1:注释,同HTML2:标记3:元素初探:首先建立web工程,然后建立xml文件,起名为xmlDemo.xml Java开发 刚哥 C++开发 虎哥 DOM的简单解析:import java.io.File;import java.io.IOException;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import o...
阅读全文
摘要:import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.SchemaExport;public class AutoCreateTable { /** * @param args * 该类用来创建数据库表格 * 运行该类的时候会根据实体类以及你配置的映射文件来生成数据库表格 */ public static void main(String[] args) { // TODO Auto-generated method stub Configuration cfg = new Configur...
阅读全文
摘要:首先我们创建过过滤器:package com.gbx;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class Zh_Filter implements Filter
阅读全文
摘要:才开始我没有使用SqlMap.properties来配置连接信息。所以直接用ctrl + shift + C然后往里面添加的中文注释例: 运行的时候报:Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException; lineNumber: 10
阅读全文
摘要:IED Eclipse Java EE IDE for Web Developers:DTD 类型约束文件 1. Window->Preferences->XML->XML Catalog->User Specified Entries窗口中,选择Add 按纽 2.在Add XML Catalog Entry 对话框中选择或输入以下内容: Location: F:\soft\programmingSoft\Framework\Ibatis\sql-map-config-2.dtd Key Type: URI KEY: http://ibatis.apache.org/d
阅读全文
摘要:首先解释一下CRUD的含义:CRUD是指在做计算处理时的增加(Create)、查询(Retrieve)(重新得到数据)、更新(Update)和删除(Delete) 基本的数据库操作创建工程iBatisDemo1:首先要导入关于iBatis的jar包,以及连接数据库的jar包(我用的是MySQL)2: 创建表t_person, 建立实体类Personcreate table t_person( id int primary key auto_increment, name varchar(50), age int); public class Person { private...
阅读全文
摘要:转载高鑫的..嘻嘻..MyEclipse安装配置SVN2013.10.15No Comments67 Views配置之前请先关闭MyEclipse,OK开始了1、解压site-1.6.18.zip(百度网盘下载)到SVN文件夹,放到MyEclipse安装路径下。如下图2、在Myeclipse中的dropins文件夹里创建svn.link,内容输入如图:path=C:\\Program Files\\Genuitec\\svn3、启动MyEclipse,菜单:Window—Preferences—Team打开,若里面有SVN选项就是配置成功了,上图:
阅读全文
摘要:HibernateVSiBATIS简介Hibernate是当前最流行的O/R mapping框架,当前版本是3.05。它出身于sf.net,现在已经成为Jboss的一部分了iBATIS是另外一种优秀的O/R mapping框架,当前版本是2.0。目前属于apache的一个子项目了。相对Hibernate“O/R”而言,iBATIS是一种“Sql Mapping”的ORM实现。Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO和数据库表之间的映射,以及SQL的自动生成和执行。程序员往往只需定义好了POJO到数据库表的映射关系,即可通过Hi
阅读全文
摘要:1:MySQL 是基于limit的:select * from t_user where limit ?, ? ; 第一个参数表示起始位置, 第二个参数表示页面大小 2:Orcal 是基于ROWNUM的:在Oracle中,用SQL来实现分页有很多种实现方式,但有些语句可能并不是很通用,只能用在一些特殊场景之中;以下介绍三种比较通用的实现方案;在以下各种实现中,ROWNUM是一个最核心的关键词,在查询时他是一个虚拟的列,取值为1到记录总数的序号;首先来介绍我们工作中最常使用的一种实现方式:SELECT * FROM (SELECT ROW_.*, ROWNUM ROWNUM_ ...
阅读全文
摘要:所有的Hibernate应用中都会访问Hibernate的5个核心接口。 Configuration接口:配置Hibernate,根启动Hibernate,创建SessionFactory对象。 SessionFactory接口:初始化Hibernate,充当数据存储源的代理,创建Session对象。 Session接口:负责保存、更新、删除、加载和查询对象。 Transaction接口:管理事务。 Query和Criteria接口:执行数据库查询。 1.Configuration接口 Configuration对象用于配置并且启动Hibernate。Hibernate应用通过C...
阅读全文
摘要:1:序列化技术:序列化的过程就是将对象写入字节流和从字节流中读取对象。将对象状态转换成字节流之后,可以用java.io包中的各种字节流类将其保存到文件中,可以通过管道或线程读取,或通过网络连接将对象数据发送到另一主机。对象序列化功能非常简单、强大,在RMI、Socket、JMS、EJB都有应用。对象序列化问题在网络编程中并不是最激动人心的课题,但却相当重要,具有许多实用意义。一:对象序列化可以实现分布式对象。 主要应用例如:RMI要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样。二: java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可...
阅读全文
摘要:update org.hibernate.dialect.MySQLDialect true thread jdbc:mysql://localhost:3306/test root 1 com.mysql.jdbc.Driver
阅读全文
摘要:第一招、mysql服务的启动和停止net stop mysqlnet start mysql第二招、登陆mysql语法如下: mysql -u用户名 -p用户密码键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:mysql>注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP第三招、增加新用户格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所
阅读全文
摘要://导入JSTL "> My JSP 'index.jsp' starting page --> users = new ArrayList(); String driverName = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "1"; Class.forName(drive...
阅读全文
摘要:request, response, out, session, application, config, pagecontext, page, exception. 一.request对象: 该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。 二.response对象: 对客户的请求做出动态的响应,向客户端发送数据。 三.session对象 1.什么是session:session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。 从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开...
阅读全文
摘要:一项事物是由一个或是多个操作所组成的一个不可分割的工作单元。我们通过提交commit()或是回退rollback()来结束事务的操作。JDBC的事物处理包括三个方面:1:自动提交模式;2:事务隔离模式;3:存储点;数据库并发操作过程中会出现以下三种不确定的情况:脏读。当应用程序使用了被另一个应用程序修改过的数据,而这个数据处于未提交状态时,就会发生脏读。第二个应用程序随后会请求回滚被其修改的数据。第一个事务使用的数据就会被损坏,或者“变脏”。单读。当一个事务获得了数据,而该数据随后被一个单独的事务所更改时,若第一个事务再次读取更改后的数据,就会发生单读。这样,第一个事务进行了一个单读。虚读。当
阅读全文
摘要:import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class DBUtils { static{ try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e) { // TODO Auto-generat
阅读全文
摘要:基于MySQL的:status 命令查看MySQL当前信息 show databases; 命令列出所有数据库模式 use test; use命令切换到指定数据库模式 show tables; 列出该模式下所有的数据表 desc / describe 表名; 查看指定表的结构 创建数据库模式(我们通常称数据模式叫做数据库):create database bank character set utf-8;show databases;use bank; 删除数据库模式:drop databases bank;use bank; //测试一下,是否成功 修改数据库模式: alte...
阅读全文
摘要:SQL语言的命令通常分为四类1、数据定义语言(DDL) 创建、修改或删除数据库中各种对象,包括表、视图、索引等。 命令:CREATE TABLE , CREATE VIEW, CREATE INDEX、ALTER TABLE , DROP TABLE , DROP VIEW, DROP INDEX 2、查询语言(QL) 按照指定的组合、条件表达式或排序检索已存在的数据库中数据, 不改变数据库中数据。 命令:SELECT…FROM…WHERE…3、数据操纵语言(DML) 对已经存在的数据库进行元组的插入、删除、修改等操作...
阅读全文
摘要:A:题意: 给你两个数k,d,k表示有多少位数, d表示不断的对一个数的个数为求和,最后的得到的0-9的数思路: if (k == 1) 直接输出d, if (k != 1) if (d == 0) 非法 else 输入d *10^(k - 1)int main(){ int k,d; scanf("%d%d",&k,&d); if (k == 1) printf("%d\n",d); else { if (d == 0) printf("No solution\n"); else { stri...
阅读全文
摘要://#pragma comment(linker, "/STACK:1024000000,1024000000")#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CL(arr, val) memset(arr, val, sizeof(arr))#define lc l,m,rt> 1#define Min(x, y) (x) b[2*N];int m
阅读全文
摘要:hdu 1007 Quoit Design 最近点模板题目题意:给你n个点求平面上任意两点的最短距离思路:平面最近点对距离模板题,见算法导论P591#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CL(arr, val) memset(arr, val, sizeof(arr))#define lc l,m,rt> 1#define Min(x, y) (x) >
阅读全文
摘要:悲催的实习生之路: 话说腾讯实习生招的很早,这里也不提了,收到笔试消息的时候根本就没准备,去了做笔试题目,连个基本的SQL语句都不会写,A,B,C类IP的知识也忘了,话说去笔试之前我还搜到了去年的一份笔试题目,结果当时没看,真正等笔试完之后听旁边的人说,这不就是去年笔试的题目吗,太简单了。哥直接就伤心了,心中无限的草泥马在翻腾,哎.....专业知识一定要准备好啊。话说这次去北京面试背包被小偷翻了一次,幸亏哥的包里只放了衣服和洗漱用品。 再说一下伤心的百度,后来参加了百度实习生的一次面试,那次正好在青岛那边安排着实习。所以时间安排的很紧,请了假就跑到北京去面试了。中间经历了一次人在囧途啊...
阅读全文
摘要:感谢IT面试群S-北京-陈磊的整理分享。基础篇:操作系统、计算机网络、设计模式一:操作系统1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。3. 进程通信的几种方式。4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解)5. 线程的实现方式. (也就是用户线程与内核线程的区别)6. 用户态和核心态的区别。7. 用户栈和内核栈的区别。8. 内存池、进程池、线程池。(c++程序员必须掌握)9. 死锁的概念,导致死锁的原因.10. 导致死锁的四个必要条件。11. 处理死锁的四个方式。12. 预防死锁的方法、避免死锁的方法。13. 进程调度算法。(周转时间
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4747题意:我们定义mex(l,r)表示一个序列a[l]....a[r]中没有出现过得最小的非负整数, 然后我们给出一个长度为n的序列,求他所有的连续的子序列的mex(l,r)的和。思路:首先因为n的最大值就是2*10^5 所有我们字需要考虑200000之内的数就好了,然后O(2*n)可以求出(1,1),(1,2), (1,3),(1,4) ... (1,n)来 mex是不减的。然后我们考虑将第一个数拿走我们就能够得到(2,2),(2,3) ......(2,n) , 如何求他们?下边给出图解:下边是粘贴别人
阅读全文