- 博客(41)
- 资源 (29)
- 收藏
- 关注
原创 java中抽象类和接口的区别?
接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接
2017-06-30 18:05:27 286
原创 NIO读写文件
读取数据: /** * * @discription NIO读取文件 * @author XuJD * @created 2017年6月29日 下午6:05:48 * @throws IOException */ public void B() throws IOExc
2017-06-29 18:08:05 494
原创 Tomcat内存溢出解决办法
最常用的办法就在更改Tomcat配置文件catalina.bat(这是windows环境下,Linux环境下修改catalina.sh文件),增大内存,在文件最上面添加set "JAVA_OPTS=-Xms2048M -Xmx2048M -XX:PermSize=512M -XX:MaxPermSize=512m"
2017-06-29 15:19:13 353
原创 Java中new和不new的区别
例如以下两种情况1.ArrayList<BookInfo> InfoList=null; BookInfo bookinfo=null; bookinfo=test.getinfo();2.ArrayList<BookInfo> InfoList=new ArrayList<BookInfo>(); BookInfo bookinfo=new BookInfo(); bookinf
2017-06-29 15:06:54 22407 5
转载 Linux常用基本命令
Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到版权问题。1、显示日期的指令: date2、显示日历的指令:cal3、简单好用的计算器:bc怎么10/100会变成0呢?这是因为bc预设仅输出整数,如果要输出小数点下位数,那么就必须要执行 scale=number ,那个
2017-06-23 18:10:15 305
转载 关于MyBatis的工作流程和与JDBC的比较与Hibernate的比较
1.从一个jdbc程序开始 1 public static void main(String[] args) { 2 Connection connection = null; 3 PreparedStatement preparedStatement = null; 4 ResultSet resultSet = nul
2017-06-22 18:12:37 1002
原创 tomcat部署项目的几种方式
一、静态部署 1、直接将web项目文件件拷贝到webapps 目录中 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包
2017-06-22 18:10:14 328
原创 Spring配置文件加载外部配置文件
有时,应用程序可能需要从不同的位置(例如:文件系统、classpath或者URL)读取外部资源(例如:文本文件、xml文件、属性文件或或者图像文件)。通常,为了从不同位置加载资源,需要和不同的API打交道。Spring的资源加载器提供了一个统一的getResource()方法,使用这个方法可以通过资源路径获取外部资源。可以给路径指定不同的前缀以从不同位置加载资源。要从文件系统加载资源,可以使用fil
2017-06-22 18:06:46 2385
转载 SpringMVC快速入门、深入分析
资源下载:Spring_MVC_教程_快速入门_深入分析V1.1.pdfSpringMVC核心配置文件示例.rar 目录 一、前言二、spring mvc 核心类与接口三、spring mvc 核心流程图四、spring mvc DispatcherServlet说明五、spring mvc 父子上下文的说明六、springMVC-mvc.xml 配置文件片段讲解 七、spring mv
2017-06-19 15:56:16 600
原创 对Spring非侵入式的理解
假设大家都想要把用户代码塞到一个框架里。侵入式的做法就是要求用户代码“知道”框架的代码,表现为用户代码需要继承框架提供的类。非侵入式则不需要用户代码引入框架代码的信息,从类的编写者角度来看,察觉不到框架的存在。 例如: 1)使用struts的时候,我需要继承一些struts的类,这时struts侵入到了我的代码里。 2)使用spring,编写一些业务类的时候不需要继承spring特定的类,通过
2017-06-19 15:22:02 6010 4
转载 Java中IO与NIO的区别和使用场景
这几天主要学习了NIO,因为之前对IO使用的也比较多,所以有一个简单的对比,并且把学习的成果记录下来。 java.NIO包里包括三个基本的组件 l buffer:因为NIO是基于缓冲的,所以buffer是最底层的必要类,这也是IO和NIO的根本不同,虽然stream等有buffer开头的扩展类,但只是流的包装类,还是从流读到缓冲区,而NIO却是直接读到buffer中进行
2017-06-19 15:12:58 13612 5
转载 MySql—视图、函数、存储过程、触发器
MySql高级—视图、函数、存储过程、触发器目录 一、视图 11、视图的定义 1 2、视图的作用 1 (1)可以简化查询。 1 (2)可以进行权限控制, 3 3、查询视图 4 4、修改视图 4 5、删除视图 4
2017-06-19 14:27:24 4010 1
转载 =="和Equals的区别
public class EqualTest { public static void main(String[] args) { //对于基本类型的变量。"=="和"equal"的区别 int t1=57; int t2=67; int t3=124; int t4=124; //“==”对于基本数据类型,判断两个变量的值是否相等。
2017-06-15 16:47:59 319
原创 分表和表分区详解
为什么要分表和分区?日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率。什么是分表?分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,我们可以称为子表,每
2017-06-15 15:34:50 890
转载 Dubbo-Admin管理平台和Zookeeper注册中心的搭建
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦
2017-06-15 10:07:00 463
原创 IO读写文本和图片
IO流详解请看:IO详解直接贴代码:package com.xujd.io;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.
2017-06-14 17:14:47 1189
原创 abcde 要求输出 a b c d e ab bc cd de abc bcd cde abce bcde abcde
package com.xujd.suanfa;import org.junit.Test;import com.xujd.util.TextUtil;public class date5for25 {//有时间复杂度小于O(n*n)的欢迎指导 /** * abcde 要求输出 a b c d e ab bc cd de abc bcd cde abce bcde abcd
2017-06-14 17:07:52 3418 1
原创 堆排序
思想: 堆排序是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构(通常堆是通过一维数组来实现的),并同时满足堆的性质:即子结点的键值总是小于(或者大于)它的父节点。实现步骤:创建一个堆把堆顶元素(最大值)和堆尾元素互换把堆的尺寸缩小1,并调用heapify(A, 0)从新的堆顶元素开始进行堆调整重复步骤2,直到堆的尺寸为1宏观实现图: 动画中在排序过程之前简单的表现
2017-06-14 17:01:08 563
原创 归并排序
思想: 归并排序是创建在归并操作上的一种有效的排序算法,效率为O(nlogn),1945年由冯·诺伊曼首次提出。 归并排序的实现分为递归实现与非递归(迭代)实现。递归实现的归并排序是算法设计中分治策略的典型应用,我们将一个大问题分割成小问题分别解决,然后用所有小问题的答案来解决整个大问题。非递归(迭代)实现的归并排序首先进行是两两归并,然后四四归并,然后是八八归并,一直下去直到归并了整个数组
2017-06-14 16:55:33 545
原创 快速排序
思想: 选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分。实现步骤: 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个元素要O(nlogn)次比较。在最坏状况下则需要O(n^2)次比较,但这种状况并不常见。事实上,快速
2017-06-14 16:41:36 480
原创 插入排序
思想: 将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列, 然后从第2个记录逐个进行插入,直至整个序列有序为止。 要点:设立哨兵,作为临时存储和判断数组边界之用。 如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后顺序没有改变,从原无序序列出去的顺序就是排好序后的顺序,所以插入排序是
2017-06-14 16:28:45 556
原创 选择排序
思想: 选择排序也是一种简单直观的排序算法。它的工作原理很容易理解:在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。实现过程: 第一趟,从n 个记录中找出关键码最小的记录与第一个记录交换; 第二趟,从第二个记录开始的
2017-06-14 16:10:55 340
原创 冒泡排序
思想: 冒泡排序是一种极其简单的排序算法,也是我所学的第一个排序算法。它重复地走访要排序的所以元素,一次比较相邻两个元素,如果他们的顺序错误就把他们调换过来,直到没有元素再需要交换,排序完成。这个算法的名字由来是因为越小(或越大)的元素会经由交换慢慢“浮”到数列的顶端或者下沉到底部。实现过程:(假如要求从小到大排序) 1.比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置
2017-06-14 15:33:49 522
原创 九九乘法表
闲着无聊写个乘法表package com.xujd.suanfa;public class jiujiu { @org.junit.Test public void method(){//99乘法表 for(int i=1;i<=9;i++){ for(int j=i;j<=9;j++){ System
2017-06-14 15:13:21 606
原创 dubbo+zookeeper+SpringMVC+Spring+Mybatis+Freemarker集成(分布式入门+源码)
上一篇博文:SpringMVC+Spring+Mybatis+Freemarker集成前言:上一篇博文已经介绍了SpringMVC、Spring、Mybatis、Freemarker的集成,接下来就在上篇博文和代码的基础上集成dubbo和zookeeper,dubbo是一个rpc框架,用来做远程调用的,一般只有在分布式的情况下会用到它,想要了解dubbo和zookeeper请点击dubbo入门。前提
2017-06-13 17:52:41 1476
转载 浅谈jsp、freemarker、velocity区别
以前做web开发页面层用的基本就是就是,最近公司Java项目页面层用的技术是velocity。听说jsp要淘汰,也不知道是真是假,但本人还是比较喜欢jsp的,下面是网上查找的javaweb项目页面3种技术的区别。在java领域,表现层技术主要有三种:jsp、freemarker、velocity。jsp是大家最熟悉的技术优点:1、功能强大,可以写java代码2、支持jsp标签(jsp ta
2017-06-12 18:09:07 352
原创 SpringMVC-Spring-MyBatis-Freemarker整合+源码下载
前言:之前看过很多大神写的SSM整合,但一直没亲自动手去这搞过,对于这三个框架的整合脑子中也是模模糊糊,今天决定去弄一下,加深一下自己对他们的印象,而且我也会把最常用的前端框架FreeMarker整合到一起,以及拦截器和过滤器的使用,小弟也是第一次整合这几个常用的框架,如有错误,敬请包涵和指出。框架版本:Spring4.0, Mybatis3.2.0, Freemarker 2.3.16 数据库:
2017-06-12 17:22:16 1127
原创 session设置超时时间
方式一:在tomcat-5.0.28\conf\web.xml中设置<session-config> <session-timeout>30</session-timeout> //以分钟为单位 </session-config> 方式二: 在工程的web.xml中设置<session-config> <session-timeout>15</session-timeo
2017-06-09 18:54:48 1018
原创 Oracle唯一主键ID的生成
一般常用的方法有两者,使用Sequence和使用SYS_GUID ();方法一: 1. 创建序列Sequence-- Create sequence create sequence SEQ_IDminvalue 1maxvalue 99999999start with 6106increment by 1cache 20order;2.insert into user(id,na
2017-06-09 18:49:34 13862
原创 oracle创建用户、授权、建表空间
1.cmd2.SQL> sqlplus/conlog;3.SQL> conn/as sysdba;4.//创建临时表DB_TEMP yx:我创建的数据库名称 在oracle安装目录下SQL> CREATE TEMPORARY TABLESPACE DB_TEMP TEMPFILE 'D:\app\Administrator\oradata\yx\DB_TEMP.DBF'
2017-06-05 18:35:47 635
原创 数据结构和算法的关系
数据结构:数据与数据之间的结构关系(数组、队列、树、图等结构)算法:解决问题的步骤总结:1、程序 = 数据结构 + 算法 。数据是程序的中心。数据结构和算法两个概念间的逻辑关系贯穿了整个程序世界,首先二者表现为不可分割的关系。没有数据间的有机关系,程序根本无法设计。2、数据结构与算法关系:数据结构是底层,算法高层。数据结构为算法提供服务。算法围绕数据结构操作。3、解决问题(算法)需要选择正确的数据结
2017-06-05 15:36:48 5517
转载 SpringMVC面试题
f-sm-1. 讲下SpringMvc和Struts1,Struts2的比较的优势 性能上Struts1>SpringMvc>Struts2 开发速度上SpringMvc和Struts2差不多,比Struts1要高f-sm-2. 讲下SpringMvc的核心入口类是什么,Struts1,Struts2的分别是什么 SpringMvc的是DispatchServlet,Struts1的是Ac
2017-06-05 15:18:32 945
原创 Ajax基本使用
一、Ajax 简介:AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。二、Ajax参数: 1.u
2017-06-05 14:42:55 482
原创 Redis入门详解(windows环境)+源码
Redis 简介Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数
2017-06-05 11:56:50 1091
原创 MyBatis动态SQL之foreach用法
首先简单说下foreach六个属性 item 每一次迭代结果 collection 循环集合成指定类型 separator 元素之间的分隔符,可选 open 开始符号,可选 close 关闭符号,可选 index list和数组的序号,可选 接着来看一下循环查询的例子 在user.xml中加入 <select id="selectUserFor
2017-06-05 11:05:00 4556
转载 Spring IOC与AOP详解
前言 搜狐畅游笔试题中有一道问答题涉及到回答谈谈对spring IOC与AOP的理解。特将相关内容进行整理。 IOC和AOP是Spring中的两个核心的概念,下面谈谈对这两个概念的理解。 1. IOC(Inverse of Control):控制反转,也可以称为依赖倒置。 所谓依赖,从程序的角度看,就是比如A要调用B的方法,那么A就依赖于B,反正A要用到B,则A依赖于B。所谓倒置,你必须
2017-06-05 10:55:42 658
转载 Spring事务管理
Spring是SSH中的管理员,负责管理其它框架,协调各个部分的工作。今天一起学习一下Spring的事务管理。Spring的事务管理分为声明式跟编程式。声明式就是在Spring的配置文件中进行相关配置;编程式就是用注解的方式写到代码里。下面先说声明式:Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配
2017-06-01 15:34:28 234
原创 spring是如何控制事务的?
Spring 的事务,可以说是 Spring AOP 的一种实现。AOP面向切面编程,即在不修改源代码的情况下,对原有功能进行扩展,通过代理类来对具体类进行操作。 spring是一个容器,通过spring这个容器来对对象进行管理,根据配置文件来实现spring对对象的管理。spring的事务声明有两种方式,编程式和声明式。spring主要是通过“声明式事务”的方式对事务进行管理,即在配置文件中进行声
2017-06-01 15:05:43 3211
转载 SpringMVC与Struts2区别与比较总结
1、Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,因为Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标
2017-06-01 14:36:24 342
转载 SpringMVC的拦截器(Interceptor)和过滤器(Filter)详解
一 简介(1)过滤器:依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据,比如:在过滤器中修改字符编码;在过滤器中修改HttpServletRequest的一些参数,包括:过滤低俗文字、危险字符等关于过滤器的一些用法可以参考我写过的这些文章:继承HttpServl
2017-06-01 11:54:48 4346
dubbo+zookeeper+SpringMVC+Spring+Mybatis+Freemarker集成
2017-06-12
springboot+angularJS+AdminLTE
2018-08-21
java网络爬虫模拟登入抓取数据
2017-12-30
FlashFXP5.4.0中文破解版
2017-12-13
SVN1.8插件
2017-09-25
JDK1.8 API 中文 高清完整版
2017-09-04
Shiro入门项目
2017-08-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人