Java学习
文章平均质量分 86
Lh_0618
这个作者很懒,什么都没留下…
展开
-
Spring06
Spring中bean的生命周期图Spring AOP的原理静态代理模式//目标接口public interface PersonDao{ public void savePerson();}//目标类public class PersonDaoImpl implements PersonDao{ @Override public void savePerson()原创 2016-07-12 23:33:06 · 503 阅读 · 0 评论 -
JDBC01
JDBC:Java访问数据库的解决方案,是一组接口JDBC中定义了一些接口: *驱动管理: DriverManager *连接接口: Connection,DatabasemetaData *语句对象接口: Statement,PreparedStatement,CallableStatement *结果集接口: ResultSet,ResultSetMetaData JDBC的操作步骤原创 2016-04-22 21:43:58 · 454 阅读 · 0 评论 -
Oracle-SQL02
字符串操作注意:在数据库中 数据下标都是从1开始CHAR:固定长度字符类型,最多2000字节,默认长度1,默认单位是字节 CHAR(N);定长字符串,一定要写够N位字节(查询高效,空间资源浪费)VARCHAR2:(仅Oracle支持):变长字符类型,最多4000字节 ,默认单位是字节 VARCHAR2(N);变长字符串,N表示最多可占用的字节数(空间资源节省,查询低效)VARCHAR:各大原创 2016-04-19 21:05:29 · 560 阅读 · 0 评论 -
Oracle-SQL05
视图视图是数据库对象之一,视图在SQL语句中体现的角色与表相同,但视图不是真实的表,而是一个查询语句对应的结果集视图分为:简单视图:查询语句基于单表建立,不包含任何函数和表达式,视图是基表的子集 复杂视图:查询语句基于单表建立,包含函数和表达式分组等操作 连接视图:查询语句基于多表建立,也算是复杂视图的一种当视图对应的子查询的字段含有函数或表达式时,必须对该字段定义别名,那么视图该字段使用原创 2016-04-21 22:56:51 · 361 阅读 · 0 评论 -
Servlet03
Servlet容器对路径的处理重定向: 重定向不是直接调用目标,而是告诉浏览器要访问哪个目标,然后由浏览器自己去访问它,是web中一种特殊的跳转res.senREdirect(“重定向地址”);解决多个网站之间跳转以及同一个项目下多个功能跳转的问题网络上访问的都是服务器上部署后的代码 *静态资源(HTML/CSS/JS/IMG) 直接访问 /项目名/文件名 *动态资源(Servlet)原创 2016-05-16 23:14:03 · 433 阅读 · 0 评论 -
Java_SE11-TCP通信,UDP通信
TCP通信java.net.Socket;封装了TCP通讯,使用该类完成与服务器端的连接,并进行相应的通讯实例化Scoket时需要传入两个参数: *服务器端的地址—通过地址找到服务端的计算机 *服务器端的端口—端口则找到该计算机上的服务端应用程序(端口尽量在2000~10000之间)实例化Socket的过程就是连接服务端的过程,连接不成功该构造方法会抛出异常java.net.Server原创 2016-04-11 21:29:21 · 607 阅读 · 0 评论 -
Java_SE10-多线程,TCP通信
线程的同步多线程并发安全问题,当多个线程操作同一资源时,由于线程切换的不确定性,会导致出现线程安全问题 当一个方法被synchronized修饰后,当前方法称为”同步方法”,多个线程不能同时进入方法内部执行,只能”排队执行”,要想解决多线程并发安全问题,就需要将执行代码从”异步”(各干干的)变为”同步”(排队干)执行当在成员方法上使用synchronized,上锁的对象就是当前方法所属对象,即原创 2016-04-09 18:53:39 · 482 阅读 · 0 评论 -
Java_SE09-多线程
注:一个方法中的局部内部类若想访问该方法中另外一个局部变量,该变量必须是final的java.lang.Thread类是线程类,其每一个实例表示一个可以并发运行的线程。我们可以通过继承该类并重写run方法来定义一个具体的线程,其中重写run方法的目的是定义该线程要执行的逻辑线程创建有两种方式: 方式一:继承Thread并重写run方法 优点:定义简单,适合匿名内部类快速创建线程 缺点:*由于原创 2016-04-08 21:40:48 · 338 阅读 · 0 评论 -
Java_SE08-文本数据IO操作,异常处理
java.io.PrintWriter缓冲字符输出流,特点:可以按行写出字符串,并且带有自动行刷新功能 通常创建PrintWriter时,其内部会自行创建一个高级流BufferedWriter作为缓冲功能java.io.BufferedWriter,缓冲字符输出流 针对文件写出操作的构造方法:PrintWriter(File file);PrintWriter(String path) v原创 2016-04-07 21:13:24 · 691 阅读 · 0 评论 -
Java_SE07-基本IO操作,文本数据IO操作
流流可以读写很多设备,但是读写操作是规范的流根据方向分为: *输入流:输入流用于“读”,将数据从外界设备读入程序 *输出流:输出流用于“写”,将数据发送到外界设备流分为: *节点流(低级流):数据源明确,真实负责读写数据的流 *处理流(高级流):不能独立存在,需要基于其他流进行处理工作,使用高级流的目的是简化读写操作使用文件流与RandomAccessFile读写文件的区别: *R原创 2016-04-06 21:48:52 · 762 阅读 · 0 评论 -
Java_SE02-04-正则表达式,包装类,日期操作,泛型,集合框架
正则表达式Java中无论正则表达式是否有边界匹配(^$)都是做全匹配验证boolean matches(String regex); 根据给定的正则表达式来验证当前字符串是否满足格式要求,满足返回trueString[] spilt(Strig regex); 将当前字符串中满足给定正则表达式的部分进行拆分,返回所有剩下的部分String replaceAll(String regex,S原创 2016-04-03 20:05:10 · 866 阅读 · 0 评论 -
Java-二进制
二进制什么是二进制?1)逢2进1的计数规则,数字:0,1.权:1,2,4,8…. 2)只要能够支持计数,就能够支持任何的数学运算为什么使用二进制?优点:使用2进制是计算机硬件成本最优的选择 缺点:与人的计数习惯不同 Java利用”魔术”手段支持了10进制,使使用者感觉Java支持了10进制二进制的应用1)进制转换 *因为进制都是用于计数,可以表示相同数字.例:255(10)=11111原创 2016-04-01 19:56:50 · 457 阅读 · 0 评论 -
Java_SE05-Comparable,Map接口,队列,栈
Comparable接口Collections的sort方法排序集合时,要求集合中的元素必须实现Comparable接口,该接口有一个抽象方法(int compareTo(Object o))用来定义比较大小的规则,所以只有实现该接口才能比较大小 该方法是用来将自身this与参数对象比较大小,返回值不关注具体取值,只关注范围 若返回值>0,当前对象比参数对象大 若返回值<0,当前对象比参数对原创 2016-03-31 21:17:34 · 673 阅读 · 0 评论 -
Java_SE01-API和字符串操作
文档注释只声明在三个地方 1.类 2.方法 3.常量 4.依次写类功能说明,作者,版本,参见,始于JDK版本 文档注释最终可以通过javadoc命令生成为文档 编译器在编译程序时,若发现一个计算表达式的操作符 两边都是字面量时,会直接将结果计算出来并编译到.class文件中 例如: String str1=”helloworld”; String str2=”h原创 2016-03-25 21:35:34 · 703 阅读 · 0 评论 -
Java面向对象06-多态,内部类
接口和抽象类的区别将公共的属性和行为抽到父类中 所有子类行为都一样—普通方法所有子类行为都不一样—抽象方法符合既是也是的情况使用接口(部分子类有共同行为,而不是所有子类有共同行为)一个类只能继承一个抽象类,但是可以实现多个接口抽象类中可以包含抽象方法和普通方法,而接口中的所有方法均为抽象的多态多态的意义同一类型引用指向不同对象时,有不同的实现同一个对象被造型为不同的类型时,有不同的原创 2016-03-21 22:48:30 · 777 阅读 · 0 评论 -
JSP02
补充:1.一个JavaBean的成员属性称为:对象属性 该类的get,set方法称为:Bean属性2.JSP中taglib指令 转发1.转发和重定向都是用来解决Web组件之间的跳转问题 Web组件:处理请求的组件,即Servlet和JSP2.两个Web组件如果有依赖关系,则用转发 两个Web组件如果没有依赖关系,则用重定向原创 2016-05-18 21:56:26 · 496 阅读 · 0 评论 -
JSP01
JSP1.是一个以.jsp为后缀的文件,文件中主要是HTML和少量的Java代码2.是服务器端动态页面技术的组件规范,其本质就是Servlet4.JSP页面中写Java代码 *JSP脚本: 能够写在方法里的Java代码片段都可以作为小脚本 *JSP表达式 变量,变量加运算符组合的表达式,有返回值的方法 *JSP声明 成员属性或成员方法的声明5.J原创 2016-05-17 22:45:59 · 487 阅读 · 0 评论 -
Hibernate
1.作用: *用于实现对数据库操作,功能等价于JDBC,MyBatis *JDBC-->JdbcTemplate-->MyBatis-->Hibernate *封装了SQL生成,参数设置,对象数据封装一系列工作 开发利用HibernateAPI实体对象操作,就可以实现对表记录操作 *特点:使用者-->实体对象===Hiber原创 2016-07-12 23:06:21 · 515 阅读 · 0 评论 -
Spring+Struts2
Struts2+Spring整合1.目的:用Spring管理Action,Service,Dao等组件 1)将Struts2的Action交给Spring *引入spring包和配置文件 *开启组件扫描,扫描Action(采用非单例模式创建) 2)请求到Filter去Spring容器获取Action对象原创 2016-07-12 23:04:43 · 564 阅读 · 0 评论 -
Struts2
1.Struts2简介 1)是MVC框架,与SpringMVC,Struts1功能相同, Struts2与Struts1没有必然联系,它是从WebWork框架发展而来,由Apache维护和推广 2)Struts2的体系结构 *StruesPrepareAndExecuteFilter(主控制器) 等价于SpringMVC的原创 2016-07-12 23:03:37 · 462 阅读 · 0 评论 -
Spring+MyBatis
基于SpringMVC和MyBatis技术开发的主要步骤1.创建工程,搭建SpringMVC和MyBatis技术环境 1)创建工程 2)添加SpringMVC技术环境 *导包spring-webmvc,spring-jdbc等 *添加applicationContext.xml配置文件 *web.xml文件中配置Disp原创 2016-07-12 23:01:10 · 488 阅读 · 0 评论 -
MyBatis
1.作用:实现对数据库进行操作,MyBatis是对JDBC技术的封装, 1)封装了获取连接,生成Statement,执行SQL过程 2)封装了SQL参数设置过程 将参数设置到#{XX} 3)封装了将结果集映射成实体对象的过程 resultType指定,名称对应2.MyBatis使用 1)导入mybatis包,数据库驱动包 2)添加SqlMapC原创 2016-07-12 23:00:10 · 426 阅读 · 0 评论 -
Ajax
Ajax简介 1)异步的JavaScript和XML技术 (Asynchronous JavaScript and XML) 2)Ajax应用:侧重于局部刷新/局部交互 3)XMLHttpRequest对象(内置在浏览器中,是一个JS对象)发送请求,接收响应 4)原理:是多种技术的综合运用 *以XMLHttpRequest对象为核心,实现请求的发送和响应结果的接收 *以JavaScri原创 2016-06-03 22:01:15 · 781 阅读 · 0 评论 -
JSP04
过滤器1.Servlet规范之中定义的一种特殊的组件2.编写过滤器步骤 1)创建一个实现了Filter接口的类 2)实现Filter接口的三个方法 *doFilter:实现过滤逻辑 *init:初始化过滤器 该方法可以通过cfg.getInitParameter("参数名"),获取初始化参数 *destroy:销毁过原创 2016-05-23 21:08:02 · 410 阅读 · 0 评论 -
JSP03
异常处理1.服务器是所有服务端组件调用的入口, 因此服务端代码抛出的异常最终都可以由服务器捕获到并统一处理2.统一处理异常的方式: 1)在web.xml中进行配置 * 指定某类型的异常对应某错误页面 * 指定某编号的异常对应某错误页面 2)哪个异常跳转到哪个页面 3)当服务器捕获到异常时,原创 2016-05-21 18:36:10 · 453 阅读 · 0 评论 -
WebBasic07-JS
注 onmouseover是鼠标悬停事件 onmouseout是鼠标离开事件 onchange:值改变时触发事件document(window对象中一个重要的对象) DOM节点树 DOM:文档对象模型,DOM节点树,DOM操作读取,修改 1)节点信息 *节点名称: nodeName *节点类型: nodeType 2)元素节点的内容 *innerText:设置或获取位于对象起始和原创 2016-05-07 18:30:39 · 537 阅读 · 0 评论 -
WebBasic06-JS
注: *onblur:光标切换事件,当光标发生改变时,触发该事件 *onsubmit:表单提交事件,返回true则可以成功提交,返回false则不能Math用于执行数学任务无需创建,可直接将其当做对象使用Date用于处理日期和时间,封装了系统时间毫秒数创建方式: *var d=new Date(); *var d=new Date(“2008/08/08 08:08”);常用方法原创 2016-05-06 20:52:25 · 2499 阅读 · 0 评论 -
Spring03
基于注解的mvc应用1.编程步骤 1)导包 2)添加spring配置文件 3)在web.xml中配置DispatcherServlet(前端控制器) 4)写Controller处理器 注:用注解的方式开发Controller *不用实现Controller接口 *可以添加多个处原创 2016-05-27 21:31:56 · 451 阅读 · 0 评论 -
Spring04
系统分层1.为什么要分层 为了方便系统的维护,性能调优,方便测试,方便分工协作2.如何分层 1)表示层:数据的展现和用户操作界面 业务层:业务逻辑的处理 持久层(数据访问层):数据访问逻辑 2)表示层调用业务层,业务层调用持久层 3)下一层为上一层提供某种服务,上一层通过接口调用下一层3.表单原创 2016-05-31 22:05:16 · 427 阅读 · 0 评论 -
Java面向对象05-抽象方法,抽象类和接口
static final 常量必须声明同时初始化,不可被改变通过类名.来访问声明的常量要大写在编译时直接替换成常量值俩个修饰符位置可互换抽象方法由abstract修饰只有方法的定义,没有方法体—小括号后直接是分号 抽象类由abstract修饰 有抽象方法的类必须用abstract修饰,若类中无抽象方法也可声明为抽象类但无意义抽象类不能被实例化抽象类需要被继承,单独存在无意义原创 2016-03-19 22:09:35 · 830 阅读 · 0 评论 -
Java基础02-变量,数据类型及其转换
1:变量—代词,指代它所存的那个数 包括变量类型,变量名,变量值 1)变量的声明 int a; //声明一个整型的变量-a int b,c,d //声明三个整型变量-b,c,d 2) 变量的命名 *严格区分大小写 *不能使用关键字 *用字母,数字,_,$组成,并且不能用数字开头原创 2016-03-08 21:55:35 · 544 阅读 · 0 评论 -
Java面向对象04-继承,访问控制修饰符,static和final
方法的重写 (override)1. 发生在父子类方法签名相同,方法体不同 2. 重写方法被调用时,看对象的类型不看引用的类型 3. 重写和重载的区别: 1)重载—发生在一个类中,方法名相同,参数列表不同,方法体不同 遵循编译期绑定,通过参数(引用)的类型来绑定调用方法 2)重写—发生在父子类中,方法签名相同,方法体不同 遵循运行期绑定,通过对象的类型来绑定调用方法原创 2016-03-18 21:53:53 · 642 阅读 · 0 评论 -
Servlet02
HTTP协议HTTP协议就是浏览器和服务器之间通信的规范,它规定了通信的方式以及数据格式通信方式 *建立连接 *浏览器向服务器发送请求 *浏览器接收服务器的响应 *关闭连接 *该方式的特点:一次请求需建立一次连接,其目的是为了降低服务器压力数据格式 1)请求数据包 *请求行:请求的基本信息 *消息头:数据的描述信息 *实体内容:数据 2)响应数据包 *状态行:响应的基本信原创 2016-05-13 21:11:23 · 1098 阅读 · 0 评论 -
jQuery
1.jQuery是一个轻量级(低耦合度)的JS库,是一个优秀的JS框架2.*jQuery对象本质上是DOM数组 *jQuery对象只能调用jQuery的API *jQuery对象可以转换成DOM对象3.大致规律 *选择器选中的是jQuery对象 *jQuery的API若返回的是节点,是jQuery对象(有例外) *jQuery的API若返回的是原创 2016-05-12 22:06:50 · 953 阅读 · 0 评论 -
Servlet01
Web应用的演变 规律 1)由单机向网络 2)由CS向BS演变 *CS: Client Server 必须单独开发并安装客户端 *BS: Browser Server 浏览器就是客户端,不必单独开发和安装服务器名称: *Java服务器 *Web服务器 *Java Web服务器 *Servlet容器本质 *是一个软件,不是硬件 *该软件可以运行J原创 2016-05-12 22:15:14 · 499 阅读 · 0 评论 -
Oracle-SQL01
简介数据库:DB,数据库管理系统:DBMS关系型数据库:描述两个元素间的关联或对应关系,使用关系模型把数据组织到二维数据表中一对一,一对多,多对多(双向一对多)数据库中列叫字段,行叫记录SQL(结构化查询语言)分为: *DDL:数据定义语言 建立,修改,删除数据库对象 *DML:数据操纵语言 改变数据表中的数据 *TCL:事务控制语言 用来维护数据一致性的语句 *DQL:数据查询语原创 2016-04-17 14:22:29 · 357 阅读 · 0 评论 -
CSDN-markdown编辑器使用帮助
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2016-04-17 14:08:45 · 346 阅读 · 0 评论 -
WebBasic08-JS
补充: JS数据类型: *特殊类型-null/undefined *内置对象(基本类型)-Number String Date Math Boolean Array Function *外部对象- window document *自定义对象自定义对象一种特殊的数据类型,由属性和方法封装而成创建方式分为三种: 1)直接量 eg:var student={“name”:”jack”,原创 2016-05-10 23:10:29 · 3052 阅读 · 0 评论 -
JDBC的一些小案列,小练习
练习1import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;/** * 用来管理连接 */public class DBUtil { private static String driverclass="oracle.jdbc.OracleDriver";原创 2016-04-26 21:08:45 · 1487 阅读 · 0 评论 -
JDBC03
事务满足如下几个特征的数据库访问叫事务: *原子性:事务是完整的,要么都成功,要么都失败 *一致性:事务前后的数据要保持一致,即收支平衡 *合理性:事务过程中的数据不能被别人访问,需要受保护/隔离 *持久性:事务一旦达成,就永久有效JDBC对事务的支持-默认支持事务 *JDBC自动管理事务:当调用executeUpdate()时,JDBC会自动提交事务 *手动管理事务:con.set原创 2016-04-26 20:56:08 · 384 阅读 · 0 评论