自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (1)
  • 收藏
  • 关注

原创 数据结构与算法系列--栈的精讲

  浏览器的前进后退功能,大家都很熟悉吧?你知道这是如何实现的吗?没错,就是用栈 这种数据结构。如何理解“栈”?就像一摞叠在一起的盘子。从下往上放,从上往下取。后进先出,先进后出,这就是典型的“栈”结构。其实,计算机世界的思想并非石头缝里蹦出来的,现实世界都有它们的影子。从栈的操作特性上来看,栈是一种“操作受限”的线性表,只允许在一端插入和删除数据。相比数组和链表,栈带给我们的只有限制,那为什...

2019-04-09 10:51:35 184

原创 数据结构与算法系列--哈希表初识

  哈希表用的是数组支持按照下标随机访问数据的特性,所以哈希表其实就是数组的一种扩展,由数组演化而来。可以说,没有数组,就没有哈希表。那么,数组与哈希表有什么不同呢?它们都可以通过下标来随机访问,但数组的下标和数组的元素值是没有关系的(和地址有关),数组的本质 https://blog.csdn.net/chegy218/article/details/89055074而哈希表用的就是数组支...

2019-04-06 22:12:31 296

原创 数据结构与算法系列--链表精讲

  链表也是一种线性表数据结构,与数组不同在于,逻辑上连续,物理空间不连续。链表结构五花八门,重点介绍三种常见的链表结构:单链表,双向链表,循环链表,1,单链表和数组相比,如何做到将零散的内存块串联起来?链表由结点组成,结点由data和next内存块组成。next存储着下一个结点的地址。插入结点删除结点复杂度分析插入删除操作O(1)对比数组,虽然插入和删除操作高效,但是链表不...

2019-04-06 15:36:08 371 1

原创 数据结构与算法系列--数组精讲

  在每种编程语言中,基本都会有数组这种数据类型,它不仅仅是一种编程语言的数据类型,还是一种最基础的数据结构。尽管数组看起来非常基础,简单,但是我估计很多人并没有理解这个基础的数据结构的精髓。现在我以问题导向讲解数组的精髓。什么是数组?数组是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。(专业定义)关键词:线性表,连续,相同类型1,如何实现随机访问?数组有随...

2019-04-06 13:52:18 361

原创 GitHub+Hexo 搭建个人网站遇到的问题

我按照了几个教程来搭建个人博客,写的很好,但是,由于hexo及其一些主题更新(NEXT),所以那些教程也并不是特效药,其中很多命令操作都已经过时了,需要自己解决问题。https://zhuanlan.zhihu.com/p/266252491 :hexo d命令报错 ERROR Deployer not found: git解决方案:这是因为没安装hexo-deployer-git插件,输...

2019-04-06 12:09:36 374

原创 SVN使用时遇到的问题

1,重启造成SVN没有启动当然,一般开发者面对的问题是SVN没有启动,并不知道原因。所以,找原因是首先想到的思路。那我们就检查SVN是否已经启动了。ps -ef|grep svnserve上图表示已经启动了svnserve。如果没有启动,则启动。svnserve -d -r /data/svn我一般会检查防火墙是否开启,如果开启,则关闭,并设置为开机关闭。(Centos6.08系统)...

2019-04-06 11:45:05 356

原创 MySQL事务

  MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!使用事务需要如下满足3个条件:在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的 SQL语句要...

2019-04-03 10:43:24 293

原创 SQL注入问题及解决方法

  SQL注入是一个安全问题,因为应用程序使用拼接SQL的技术而成为hacker攻击后台的方式。下面就介绍一下3种SQL注入,及解决SQL注入的方法。下面以登录的机制为例,进行SQL注入的讲解。1,基于 1=1 总为真SELECT * FROM Users WHERE UserId = 105 OR 1=1;黑客只需在输入字段中插入105或1=1,就可以访问数据库中的所有用户名和...

2019-04-01 19:31:51 8898 1

原创 MyBatis开发入门(三)--动态SQL

  本篇重点讲解如何拼接MyBatis的动态SQL语句。MyBatis的动态SQL元素与JSTL或XML文本处理器相似,常用<if>,<choose>,<when>,<otherwise>,<trim>,<where>,<set>,<foreach>,<bind>等元素动态SQL应用场景:...

