自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 Java.Web学习笔记 spring MVC

Spring mvc框架是一个MVC框架,通过实现MVC很好地将数据,业务,展现进行分离。Spring mvc的设计围绕DispatcherServlet展开的,由DispatcherServlet负责将请求派发到特定的Handler。SpringMVC 框架搭建步骤 (1) 创建工程,拷jar包 (2) 配置web.xml,配置前端DispatcherServlet (3) 在web-i

2016-08-05 13:01:55 410

原创 Java.Web学习笔记 Spring4

Spring4 1. HelloWorld例程 (1) 先导入Jar包 (2) 然后在applicationContext.xml中配置Beans (3) //1. 创建Spring的IOC容器对象(这时候就会创建对象了,调用set方法和构造方法)ApplicationContext ctx = new ClassPathXmlApplicationContext("applicatio

2016-08-05 13:00:29 452

原创 Java.Web学习笔记 Hibernate

Hibernate 它是一种ORM框架,全称是Object-Relative Database-Mapping,在Java对象和关系数据库之间建立某种映射,以实现直接存取Java对象(一般为POJO)。 Hibernate原理 1. 通过POJO和实体数据库的映射配置自动生成相应的SQL语句,从控制台输出可以看到Hibernate生成的SQL语句,这个是动态生成的,到时候只要修改配置文件就可

2016-08-05 12:55:33 730

原创 Java.Web学习笔记 Struts2

Struts2 1. Struts2是起源于Web Work框架另一个MVC框架,不是起源于Struts1的,两个没有直接关系。 2. Struts2的Action中就有JSP表单的属性,然后要设置相应的getter和setter属性,同样Action中有execute但是不需要用request和response传参了。 3. Struts2的配置文件也有很大的不同,多了一个包名,然后用

2016-08-05 12:50:39 625

原创 Java.Web学习笔记 Struts1

Struts 1.x 基础框架具备MVC(Model View Control)的结构 实例 1. Struts工作流程Struts配置文件详解使用一个配置文件来配置Action、Form Bean以及其他资源首先ActionServlet就是Struts的入口Servlet。中把所有URL形如*.do的请求都交给它来处理,它不处理业务,只是把path属性和URL属性一致的A

2016-08-05 12:46:34 396

原创 Java.Web学习笔记 XML

XML相关的几个定义 1. 数据定义 Schema、DTD 2. 数据解析 DOM和SAX 3. 样式风格:XSTL这是用来转化XML语言成HTML语言的 4. 实现语言Java、.Net和JavaScript XML基本语法 1. 声明文档类型 要表达x<y<condition> x < y </condition>这样就不可以了需要这样<condition> x

2016-08-05 12:44:21 242

原创 Java.Web学习笔记 资源国际化

两个术语 1. I18N (Internationalization)国际化 2. I10N (Localization)本地化 使用 1. 通过指定了messages的资源名称。比如资源是xxx_zh_CN.properties,那指定的就是xxx 2. 而且.properties文件里面key-value一定要是ASCII编码,可以通过jdk自带的native2asii.exe

2016-08-05 12:42:41 337

原创 Java.Web学习笔记 自定义标签

自定义标签可以实现很多很强大的功能 1. Copyright标签 自己写一个标签的实现类 然后再/WEB-INF/下新建文件taglib.tld。 tld(tag library descriptor) 如果这个taglib.tld不在/WEB-INF/目录下,那么要在web.xml里面配置一下<jsp-config> <taglib> <tagl

2016-08-05 12:41:42 324

原创 Java.Web学习笔记 JSTL

JSTL (JSP Standard Tag Library) 1. 标签是JSP作为JavaEE分层程序中显示层的一种解决方案。比脚本维护起来简单,整体看着比较整齐,而且功能强大。 2. Core标签库 (1) 标签 <c:choose> <c:when test=”${param.action}”> When标签输出 </c:w

2016-08-05 12:39:32 381

原创 Java.Web学习笔记 Listener

一个完整的listener包括Listener类、web.xml中的配置。几种很常见的Listener (1) HttpSessionListener:监听Session对象。 创建Session时执行sessionCreated()方法 销毁时执行sessionDestroyed()方法 可以收集在线者的信息。 (2) ServletContextListener:监听context的

2016-08-05 12:36:18 243

原创 Java.Web学习笔记 Filter

Filter处理过程Filter生命周期 init()和destroy()方法只被调用一次分别是Web程序加载或者卸载时 doFilter()每次有客户端请求都会调用一次。doFileter()中通过chain.doFileter(request,response)把这个request递交给FilterChain的下一个Filter,如果Filter都走完了就交给Servlet处理Filt

2016-08-05 12:35:19 305

原创 Java.Web学习笔记 Cookie Session

