自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

J.Jian博客

日积月累,终成大神!

  • 博客(64)
  • 资源 (5)
  • 收藏
  • 关注

原创 Java8一Lambda与函数式接口

关于Lambda表示在工作学习中会经常用到,但并没有全面的去了解。在这里做一个较为详细的记录供以后学习查阅。主要参考Java 8 Lambda 表达式引言Java8之前,我们在使用Runnale创建线程的时候,经常需要将Runable实例传入new Thread中。一般采用匿名内部类将函数作为参数的形式传入new Thread(new Runnable() { @O...

2018-05-02 19:01:54 8653

原创 Git简单使用教程(2)

一、创建github远程库之前教程(1)已经在本地创建了本地仓库,但是通常开发都是需要很多人来协作的,也就是会有很多的版本,总不能在本地仓库拷贝来拷贝去,这时候就需要一个远程的仓库,与本地仓库关联,开发者只需要在本地修改完以后上传到远程仓库即可。1、登录github官网,完成注册。 2、点击右上角“+”号,创建reposity 3、完成创建reposity: 二、关联远程库这时候我门打开G

2017-11-24 14:12:53 330

原创 Git的简单使用教程(1)

一、安装Git这里介绍的是windows下安装Git,官方下载地址:https://git-for-windows.github.io/,但是会比较慢。建议在各大资源网站上下载Git客户端。 下载好以后找到Git安装目录->“Git Bash”,出现类似Dos的命令窗口,说明Git安装成功。二、创建reposity版本仓库创建仓库之前,应该需要以下的设置,在命令行输入: git config --

2017-11-23 18:22:37 406 2

原创 Maven配置及使用

Maven本地的安装配置与使用1、下载Maven地址:Apache Maven下载选择Maven的zip文件下载,之后解压到你要放的文件目录下。2、配置环境变量(1)添加MAVEN_HOME环境变量 (2)加入到系统变量path中,添加:;%MAVEN_HOME%bin(注意跟之前的分好区分)(3)测试配置成功与否在DOS下输入:mvn -version 如果出现下图所示的下载的Maven版本号

2017-11-14 15:42:08 322

原创 Apache Shiro简介

Apache Shiro简介一、Apache Shiro是什么,用来干什么的?1、Apache Shiro介绍在Apache Shiro (http://shiro.apache.org/what-is-shiro.html)英文介绍中,有以下三个方面的介绍。Apache Shiro is an application security framework :Apache Shiro是一种应用的安

2017-11-08 16:29:40 483

原创 SpringMVC随笔——认识ModelAndView

通过查资料总结整理了下自己对于ModelAndView理解,网上很多的文章,参考了大神们写的文章以后,自己对ModelAndView有了更好的理解,希望分享给大家的同时,也希望自己能够加深印象。新手认识ModelAndView在总结之前用图例可以清楚地解释ModelAndView的功能与流程之后做出总结: 1. ModelAndView由名字都可以看出:它分为两部分Model与View,Model

2017-11-01 17:18:55 506

原创 SpringMVC随笔——扫描包使用

SpringMVC扫描包

2017-11-01 12:22:50 1963

原创 Mybatis快速入门—新手Mybatis详细配置步骤介绍

新手学习Mybatis笔记—Mybatis配置第一次接触Mybatis,记录自己的学习过程,首先通过查阅一些资料得到对Mybatis的以下几点理解一、 Mybatis个人理解Mybatis是一种针对SQL查询映射ORM持久层框架配置过程与Hibernate相类似Mybatis消除了繁琐的JDBC代码编码以及参数设置过程相比较Hibernate,Mybatis更为轻量级。两者具体的比较,之后会

2017-10-27 09:58:34 860

原创 Java三种工厂模式

前言 很多框架中都设计到设计模式,其中工厂模式最常用,为了日后能更好研究框架源码,或者对于小白的我来说至少能读懂框架源码。掌握基本的设计模式是必须的。所以在这里做一个粗浅的认识总结,其中可能会有很多的瑕疵,希望大家多多包涵,此外其中的UML都是自己画的,自我感觉不太很正规。概念以工厂方法模式(Factory Method Model)UML说明相关概念 角色说明:...

2018-07-12 14:42:42 4256 1

原创 Java策略模式

策略模式策略模式属于对象的行为模式,主要是是针对一组算法,将每一个算法封装到具有共同接口的抽象的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式把一个系列的算法封装到一个系列的具体策略类里面,作为一个抽象策略类的子类或策略接口的实现类。主要适用于完成同一个共同目标而需要提出不同具有动态性并且具有差异的方案,比如针对同一个商品不同时期不同人的打...

2018-06-29 17:17:16 393

原创 Java代理模式(3)一CGLib动态代理

目录Java代理模式(1)一静态代理 Java代理模式(2)一动态代理前言 Java代理模式(2)一动态代理中提到Java的动态代理只局限于实现接口的实现类(RealSubject/RealSubject2都实现 ProblemInterface),尽管比起静态代理优点有很多,但是实际业务中不是所有的类都会实现一个接口,在Spring、Hibernate这些框架更是很明显,所...

2018-06-20 23:54:36 452

原创 Java代理模式(2)一动态代理

前言 之前Java代理模式(1)已经介绍了Java的静态模式,其缺点也已经说明。为此引出了Java的动态代理。一、Java动态代理与静态代理的对比静态代理:是通过开发人员手动去实现接口并调用的;只能一个代理类实现一个接口,如果接口中的还有未实现的方法时,代理类也要必须实现。同时会产生大量重复的代码。动态代理:通过反射机制实现动态代理(利用java.la...

2018-06-19 23:20:33 352

原创 Java代理模式(1)一静态代理

前言 有一天,小李在项目中发现一个严重的问题,需要直接向其他部门的经理B沟通该问题。但是想来想去,出于职场经验小李决定不能直接去找那个经理,不能越过自己部门领导而直接去找。这样违反了职场规则。那么小李最后决定先找部门负责该项目的领导A,然后请求领导A向经理B反映沟通该问题。 这个例子中涉及到我们的代理模式,何为代理模式呢,从小李请求沟通这方面讲: 1、小李作为被领导A代理对象,...

2018-06-19 13:52:05 320

原创 Java并发学习(3)一5种同步辅助类

前言 线程之前通常需要进一步的协调工作,来完成相应比较复杂的并发任务,使用wait/notify等方法都是底层实现。现在我们需要的更为抽象满足具体实际业务的一些方法,这时候我们就会用到相应的5种同步辅助类。CountDownLatch:它允许一个或多个线程一直等待,直到其他线程执行完后再执行。利用它可以实现类似于计数器的功能。Semaphore:信号量,如果学过操作系统中PV...

2018-05-28 17:40:13 584

原创 Java 8一学习Stream API

前言 这里只简单记录Java 8 stream API的使用 不讨论过多的性能对比与底层原理。一、什么是Stream1、stream并不是某种数据结构,它只是数据源的一种视图。这里的数据源可以是一个数组,集合等。stream接口继承关系如下: 其中IntStream LongStream DoubleStream对应数据基本类型int long double三种数...

2018-05-21 18:05:55 738

原创 jQuery对象与DOM对象

jQuery也可以返回DOM对象,在这里做个记录加深记忆,主要做如下两个记录 1.jQuery哪些方法返回DOM对象 2.jQuery对象与DOM对象相互转换1、jQuery哪些方法可以返回DOM对象由于jQuery对象本身是一个集合,所以我们使用[index]索引取出某一项时,取出的就为DOM对象 ,如$("#div")[0],$("div").eq(1)[0],$...

2018-05-12 16:42:06 314

原创 LeetCode一求素数算法优化的简单研究

前言 1.求素数对于大多数人都比较简单,谁不知道啊。一个数n只存在1与自身能整除的数就为素数,并且编写代码也相对容易,很快就能写出。 2. 但是如果我现在要求优化求素数的算法呢?你能做到几步优化?从时间上优化,从空间上优化都能实现吗?1、常规的算法及实现(1)简单算法描述: 第(1)步:在2~n-1中取数循环除以n,如果能整除就返回false退出,否则继...

2018-05-12 15:36:30 2022

原创 HTML5图片验证及上传实例:学习FileReader/Image

2018-05-09 16:49:16 1114

原创 Spring定时任务基于注解的学习

前言 关于相关定时任务的开发工具一般用到quartz与Spring Task两种方式。 关于quartz的配置相对要复杂一些,具体请看我之前的认识quartz定时器。 而Spring Task更为广泛使用,非常轻量级配置简单,使用方便。一、相关配置在spring的配置文件applicationContext.xml中配置。1、在xmlns中添加:xml...

2018-05-02 13:49:53 247

原创 SSM框架下Log4j的配置(1)

前言 Log4j是用来做什么的? Log4j需要什么样的配置文件才能运行? Log4j结合SSM框架是如何在web.xml配置的?什么是Log4j?  Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日...

2018-04-25 15:33:22 1007

原创 SpringMVC 常用applicationContext.xml、web.xml、servlet-mvc.xml简单配置

在进行学习配置文件之前,为了加深对框架的认识,简单的做了SSM框架的简单实验。然后画出listAll查询方法的整个过程的思维导图。 整个过程中的web.xml、SpringMVC.xml、applicationContext.xml配置文件起到关键作用,同时也是为了加深理解,在此做下记录,请看下面!一、SpringMVC的web.xml配置关于SpringMVC 的web.xml详细介绍,我之

2018-04-24 18:07:50 2853

原创 学习排序算法(1)

一、排序算法的介绍首先,我们队排序算法进行分类,可以从两个不同的角度各分为两类。从排序过程中用到的内外存储分为:内部排序与外部排序。通过排序的手段(通过比较决定位置还是通过其他)来划分为:非线性与线性排序其次,我们又可以细分为:冒泡排序、选择排序、堆排序、快速排序等,请看下图 最后,我们对排序算法的时间复杂度、空间复杂度、稳定性等性能进行总结,请看下图二、具体算法描述与代码实现1、冒泡排序(

2018-04-20 14:37:37 294

原创 LeetCode一求数组第一个缺失正数问题

1、题目要求及分析:(1)题目要求:给一个未排序的数组,找出第一个缺失的正整数。例如, [1,2,0] 返回 3, [3,4,-1,1] 返回 2。你的算法应该在 O(n) 的时间复杂度内完成并且使用常数量的空间。 (2)题目分析:此题是对数组的灵活运用,跟很多数组的题一样,都是循环->比较->输出问题,但是这里注意时间复杂度为O(n)与常数量的空间(也就是另...

2018-04-04 19:24:17 1697

原创 LeetCode——解决删除数组中重复元素问题三种方式

情景要求: (1)输入的数组元素为基本类型int。 (2)返回不含重复元素的数组,其类型为基本类型int。 (3)对最后的结果数组元素顺序没有要求,可乱序也可排序。 经过一系列的思考与实践,总结出了以下三种不同情形“删除数组重复元素”的解决办法。1、通过原始数组删除重复元素方法一:不重新开辟内存(不创建list、set等),可以在原始数组中原地删除重复元素。 由于数组的长...

2018-04-03 18:03:35 10903

原创 学习jquery validate插件方法remote

最近接触到remote方法,有些细节没有掌握好,经过一番的查资料与思考。现在终于知道了这个remote方法的巧妙之处以及细节用法,接下来加以记录。1、remote方法的接受数据Dataremote的本质是异步ajax,自然接受的数据类型可以跟ajax的类型相同,但是这里remote的源码要求我们当我们默认只需要验证当前元素的值的时候,即可以直接用以下方式//验证身份证号唯一性...

2018-03-31 16:41:34 593

原创 基础算法一一股神问题

一、题目描述股神问题: 买了一支股票,他知道从他买股票的那天开始,股票会有以下变化:第一天不变,以后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天…依此类推。 为方便计算,假设每次涨和跌皆为1,股票初始单价也为1,请计算买股票的第n天每股股票值多少钱?二、问题分析将问题具体化: 通过将问题化解为子类问题后得知:每次的变化其实就是增加1、2、3、4、5、n次之后减1,首先我想到的是利用递

2018-03-22 11:20:07 1017

原创 学习二叉树(1)

1、二叉树介绍二叉树是指每个节点最多有两个子树的的树形结构(通俗来说就是一个父节点顶多有两个字节点),它可以有以下几种形状。 2、二叉树的特性介绍及简单证明(1) 二叉树第i层上的结点数目最多为2i−1(i≥0)2i−1(i≥0) 2^{i-1}(i≥0) (2) 深度为k的二叉树最多的结点数为有2k−1(k≥0)2k−1(k≥0) 2^{k}-1(k≥0) 一个满二...

2018-03-15 23:42:25 275

原创 Maven打包JavaWeb项目的两种方式

Maven打包web项目方式及步骤我最近学习的打包方式有两种,分为如下:第一种是通过命令行打包:要知道maven常用的命令第二种是通过eclipse打包:简单方便就可以打包,是普遍使用的方式一、通过eclipse打包web项目(1)进入eclipse打包右键点击项目,选择Run As。 (2)任何打包前先进行清理,选择Maven clean。等待console出现如...

2018-03-15 15:14:33 11623 1

原创 Java并发学习(2)一认识线程的状态

认识线程的状态为了复习Java多线程的知识,经过查看资料后通过自己的理解与认识,先画出了一张线程几种状态之间的转换过程图,然后再对几种状态进行具体描述。 1、初始状态初始状态也就是new状态,也就是当我们写到new Thread()的时候,创建了一个新线程,但是该线程还没运行,还没有线程任务可做。2、可运行状态可运行状态不是执行了run方法就是可运行状态,而是调用star...

2018-03-12 21:53:42 262

原创 Java并发学习(1)

一、Java创建多线程的三种方式1、Java创建多线程的方式有三种(1) 继承Thread类创建线程。 (2)实现Runnable接口创建线程。 (3)使用Callable与Future创建线程。2、三种创建方式的介绍继承Thread类创建线程 (1)创建并启动线程的步骤:定义继承Thread类的子类。重写run()方法,run方法就是我们要执行的...

2018-03-09 10:12:15 196

原创 认识Java单例模式

一、什么是单例模式单例模式是程序设计中常用到的一种设计模式,主要是使用在:我们只需要一个类实现保存一个对象,不希望有更多的对象被实例化保存从而造成不必要的资源浪费,这时候我们用到的设计模式就叫单例模式。二、单例模式的特点1、单例模式只有一个实例instance 2.、构造方法必须private私有,不能被其他new(包括子类)private Singleton(){}...

2018-03-07 14:07:12 225

原创 jquery的自定义插件的学习

jquery提供的自定义插件方法jQuery可以很好地让开发者参与扩展开发插件的过程中来,形成自己常用的工具平台,满足自己公司的特定需要,作为新手需要详细了解其自定义插件的2种方式。其实有三种方式:通过$.extend()来扩展jQuery:这是最简单又方便的方式,但是不能操作绑定DOM。通过$.fn 向jQuery添加新的方法:这是最常用的方式,大部分的插件都是通过这种方式完成的。通过$.wid...

2018-03-01 18:48:20 359

原创 Jquery prop()、data()与attr()区别

目前在学些过程中遇到关于JQuery的几个基础知识,这里做记录相当于笔记加深自己的记忆与理解!JQuery的prop()、data()与attr()的区别1、JQuery版本的差异(1)prop():此方法jquery1.6引入,读/写DOM的property。(2)data():此方法在jquery1.2.3引入,作用是把任意的数据读取/存储到DOM元素对应的jquery对象上。(3)attr(...

2018-02-26 22:44:30 413

原创 Bootstrap 网格系统的学习

一、什么是Bootstrap网格系统?简单来说,Bootstrap包含一套响应式的、移动设备优先的、不固定的网格系统,可以随着设备的大小增加而适当的进行扩展到12列。 也就是通过定义容器的大小,平分12份,在调整内外边距,最后再结合媒体查询的方式运用网格系统。二、Bootstrap网格系统的工作原理1、数据行row必须放在.container class内,这样才能获得适当的对齐alignment

2018-02-12 15:01:36 289

原创 Jquery的验证插件Validate.js

最近使用到了验证这一功能,验证一般分为前台验证、后台验证两种。之前记录的关于Spring MVC 验证注解@Validation的是属于后台验证。而现在要介绍的是属于Jquery前台验证。一、Validation插件功能介绍封装了必填、数字、Email、URL等的十几种验证规则。也可以自定义验证规则,增强验证规则。强大的验证信息提示,可以使用默认的验证信息提示,也可以自定义的覆盖

2018-01-19 16:44:11 823

原创 使用SpringMVC的@Validated注解验证

最近作为新手刚接触到SpringMVC的@Validated注解验证,为了能加深理解。在此记录下@Validated的使用,一下的步骤省略了配置文件与环境的搭建,直接从使用开始。1、SpringMVC验证@Validated的使用第一步:编写国际化消息资源文件编写国际化消息资源ValidatedMessage.properties文件主要是用来显示错误的消息定制edit.username.null

2018-01-17 18:38:33 30488 2

原创 Javascript的事件冒泡与事件捕捉

1、什么是事件冒泡,什么是事件捕捉?无论是事件冒泡还是事件捕捉,都是他们是描述事件触发时序问题的术语,即两者都为事件流。 - 事件冒泡:是指从触发事件的DOM节点开始一直传播到document节点,即是一种从下到上的传播方式。 - 事件捕捉:是指从文档节点document到触发事件的DOM节点,即是一种从上到下的事件传播方式。在对节点绑定事件的方法的第三个参数如果为true,则为事件捕捉,当

2018-01-03 23:18:58 445

原创 JQuery的事件绑定与事件委托

1、事件委托与事件绑定概念事件绑定:将普通的事件event绑定在DOM节点上,当DOM节点被选中时,将事件与之绑定,方便用户提供相应的操作。比如:在button按钮上绑定click鼠标事件,在input中绑定focusin焦点事件等等,具体的例如:常常在代码中这样写$('.bn1').click(function(){...})就是普通的事件绑定。事件委托:是指在事件绑定的基础上补充与扩展事件绑

2018-01-03 12:07:35 7086

原创 学习MySQL复杂查询——day04

一、MySQL复制表的几种方式我们首先创建表stuents_score,利用SQL语句查看创建表的结构与列名字段。-- 显示students_score的创建语句与结构SHOW CREATE TABLE students_score;-- 显示Create table表SQL语句/*CREATE TABLE `students_score` ( `ID` varchar(11) NOT

2017-12-29 14:41:52 372

原创 学习MySQL复杂查询——day03

一、Trigger触发器1、什么是触发器,是用来做什么的?(1)触发器是一种与MySQL数据库有关的数据库对象,是对表操作时触发执行的对象。其实是一种特殊的存储过程,它的执行并不是程序调用,也不是人为启动,而是事件触发。 (2)触发器可以用来对一张表进行增、删、改操作的同时,也可以对另外一张表自动化完成操作。比如,我们在学生表中加入一个学生信息,那么学生表所对应的成绩表中的总成绩应该也要加上加入的

2017-12-28 09:53:23 363

Spring In Action中文版+英文版+文中源码

Spring In Action中文版+英文版+文中源码 Spring In Action中文版+英文版+文中源码

2018-05-28

软件设计师教程第4版

高清软件设计师教程第4版.pdf 高清软件设计师教程第4版.pdf

2018-05-28

SpringMVC所需jar包

Spring完整的jar包下载,解压复制到WebContent/WEB-INF/lib文件下即可

2017-10-28

Struts2.3.14.3源文件+jar包

可以直接使用jar文件夹中的全部jar包,无需寻找原文件中的lib下的jar包

2017-10-28

Hibernate所需jar包下载

所需要的jar包全在jar文件夹中,可以直接复制到WebContent/WEB-INF/lib下

2017-10-28

空空如也

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

TA关注的人

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