2019-04-01 15:40:44 166

原创 eclipse debug断点调试

  eclipse是Java开发工程师使用的经典IDE,对其熟悉也影响着开发的效率。所以,熟练掌握eclise IDE是一个Java开发者必须掌握的技能。

2019-04-01 14:27:40 251

原创 MyBatis开发入门(二)-映射器(增删改查和级联查询)

  本文重点讲解MyBatis的SQL映射文件。及MyBatis其核心配置文件,SQL映射文件,级联查询。github的demo路径:1,核心配置文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "ht...

2019-03-31 20:10:43 342

原创 MyBatis开发入门(一)

  MyBatis是主流的Java持久层框架之一,它与Hibernate一样,也是一种ORM(即对象关系映射)框架。MyBatis是一个半自动映射的框架,因为MyBatis需要手动匹配POJO,SQL和映射关系;而Hibernate是一个全表映射的框架,只需提供POJO和映射关系即可。MyBatis是一个小巧,方便,高效,简单,直接,半自动化的持久层框架;Hibernate是一个强大,方便,高效,...

2019-03-29 21:09:44 183

原创 Mysql版本问题引起的惨案

这里区分版本主要是Mysql5和Mysql8,它们在与应用程序连接有不同之处,对初学者来说是个坑。例如:下载的是Mysql8的版本,用的jar包却是5.*版本。解决方案就是,Mysql8...

2019-03-29 11:05:03 471

原创 Spring的事务管理

这篇文章虽然讲解Spring的事务管理的知识和使用,但涉及了Spring数据库编程,Spring AOP,transaction三个模块。有助于理解各个知识和其综合应用。

2019-03-29 10:54:53 180

原创 eclipse SVN 客户端连接 Linux SVN 服务器

1,先在服务器上配置liunx SVN我建议用阿里云和腾讯云服务器,上面有配置教程。https://cloud.tencent.com/developer/labs/lab/101922,eclipse SVN配置客户端这里有个高手的教程很详细,我就不再写了,只提出些修改的问题。https://blog.csdn.net/v123411739/article/details/225121...

2019-03-27 19:24:33 737

原创 文件的上传和下载

本文讲解的是如何使用SpringMVC框架进行单文件上传,多文件以及文件下载。文件上传是Web应用经常需要面对的问题。对于Java应用而言上传文件有多种方式,包括使用文件流手工编程上传,基于commons-fileupload组件的文件上传,基于Servlet3及以上版本的文件上传等方式。本文重点介绍如何使用SpringMVC框架进行文件上传。github项目代码:https://github....

2019-03-26 22:42:46 643 1

原创 SpringMVC统一异常处理

在Spring MVC应用的开发中,不管是对底层数据库操作,还是业务层或控制层操作,都会不可避免地遇到各种可预知的,不可预知的异常需要处理。如果每个过程都单独处理异常,那么系统的代码耦合度高,工作量大且不好统一,以后维护的工作量也很大。技术问题:将所有类型的异常处理从各层中解耦出来,这样既保证了相关处理过程的功能单一,又实现了异常信息的统一处理和维护。说了一大堆,就一句话,设计和使用统一异常处...

2019-03-25 20:19:08 201

原创 Spring MVC的国际化

Spring MVC的国际化是建立在Java国际化的基础上的,Spring MVC框架的底层国际化与Java国际化是一致的,作为一个良好的MVC框架,Spring MVC将Java国际化的功能进行了封装和简化,开发者使用起来会更加简单,快捷。这里先介绍如何实现Java国际化,进而再学习Spring国际化,更有助于理解。Java国际化1,编写Java程序public class TestIn...

2019-03-24 15:35:59 264

原创 git上传项目

0,打开要上传项目的文件,右击选择git Bash here(当然要先下载git软件)1 git 配置git config --global user.name “用户名”git config --global user.email “邮箱”2 生成公钥私钥#ssh-keygen -t rsa -C "xxxxx@xxxxx.com"一路Enter下去,将生成的公钥填在码云上#ca...

2019-03-24 10:46:00 493

原创 github上传项目问题详解