Cookie机制 1. Cookie可以记录用户访问次数。 而且各个客户端的cookie彼此独立,互不可见。 2. 域名不同,Cookie是不能互相操作的,除非做了特殊处理 3. Cookie中出现中文要用URLEncoder.encode(“姓名”,”UTF-8”);这样处理 取的时候用URLEncoder.decode(cookie.getName()或者cookie.getVa

2016-08-05 12:34:25 269

原创 Java.Web学习笔记 JSP

JSP和Servlet的对比 1. Jsp先部署源代码后编译为Class Servlet先编译为Class后部署源代码 2. 和Servlet一样JSP也是运行时只有一个实例。JSP是一种特殊的Servlet,实例化和销毁时也会调用Servlet的init() 和 destroy()方法。另外它也还有自己的方法_jspInit()和_jspDestroy()。 JSP语法 1. JS

2016-08-05 12:31:45 287

原创 Java.Web学习笔记 Servlet

3.5.3@Resource注入 可以使用 private @Resource(name="asdf") String i; 或者: @Resource(name="asdf") private String i;然后在web.xml中配置一下文件比如上述的变量i的配置文件就是<env-entry> <env-entry-name>asdf</env-entry-

2016-08-05 12:26:36 239

原创 Think In Java 笔记9 String

String 1. Objects of the String class are immutable:所有的String对象都是不可变的,每次使用String的方法其实都是new 出了一个新的String 2. StringBuilder VS + 两个都可以实现字符串连接 但是如果你的字符串是在循环中的连接的话推荐使用StringBuilder,因为如果使用+号来连接,编译器自动优化

2016-08-05 12:22:43 254

原创 Think In Java 笔记8 Error Handling with Exceptions

Error Handling with Exception 1. 有了这个Exception handler那么我们就可以把处理错误的代码和业务代码更好地分开,也不用自己去check每一个点用if语句(这样会降低可读性) 2. 当一个Exception被throw出来了,那么你就要终止当前context这部分的代码然后去high context进行处理。 3. Exception han

2016-08-02 23:10:32 485

原创 Think In Java 笔记7 Holding Your Objects

Collection 1. Collection是所有一串序列的容器的root interface,比如list,Collection<Integer> c = new ArrayList<Integer>();类型有ArrayList<String>()LinkedList<String>()HashSet<String>()TreeSet<String>()LinkedHashS

2016-08-02 23:09:51 371

原创 Think In Java 笔记6 Inner Classes

Inner Classes 这个inner classes的作用 1. Hiding code 2. 可以知道它周围的class也就是在它外部的那个class,可以和它沟通。 3. 内部类可以不需要加任何说明就访问外部这个类的对象和方法,C++中这个类没有这个特性 4. 把接口的实现隐藏了,每次返回的都是实现接口的一个对象 5. 普通的class不能被private或者prot

2016-08-02 23:08:28 324

原创 Think In Java 笔记5 interface

Interface 1. Abstract class: 如果一个类中有abstract function那么这个类一定要被定义为抽象类,不然编译器报错 2. 抽象类不能被用于直接创建对象,因为编译器知道它不完整 3. 派生类继承抽象类一定要先实现它所有的抽象方法不然它也还是抽象类要加上abstract 4. Interface 类比抽象类更进一步,所有的方法都是抽象的,都是没有实现

2016-08-02 23:07:08 251

原创 Think In Java 笔记4 Polymorphism

Polymorphism 1. Early binding 就是在程序运行之前就把方法和对象进行绑定 2. Late binding 就是在程序运行的时候进行绑定,又叫动态绑定和runtime binding 3. 如果一个方法是static或者final修饰的,或者是private的方法,它自动加上final,这会告诉编译器,不要动态binding,这会提升一定的效率,但是不明显,还是

2016-08-02 23:06:03 282

原创 Think In Java 笔记3 Reusing Classes

Reusing Classes 通过创建新的类,不是从头创建,可以用现有的类 用这个类但是不污染这个类的已存在的code达到这个目的的方法有两种 1. 组合(composition):创建这个类通过创建已有的类的对象,这个类就相当于之前的类的组合 2. 继承(inheritance):创建这个类继承已有的类 父类(基类base class)的方法必须是public或者是private的

2016-08-02 23:05:19 297

原创 Think In Java 笔记2 Access control

Access Control 1. 一个.java中只能有一个public 类,其他类都是package内访问的 2. package 文件夹名 这样的定义一定要放在程序的非注释的第一行 3. package 命名一般来说是用逆序的域名,如果没有就要自己特殊组合想一个 4. import package是JDK是通过查找系统环境变量里的CLASSPATH找的 5. 如果两个pac

2016-08-02 23:04:29 289

原创 Think In Java 笔记1 initialization & Cleanup

垃圾回收机制adaptive:从stack or heap 中去找reference 然后通过reference 找到所有被引用的对象,这些对象是活的,其他是dead。回收第一种策略(第一阶段)是 stop and copy,先系统暂停,然后把活的对象拷贝到新的一块heap中,之后old heap 清空,效率太低,有些jvm使用的机制是把heap开在chunk中,之后直接从一个chunk复制到另

2016-08-02 23:01:03 299

原创 zoj1074

这一题的话一看到题目就想到了最大子串和,然后发现只需要取两行k,i然后把这两行之间的数都压缩到一行里,就是把同一列的数字合并到一行中,之后就是最大子串和的写法了#include<iostream>#include<stdio.h>#include<math.h>#include<cstring>using namespace std;int fun(int *a,int n){ i

2015-09-20 17:36:05 372

原创 zoj1088

这一题一看给的时限这么长,就觉得是暴力过就好了,然后写了一发就过了#include<iostream>#include<stdio.h>#include<cstring>using namespace std;int data[155];int fun(int m,int n){ int i=1; int cnt=0; int total=1; data[0

2015-09-20 17:31:37 334

原创 zoj1016

这道题看题目条件看了好久,第一个p方式还是挺好理解的,就是在右括号的左边有几个左括号就输出几,第二个w方式的话一开始一直没看懂a是干嘛的,后来发现并没有什么用,它的意思就是与右括号匹配的左括号里有几个右括号本身也包括在内。 知道了这个之后我就模拟了一下,先根据P生成括号,然后从右向左搜索遇到第一个右括号就从它开始向左搜索,记录右括号的个数,直到遇到左括号为止,这时输出个数然后把左括号标记为‘*’。

2015-09-18 15:33:34 430 1

原创 zoj1078

这题其实就是写一个函数比较一下一个数的某某进制是不是回文数,我是采用了两个数组进行比较,然后写了一个ans数组存储符合的进制,之后输出即可#include<iostream>#include<stdio.h>#include<cstring>using namespace std;int num1[1000],num2[1000];int k,j;void fun1(int num,in

2015-09-17 09:10:57 421 1

原创 zoj1006

这是一道有关加密解密的题目,一开始读题不是很仔细看成了单纯的加密题目,最后做出来发现样例都跑反了,再看一眼题目发现是给我们密文,要求写出明文,一开始还以为要用到逆元之类的东西,后面发现原来只要plaincode[k*i%str1.size()]=ciphercode[i]+i; 然后把plaincode保持在0-27之间的大小就可以了。#include<iostream>#include<std

2015-09-16 07:49:57 532

原创 zoj1067

这道题纯暴力做就好了,因为只有16个数字给你匹配,而且题目都没有给范围,估计应该不会卡时间,只是签到题。#include<iostream>#include<stdio.h>#include<math.h>#include<cstring>using namespace std;int x[1000],y[1000],z[1000];int fun(int i){ int ind

2015-09-15 15:23:28 335

原创 zoj1005

这道题其实只需要模拟就好了#include <iostream>using namespace std;int main(){ int juga,jugb,n,t; while(cin>>juga>>jugb>>n) { if(jugb == n) { cout<<"fill B"<<endl;

2015-09-15 14:33:23 392 1

原创 ZOJ1037

一开始没有仔细想题目,看完了就傻傻的写了一个n*m的解法。。后面发现有一些特例然后准备用搜索,之后想想发现没有这么烦,只需要找个规律就好了,n,m其中只要不是全是奇数,结果就是n*m,否则就是m*n-1+sqrt(2)#include#include#includeusing namespace std;int main(){ int cas; int n,m; cin>>c

2015-09-14 19:18:49 520

原创 zoj1049

这道题一开始题目没看懂,总以为是从两边开始腐蚀的,后来发现原来是从中间开始向两边扩散腐蚀的,读懂题目后就可以秒做了,我是写了一个函数就是返回第i年时的腐蚀半径是多少,和给定的目标点对比一下distance就好了。#include<iostream>#include<stdio.h>#include<math.h> #define exp 1e-6#define PI (acos(-1))u

2015-09-12 17:27:58 730

原创 zoj1045

因为刚开始刷题就先把AC率比较高的题刷完,这题又是一个水题,只需要暴力去试试就可以了,因为double可能需要注意下设置个exp确保下精度误差。#include<iostream>#include<stdio.h>#include<math.h> #define exp 1e-6using namespace std;int main(){ double num; dou

2015-09-12 16:45:28 326

原创 zoj1002

这一题一开始没想明白怎么搜索比较好,后来去百度了一下借鉴了别人的方法,发现一个一个搜,最后dfs一下就搞定了。#include<iostream>#include<stdio.h>#include<cstring>#include<string.h>using namespace std;int visit[10][10];int cnt;int MAX,n;char str[10]

2015-09-12 16:13:53 282

原创 zoj1048

全部累加除一下就OK了#include#include#define exp 1e-6using namespace std;int main(){ double temp; double sum; sum=0; for(int i=1;i<=12;i++){ cin>>temp; sum+=temp; } double ans; ans=sum/12.0;

2015-09-12 16:07:25 219

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除