- 博客(46)
- 收藏
- 关注
原创 java实现自动生成多级目录
要求:传入三个参数,第一个表示要创建文件的根目录,第二个表示创建文件的层次,第三个参数代表每层创建目录的个数;public class CreatDir{public static void main(String args[]){String s="D:/Work2";makeDir(s,3,3);}public void makeDir(String path,int num
2017-12-15 17:44:23
3752
原创 给定两个排好顺序的数组,快速找到两数组中相同的数值
import java.util.ArrayList;import java.util.List;public class FindArray { public static void main(String[] args) { int[] a={1,2,3,4,7,8,9,10,19}; int[] b={1,2,4,7,9,12,34}; List num=findcommo
2017-10-02 15:59:31
954
原创 java中如何按输入的顺序遍历一个map和set
今天在使用如下的方式遍历HashMap里面的元素时1 for (Entry entry : hashMap.entrySet()) {2 MessageFormat.format("{0}={1}",entry.getKey(),entry.getValue());3 } 发现得到的元素不是按照之前加入HashMap的顺序输出的,这个问题我之前倒是没有注意过,后来上网
2017-10-02 14:54:35
4235
原创 Java中如何遍历map
Map的遍历大体有3种:1、遍历Map.entrySet():它的每一个元素都是Map.Entry对象,这个对象中,放着的就是Map中的某一对key-value;2、遍历Map.keySet():它是Map中key值的集合,我们可以通过遍历这个集合来读取Map中的元素;3、遍历Map.values():它是Map中value的集合,我们可以直接通过这个集合遍
2017-09-19 21:01:35
597
原创 java中遍历set
package com.file;import java.util.HashSet;import java.util.Iterator;import java.util.Set;public class TestSet { public static void main(String[] args) { Set set=new HashSet(); set.add("a1"
2017-09-19 20:30:40
4256
原创 java种如何遍历一个List集合
package com.file;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Test2 { public static void main(String[] args){ List list=new ArrayList(); list.add(
2017-09-19 20:09:14
1226
原创 子查询
子查询子查询就是在一个完整的查询语句中,嵌套若干个不同功能的小查询,从而一起完成复杂查询的一种编写形式。1.查询公司中工资最低的雇员的完整信息 --第一步:查询公司中的最低工资 select min(sal) from emp; --第二步:查询公司中雇员的完整信息 select * from emp; --第三步:查询公司中工资最低的雇员的完整信息 /* s
2017-09-12 23:04:35
552
原创 分组统计查询
1.统计函数组函数描述count(*|[distinct] 列)求出全部的记录数sum(列)求出总和,操作的列是数字avg(列)平均值max(列)最大值min(列)最小值median(
2017-09-12 22:19:09
1655
原创 多表查询操作
1.多表查询:就是在一条查询语句中,从多张表里一起取出所需要的数据多表查询的基本语法 select [distinct] * | 列名称 [as] [列别名] , 列名称 [as] [列别名],... from 表名称 1 [表别名 1], 表名称 2 [表别名 2],... [where 条件(s)] [order by 排序的字段1 asc|desc,
2017-09-11 20:16:50
424
原创 实现给定一个字符串剔除重复字符,并统计各个字符出现的次数
import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Set;public class test { public static void main(String[] args) { String oldstring="adbgfxedaabnxjhssaa";
2017-09-10 20:11:27
2899
原创 堆内存管理应用例题
下列关于堆内存管理描述错误的是()AA.堆内存分为年轻代、老年代、持久代,持久代内存溢出为OutOfMemoryError: Java heap spaceB.当Eden区满,再创建对象,会触发年轻代GC,不能回收的对象会放到To Survivor区C.年轻代的To Survivor满了或里面的对象足够Old(超过XX:MaxTenuringThreshold),则
2017-09-08 23:42:08
960
原创 JVM内存
下面有关JVM内存,说法错误的是?CA.程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的B.虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的C.方法区用于存储JVM加载的类信息、常量、静态变量、以及编译器编译后的代码等数据,是线程隔离的;//是线程共享的,不
2017-09-07 22:03:24
451
原创 java中堆和栈的区别
在Java语言中,堆和栈都是存储数据的地方。变量分为基本数据类型和引用类型,基本数据类型的变量(int,short,long,byte,float,double,boolean,char)以及对象的引用变量,其内存都分配在栈上,变量出了作用域就会自动释放,而引用类型的变量,器内存分配在堆上或者常量池(字符串常量和基本数据类型常量)中,通过new等方式创建; 具体而言,栈内存主要用来存放
2017-09-06 18:11:02
208
原创 字符串的创建与存储机制
在java语言中,字符串起着非常重要的作用,字符串的声明与初始化主要有如下两种情况:1)对于String s1=new String("abc")语句与String s2=new String("abc")语句,存在两个应用对象s1,s2,两个内容相同的字符串对象“abc”,它们在内存中的地址是不同的。只要用到new就会生成新的对象。2)对于String s1="abc" 语句与Strin
2017-09-06 18:00:39
340
原创 Break,continue以及return有什么区别
Break,continue以及return有什么区别1.Break用于跳出当前循环,不在执行剩余的代码,当循环中遇到break语句时,忽略循环体中任何其他语句和循环条件测试,程序控制在循环体后面的语句重新开始,所以,当多层循环嵌套,并且break语句出现在嵌套循环中的内层循环时,它将仅仅终止了内层循环的执行。2.Continue用于停止当次循环,回到循环的其实处,进入下一次循环操作。Co
2017-08-21 21:35:45
238
原创 运行时异常和普通异常的区别
运行时异常和普通异常的区别:Java中提供了两种错误的异常类,分别为Error和Exception,且它们拥有共同的父类—ThrowableError表示程序运行期间出现了非常严重的错误,并且该错误不可恢复,由于这属于JVN层次的严重错误,因此这种错误是会导致程序终止执行的。此外,编译器不会检查Error是否被处理,因此在程序中不推荐去捕获Error类型的异常,主要的原因是运行时异常多是由
2017-08-21 21:14:04
708
原创 ConcurrentModificationException异常及解决方案
有时候我们在遍历map集合或list集合时经常会出现如下异常:Exception in thread "main" java.util.ConcurrentModificationException at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372) at java.util.Abstrac
2017-08-19 20:05:20
314
原创 整合Struts,Spring,mybatis三个框架的helloworld
struts 整合 spring 整合 mybatis: 1-spring在web工程中使用(原理): 1-使用spring的本质是获取每一个bean对象和让spring帮我们自动注入每个属性; 2-所以需要获取ApplicationContext,ApplicationContext是单例的; 3-web中可以在服务器一启动就马上工作的有:监听器(Ser
2017-08-18 21:44:51
362
原创 spring中面向切面编程AOP的简单应用
1-横切关注点:在什么时间点,执行什么操作 2-切面:横切关注点的模块化 是横切关注点的抽象化 3-连接点:核心关注点的某一个执行点 4-切入点:对连接点的表达式定义 5-通知:拦截到连接点之后要做的事;分为: 前置 后置 异常 返回 环绕1.在调用一个类的方法前和方法后打印一些日志信息;
2017-08-16 22:45:33
209
原创 Spring框架中对bean类不同类型属性的注入方式
1.简单类型:假设有bean类Person;其中如下属性:private String pname; private Integer page; private Double pss; private List l; private Map m; private Addr addr; private String sex;简单类型可以直接注入, wangwu
2017-08-16 21:59:55
1538
原创 mybatis中延迟加载Lazy策略
延迟加载:lazy策略原理:只有在使用查询sql返回的数据是才真正发出sql语句到数据库,否则不发出(主要用在多表的联合查询)1.一对一延迟加载:
2017-08-10 22:21:43
3639
原创 mybatis框架实现关联查询
在关联查询中此处介绍两种情况:一对一和一对多假设数据库中有表person和card;其中person表的字段有pid,pname,page,psex,cid;card表有字段cid,cnum;如实现在person表和身份证两张表中查询某个人的姓名和身份证号码;
2017-08-10 20:50:21
400
原创 mybatis框架中动态sql的应用
MyBatis 的一个强大的特性之一通常是它的动态 SQL 能力;MyBatis 使用一种强大的动态 SQL 语言来改进这种情形,这种语言可以被用在任意映射的 SQL 语句中。动态 SQL 元素和使用 JSTL 或其它相似的基于 XML 的文本处理器相似。MyBatis 采用功能强大的基于 OGNL 的表达式来消除其他元素。1.条件查询if使用基本的if判断条件,解决动态whe
2017-08-10 19:53:38
620
原创 action处理Ajax请求
action有3种方式处理Ajax请求:(1)跟servletAPI耦合的方式:借助response流获取out来完成;(2)借助Stream结果类型,跟servlet API解耦合方式; 1-给result指定type=stream test/html;charset=utf-8 is
2017-08-06 16:31:56
2493
原创 struts2框架通过拦截器对表单重复提交处理
1.拦截器(Interceptor)是动态拦截Action调用的对象,类似于Servlet中的过滤器。在执行Action的业务逻辑处理方法(execute())之前,Struts2会首先执行在struts.xml中引用的拦截器。2.拦截器是struts2的一个重要特性。Struts2框架的大多数核心功能都是通过拦截器来实现的,像避免表单重复提交、类型转换、对象组装、验证、文件上传等,都是在拦截
2017-08-06 15:39:02
274
原创 利用struts2实现文件的下载
下载文件的两种方式:1.超链接的方式;2.编程实现下载;但是通过超链接下载文件,暴露了下载文件的真实地址,不利于对资源进行安全保护;而且利用超链接下载文件,服务器端的文件只能存放在Web应用程序所在的目录下。利用程序编码实现下载,可以增加安全访问控制,对经过授权认证的用户提供下载,还可以任意提供下载的数据,我们可以将文件放到Web应用程序以外的目录中,也可以将文件保存到数据库中
2017-08-06 15:16:11
562
原创 利用Struts2实现文件的上传
要想使用 HTML 表单上传一个或多个文件:(1)须把 HTML 表单的 enctype 属性设置为 multipart/form-data;multipart/form-data: 上传二进制数据,只有使用该值 ,才能完整的传递文件数据,进行上传操作;(2)须把 HTML 表单的method 属性设置为 post;(3)需添加 字段;在 Struts 应用程序里, FileUp
2017-08-06 14:08:33
276
原创 java程序初始化的顺序
在java中,当实例化对象时,对象所在类的所有成员变量首先进行初始化,只有当所有的类成员完成初始化后,才会调用对象所在类的构造函数创建对象。java程序初始化一般遵循3个原则:(1)静态对象(变量)优先于非静态对象(变量)先初始化,其中静态对象(变量)只初始化一次,费静态对象(变量)可以初始化多次。(2)父类优先于子类进行初始化。(3)按照成员变量定义的顺序进行初始化。即使变量定义
2017-08-02 21:11:25
190
原创 Struts2中使用国际化
struts2对语言包的支持可以分为3类1.action级(给某个action用);2.包级(给包中的所有action用);3.全局(给整个工程用);4.优先级;action级1.命名:action名+国际化后缀(actionName_zh_CN);2.位置:放在action类所在的包中;包级1.命名:package+国际化后缀(package_zh_CN)
2017-08-01 21:24:37
508
原创 简单学习struts标签中使用ognl表达式
struts2标签:支持ognl表达式,不能使用el;标签属性不再是纯String类型,时Object;标签属性的类型分为Object String; 1-Object可以直接写ognl; 2-String:%{propertyName}; 3-如果不清楚类型:统统加 %{},如果是Object则忽略%;
2017-07-31 22:28:30
242
原创 利用重写url机制简单实现验证码换一张的功能
重写URL机制:为了保证一个url的地址唯一,可每次向服务器传递的参数不一样即可。由数据请求的抱头信息可分析到:抱头信息包括http协议,IP地址,端口号,工程名,请求参数列表,要想访问的资源不发生变化,只能变化参数连表。此处在实现验证码的换一张的功能时,就是利用了改变参数列表的值进行刷新。详细代码实现:<%int w=100;int h=30;BufferedI
2017-07-31 21:56:33
417
原创 简单叙述服务端如何维护一个session
每个会话(即一个客户端)第一次请求时,不携带ID(服务端分配给客户端的唯一标识),当与服务端交互后,服务端会分配一个唯一的id给该客户端,此ID被保存在客户端的cookie中,并响应回客户端,当该客户端下一次请求服务端时,会携带第一次请求时服务端分配的ID。所以每来一个客户端进行请求时,此时服务端会找ID检查是否有与该回话(客户端)相匹配的ID,如果有则认为是同一个会话。如果没有服务端会认为是一个
2017-07-31 21:16:59
1185
原创 Ajax异步处理和利用jquery对Ajax的使用
1.异步刷新,在不影响前端操作的前提下,跟服务器进行数据的交互;2.异步和同步的区别:异步刷新请求和响应的主动权都在客户端;同步刷新请求的主动权在客户端,响应的主动权在服务端;工作原理:由一个XmlHttpRequest对象来完成,带对象是js的内置对象,本不是java对象。<%String path = request.getContextPath();Stri
2017-07-30 21:02:02
290
原创 使用struts2框架中3种客户端向服务端发送请求参数的方式
1.action属性:前端参数直接在action属性名之后,如PersonAction?id=1;在对应的action中加入属性id,必须加对应属性的get(),set()方法,其中属性名应为小写。应用场景:客户端向action中传递的参数不是一个完整的对象,而是简单的n个参数;2.领域对象(model):前端参数名Action中bean类对象.属性名,如有Person类的一个
2017-07-30 20:11:05
1397
原创 在java Web中实现文件的上传下载
1.首先前端利用表单收集用户的个人信息,由于在网页中显示数据时以字符串显示,在后台的Servlet中获取时,有内置的HttpServletRequest类,进行实例化后的request对象调用getParameter()方法可获取前端输入的信息,可是当前台中携带二进制文件时,此时的request对象将不能对二进制数据进行获取,所以需要进行重新获取。具体操作为:(1)前端收集信息的表单的
2017-07-30 18:43:09
341
原创 Java解析xml文件的4种方式
java解析xml分为两类,4种,分别为SAX解析,dom解析,jdom,dom4j.以下具体举例使用4种方式来实现对一个.xml文件进行解析:有命名为dome.xml的文件, java教程 89 英文 2005 php教程 65 中文 2011 c语言 33 中文 2015 1.使用dom4j的方式来实现对d
2017-07-30 17:47:56
518
原创 javascript基础编程应用表单验证
用javascript编程简单实现表单验证的功能。对应的HTML元素和设计网页如下:表单验证<!--.STYLE4 {font-size: 18px}--> 会员注册 用户名: 请输入6-10位长度 密码: 密码6-10位数字组成
2017-04-17 21:08:49
367
1
原创 javascript的应用,简单设计切换网页主题的应用
利用javascript实现一个简单的网页切换主题的应用,在网页中添加元素可以选择主题,将每个主题添加到中,然后可以通过选择主题来切换主题。本文中只是简单实现该功能,是自己在学习javascript时的一点小应用。切换主题function change(){ var c=document.getElementById("select1").value;//获取元素当前选中的值
2017-04-17 10:35:55
1980
原创 在网页中利用javascript实现动态时间的设计
向网页中添加一个动态时间动态时间设计function showTime(){var time=new Date();//获取当前系统的时间var y=time.getFullYear();//获得4位的年var m=time.getMonth()+1;//月份(0-11)var l=m<10?"0"+m:m;//将得到的月份数中小于10的月份表示为两位(01,02)var d
2017-04-16 10:50:08
3991
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人