1,尽量使用项目的HTTPS的链接2,fatal: refusing to merge unrelated histories使用这个强制的方法git pull origin master --allow-unrelated-histories3,fatal: remote validator already exists.(1)可以知道其实本地已经同步过一次的github版本库...

2019-03-24 10:31:31 280

原创 Spring MVC框架的数据验证

用户的输入一般是随意的,为了保证数据的合法性,数据验证是所有Web应用必须处理的问题。在Spring MVC框架中有两种方法可以验证输入数据,一种是利用Spring自带的验证框架,另一种是利用JSR 303实现。在这里只介绍Spring的验证体系的使用。数据验证分为客户端验证和服务端验证,客户端验证主要是过滤正常用户的误操作,通过JavaScript代码完成;服务器端是整个应用阻止非法数据的最后...

2019-03-24 10:25:47 3366

原创 Spring MVC拦截器

在开发一个网站时可能有这样的需求:某些页面只希望几个特定的用户浏览。对于这样的访问权限控制,应该如何实现呢?Spring MVC的拦截器(Interceptor)与Java Servlet的过滤器(Filter)类似,它主要用于拦截用户的请求并作出相应的处理,通常应用在权限验证,记录请求信息的日志,判断用户是否登录等功能上。Spring MVC拦截器的使用1,Spring MVC自定义拦截器...

2019-03-21 13:15:05 232

原创 Spring MVC的控制器

Spring MVC的控制器在其中占有重要地位,从mvc层次结构角度看,是视图层和数据层的桥梁,将视图层的请求,经过业务逻辑处理和数据层的交互,再转发到视图层,完成一次交互。接下来就介绍Spring mvc控制器的一些问题。在Spring MVC的控制器类中如何访问Servlet API?在控制器的参数中写相应的Servlet类实例。有 HttpServletRequest,HttpServl...

2019-03-12 22:07:10 1248

原创 Spring控制反转(IoC)和依赖注入(DI)

