- 博客(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】 -&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连接失败、请求的方法...
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
2019-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