下面通过实际生活中的一个例子来解释IoC和DI。当人们需要一件东西时,第一反应就是找东西,例如想吃面包。在没有面包店和和有面包店两种情况下,会怎么做呢?在没有面包店的情况下,直接做法就是,自己按照自己的口味制作面包,(也相当于程序员自己创建Java对象)。而在有面包店的情况下,把自己的需求告诉面包店,然后面包店给自己制作面包。注意,您并没有制作面包,而是由面包店制作,但符合需求。(相当于S...

2019-03-11 16:08:34 257

原创 Spring MVC的部署和初使用

在前两个文章介绍了MVC模式及理解,现在讲解Spring MVC框架的初使用,为使用Spring MVC开发web应用程序做基础。https://blog.csdn.net/chegy218/article/details/88376379https://blog.csdn.net/chegy218/article/details/883755221,创建Web应用并引入jar包初学者只需...

2019-03-10 20:23:45 2378

原创 MVC模式理解

下面介绍两种熟悉的MVC模式,Serlver mvc和Spring mvc。在此,小编就不对两个模式的概念做过多介绍了,不知道的同学可以看我之前的博客----Spring MVC工作原理https://blog.csdn.net/chegy218/article/details/88375522基于Servlet的MVC模式在此,我将引入生活的例子来想象的理解这种设计模型。收银员:视图,...

2019-03-10 11:32:28 1763

原创 Spring MVC工作原理

在讲解Spring MVC之前,需要理解以下1,2概念,他们是Spring mvc 的背景。1,MVC的概念2,基于Servlet的MVC模式3,Spring MVC工作原理1,MVC的概念MVC是Model,View和Controller的缩写,分别代表Web应用程序中的3中职责。模型:用于存储数据及处理用户请求的业务逻辑。 视图:向控制器提交数据,显示模型中的数据。控制...

2019-03-10 10:33:36 472

原创 Eclipse 安装和使用mybatis generator插件自动生成代码

目录Eclipse MyBatis Generator插件安装Eclipse 使用mybatis generator插件自动生成代码Eclipse MyBatis Generator插件安装1.进入Eclipse Marketplace【Help】 -&amp;gt; 【Eclipse Marketplace…】2.搜索MyBatis Generator点击【Install】即开始安装,...

2019-03-09 17:59:34 512

原创 依赖注入(DI)与 面向切面编程(AOP)

依赖注入(Dependency injection)能够让相互协作的软件组件保持松散耦合,而面向切面(aspect-oriented programming,AOP)允许你把遍布应用各处的功能分离出来形成可重用的组件。依赖注入(Dependency injection)采用依赖注入技术之后,A的代码只需要定义一个私有的B对象,不需要直接new来获得这个对象,而是通过相关的容器控制程序来将B对象...

2019-03-06 18:54:49 1511

原创 Spring的部署和初使用

Spring是一个开源框架,最早由Rod Johnson创建。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情。Spring不仅仅局限于服务器端开发,任何Java应用都能在简单性、可测试性和松耦合等方面从Spring中获益。所以,接下来就是讲解如何使用Spring框架,进而在开发中享受其带来的好处。1,导入jar包...

2019-03-05 23:00:43 331

原创 阅读Java反编译后的代码

~~对于一个优秀的JAVA工程师,应关注和研究底层的机制和具体计算机如何执行。所以,将编译后的字节码文件(.class)反编译成.java文件,阅读jvm执行的代码是很重要的研究方法1,将写好的.java文件编译2, 将编译成功后的.class文件反编译如下实例:javac Decompilation.javajavap -c Decompilation.class3,查阅资料(字节...

2019-01-26 10:49:19 2614

原创 Springboot整合redis的连接失败问题

我的遇到的连接的第一个问题是,先用RedisDesktopManager 进行本地连接测试,但失败。发现原因是,连接窗口的 Host一栏填localhost而非ip。上个问题解决以后就是Springboot整合redis连接失败![在这里插入图片描述](https://img-blog.csdnimg.cn/2018122121582732.png?x-oss-process=image/wa...

2018-12-21 22:03:07 11162

原创 javadoc简单使用

1,前言java语言中,按照一定格式生成程序的文档的工具是javadoc 。个人理解,将.java文件里面的java代码转化为和源代码配套的API帮助文档。这里就要总结一下java中一些常见的命令:jar —— 将许多文件组合成一个jar文件javac —— 编译javadoc —— 它从程序源代码中抽取类,方法,成员等...

2018-11-08 20:20:06 451

原创 手写HTTP协议

我们知道HTTP协议是在应用层解析内容的,只需要按照它的报文的格式封装和解析数据就可以了,具体的传输还是使用的Socket,在NioServer的基础上自己做一个简单的实现了HTTP协议的例子。因为HTTP协议是在接收到数据之后才会用到的,所以我们只需要修改NioServer中的Handler就可以了,在修改后的HttpHandler中首先获取到请求报文并打印出报文的头部(包含首行)、请求的方法...

2018-11-06 20:37:24 2516

原创 Java中的Socket的用法

Java中的网络通信是通过Socket实现的,Socket分为ServerSocket和Socket两大类,ServerSocket用于服务端,可以通过accept方法监听请求,监听到请求后返回Socket,Socket用于具体完成数据传输,客户端直接使用Socket发起请求并传输数据/** * 客户端-套接字 * @author Administrator * */public...

2018-11-06 20:34:01 261

原创 【git】noting to commit,working tree clean

前言 Git Bash here 命令页面执行git status时,出现上面的提示。我开始一直以为是二次提交会出现矛盾的原因。我的本来目的是,将修改后的项目(文件夹)托管到码云上。后来查找资料发现,是因为我并没有修改要提交的项目,报的提示的意思是,项目(文件夹)没有被修改,没必要提交。现在讲述如何 将修改后的项目(文件夹)托管到码云上 和 上传项目到码云上是一样的步骤 ...

2018-08-14 10:16:30 16533 2

原创 码云使用手册

1,教你上传代码到码云 https://blog.csdn.net/qq_36434647/article/details/78731931 2,Eclipse上传代码到码云 https://blog.csdn.net/zjsdrs/article/details/78407571

2018-08-13 20:16:55 573

原创 如何使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...

2018-08-12 18:03:49 164

汉化版AxureRP8.zip

汉化版AxureRP8.zipAxure RP是一款专业的快速原型设计工具。Axure(发音:Ack-sure),代表美国Axure公司;RP则是Rapid Prototyping(快速原型)的缩写。Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网站的...

2019-03-09

空空如也

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

TA关注的人

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