自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (6)
  • 收藏
  • 关注

原创 Java坑神之路(一)只愿君心似我心,定不负NPE

这个专栏会对Java一些常用的神坑做一个总结,希望能够帮助大家更好的填坑。话不多说,进入第一篇的话题:谈谈司空见惯的NPE1. 什么是NPE(空指针异常)空指针异常是指程序在运行过程中访问到了内存区域里面的为空的区域,或者是受保护的区域,或者是其他未知的区域,程序在此类区域上执行相关操作时,没有办法执行下去,就报了错误,导致程序中断的一种异常。2.空指针异常的本质程序代码块访问到了内存里面为空,或者受保护,或者其他未知区域等等,在此类区域上执行相关操作导致程序出现的错误需要注意的是:空指

2020-10-25 17:58:49 4267

原创 以CURD的角度手撕LinkedList源码

上文书说到ArrayList的简要源码分析,就不得不提到和它相近的类似的LinkedList,同样都是列表,让我们一起来看看有何相同和不同之处。talk is cheap,show me the code ---undefined老规矩,先来一段代码示例import java.util.Iterator;import java.util.LinkedList;import java.util.List;public class LinkedListTest { .

2020-06-23 16:49:42 167 1

原创 以CURD角度手撕ArrayList源码

在源码分析系列的文档中,笔者会尽量使用CURD操作的角度来分析JDK的源码。是因为多数程序员都是CURD阶段,当然最熟悉的还是CURD操作,因此以CURD的角度来看JDK的源码,相信会容易不少,毕竟万物皆可CURD,万物离不开CURD注1:开发工具为IntelliJ IDEA 2020.1.2 x64注2: JDK版本为JDK8 版本号为 jdk1.8.0_191talk is cheap,show me the code ---undefined代码段如下,有清晰明了的注释im...

2020-06-22 17:51:22 202 2

原创 从0到1之快速学习SSM框架(四)创建一个简单的SSM登录项目(三)代码编写

终于来了学习SSM框架中的最后一程了,下面我就来让大家学习一下如何编写代码,废话不多说,直接上!目录1. 我们先从controller层开始2. 再次,service层编写代码,一个是impl包下编写我们的实现,一个是service包下编写我们的service接口3. 再之,dao层或者mapper层需要编写一个mapper接口以及其实现的xml文件4. 对应的login.js...

2020-04-07 11:18:15 421

原创 如何快速的入门shiro(四)Realm中的密码加密

一般而言,数据库存放的密码都是加密后的密文,而不可能是明文显示,这是为了安全性考虑,谨防有心人能够破解密码或者直接得到密码从而干出一些非法的勾当来。废话不多说,一起看看shiro是如何加密的。1. 在博客三的CustomRealTest.java文件中增加了以下的加密代码代码如下 // 创建加密 HashedCredentialsMatcher hashedCredent...

2020-04-05 16:34:18 226

原创 如何快速的入门shiro(三)自定义一个Realm

当shiro内置的IniRealm和JdbcRealm都不满足我们的要求时,怎么办呢?别担心,shiro还为我们考虑到了这个情况,我们可以继承AuthorizingRealm,然后重写doGetAuthorizationInfo和doGetAuthenticationInfo这两个方法就可以了。doGetAuthorizationInfo方法重写我们需要授权的代码,doGetAuthenticat...

2020-04-05 15:53:03 214

原创 如何快速的入门shiro(二)使用JbcRealm

1. 如何使用JdbcRealm达到认证和授权的目的2. JdbcRealm和IniRealm的区别3. 总结

2020-04-04 17:54:34 181

原创 如何快速的入门shiro(一)使用IniRealm

这系列的文章目的是让懂一点Java编程经验的人能够迅速的入门并且掌握shiro这类安全框架的使用。所以我们不讲原理,也不谈shiro的具体内部实现,我们的目标是在有限的时间内,迅速的掌握shiro框架并且学以致用,不会过多的谈及这么做的原因以及其背后的原理。废话不多说,直接上代码。1. eclipse创建maven项目2. 在pom.xml文件中写入shiro相关maven库3. 在s...

2020-04-04 10:34:55 207

原创 一个Demo手撕HashSet

老规矩了,先看示例demo,再聊聊源码import java.util.HashSet;import java.util.Iterator;public class HashSetTest { public static void main(String[] args) { HashSet hashset = new HashSet(); System.out.println("HashSet是否为空\t "+hashset.isEmpty())

2020-06-29 16:33:24 262

原创 Java面试笔记之异常处理

针对Java面试题中的异常处理部分,特别地写一篇博文来总结一下。不说废话,先提出问题,再给出解决方案,再总结。走起!1. 面试问题基础知识:Q1:什么是异常?什么是错误?异常和错误的区别是什么?Q2:Java中的异常类的继承结构Q3:异常中的运行异常和检查异常Q4:try-catch-finally块的使用Q5:自定义异常类的使用Q6: throw和throws的区...

2020-04-15 16:40:26 121

原创 深入学习Git(一)Git的配置

本系列博客旨在能够通过我们经常使用的Git的命令深入了解Git的运行原理和性质,达到从命令入手,从命令深入,从底层原理浅出,为了让小白或者大神能够知道其Git并且能够更好的玩转Git。1. Git配置Q1: 为什么需要配置抑或存在其配置文件A1: 因为在某些情况下系统所存在的已经配置好的不一定能够满足我们的实际需求,作为一个IT从业者,一定要考虑到系统或者软件是否存在可自定义性,方便用...

2019-06-06 16:33:51 178

原创 springmvc学习笔记

什么是springmvcspringmvc的基本原理springmvc的常用几个注解3.1 @Controller 注解3.2 @RequestMapping注解3.3 @RequestParam注解3.4 @RequestBody注解3.5 @PathVariable注解3.6 @RepsonseBody注解3.7 @AutoWired和@Resource和@Com...

2019-04-14 19:31:52 209

原创 Linux服务器搭建之Apache和Tomcat的搭建

本文所处环境安装Apache安装Tomcat安装jk模块整合配置文件启动查看效果

2019-03-28 16:03:17 221

原创 Linux学习之网络配置

本文旨在说明在不同的Linux发行版下网络配置文件的略有不同和区别centos、rhelcentos 6.5及以下版本/etc/sysconfig/network-scripts/ifcfg-eth0 # 网络配置文件/etc/sysconfig/network-scripts/ifcfg-lo # 本地回环地址配置文件DEVICE=eth0/lo ...

2019-03-27 16:02:19 243

原创 Linux学习笔记之服务管理

进程、程序、服务进程:一个执行可执行代码的一段具有时间性的实例程序:一个可执行代码以及其附属相关的文档的实例服务:通常在后台运行的,不受其前台终端控制的程序其之间的关系程序包括了进程,一个程序可以有很多个进程,比如office一个程序,其就包括了文档进程,上传进程,下载进程等等。进程则属于某一个程序,一个进程在某一个时刻一定是属于某一个程序的,为某一个程序服务的。服务则是在后台运...

2019-03-27 11:15:46 90

原创 深入了解linux的服务相关

1. 什么是linux服务?2. 什么是守护进程?与一般的进程有何区别?3. linux的服务有哪些?它们之间有何区别?4. 不同类型的服务安装和配置5. 服务的状态(启动/停止/重启/自启动)6. 服务运行的级别7. 服务相关的命令...

2019-03-25 19:15:41 84

原创 从redis的安装和配置看linux的服务

本文的目的在于通过实例进一步了解linux的服务相关的知识本文编写所处的环境:Ubuntu 16.04 Redis 2.8.24redis的安装建议使用源码安装cd /home/squirrelchen/Downloads # squirrelchen用户目录下的下载文件夹,通常在此文件夹下载安装程序包wget http://download.redis.io/releases/...

2019-03-25 15:02:55 121

原创 git基础--git的基本使用流程

本博客旨在10分钟让人明白git的基本使用以及流程git的开发流程1. 本地推送到远程PS:务必确保远程有创建的仓库,有没有东西不要紧,但是务必确保有这个仓库的存在.1.1 本地初始化仓库git init 1.2 新建测试文件echo "Hello Git !" >> test.txt

2019-03-14 15:18:33 131

原创 Ubuntu下源码编译git

本博客旨在帮助人们正确的学习在Ubuntu下正确的学习git的姿势,总所周知,apt安装的git都版本太老了,为了更新版本,可以选择源码编译git的。以下是步骤https://github.com/git/git/releases此处安装下载最新的git源码包然后解压tar -vzxf git-2.20.1.tar.gzcd git-2.20.1 然后安装所需要的lib依赖包 s...

2019-03-14 14:56:22 770

原创 面向小白的git实战教程(一)

本博客旨在10分钟掌握git的基础用法本博客不想一上来就大谈git的原理以及其他高阶应用或者其他技术,笔者觉得一上来就原理或者高级的用法会使得0基础的开发者or小白使其觉得非常困难,给其带来了巨大的挑战,从而丧失了其学习的主动性和自信心。笔者觉得从项目实战来充分的体会git使用便是非常好的,因此本系列博客将会带领小白能够从实际的项目中学会git的基本使用,达到了能基本使用的目的。首先我们需...

2019-03-14 10:36:56 193

原创 大数据分析(一) 何为聚类?何为分类?

一. 何为分类分类在我们日常生活中其实很普遍,其实我们与生俱来的能力就包括分类,从我们小时候慢慢长大,大脑就慢慢训练怎么分类,设置模型,对应模型这些,这就是一种分类的过程。比如说,我们在路上看见了车,车这这么一种物体,我们大脑看见这种物体之后,根据物体的大小,我们可以分为大汽车,小汽车,巨型车等等,这就是一种分类的过程。也可以根据车型的价格分为低端车,中端车,豪华车等等。这些其实都是一种分类的...

2018-08-09 17:28:11 4539

原创 从0到1之快速学习SSM框架(三)创建一个简单的SSM登录项目(二)xml文件配置

接上文

2018-06-28 15:06:12 814 6

原创 从0到1之快速学习SSM框架(三)创建一个简单的SSM登录项目(一)maven导包

首先我们不会像其他的博客内容一样,直接一上来就是代码,这样做的话,非常打击新人的学习信心,使其更多的陷入到传说中的CV编程中,对于新人来说,非常不利,笔者认为,我们应当换位思考,先把自己当成一个啥都不知道的傻子,去理解,去学习这个框架。那么,作为一个简单的登录项目来讲,我们需要有什么呢?前台肯定要有个前台登录页面,后台需要有个后台处理逻辑,这样才算一个完整的登录项目。本章我们会继续继续使用上一章所...

2018-06-27 16:18:19 1410 1

原创 从0到1之快速学习SSM框架(二)实战!!!使用Idea建立Maven-Web工程

学习一门新的技术or新的框架时,不断的实践不断的操作是入门新的技术或者新的框架的不二法门,那么闲话少说,本章将带领大家如何使用idea创建一个简单的SSM项目1. 使用idea创建maven项目图 1 使用idea带有的maven web项目模板创建2. 取名叫demo作为一个简单的事例图2 取名一个简单的demo实例3.指定自定义的maven目录图3 指定项目所使用的maven目录4. 指定项...

2018-06-27 15:39:53 1627

原创 从0到1之快速学习SSM框架(一)了解SSM框架

如今现在SSM框架是JavaEE中开发的主流框架之一,作为一个Java开发程序员,SSM框架不可不学。那么我们如何由浅入深的更好的学习下SSM框架呢?首先,笔者认为“工欲善其事,必先利其器”,不管我们当今的水平如何,在学习一门新技术面前,我们应当抱着充分的好奇心,先把自己当成一个什么都不会的傻子,先去慢慢了解新的技术,新的框架,先学习怎么用,再深入了解其原理操作,再向往高层次的学习,这便是高效的学...

2018-06-27 14:55:42 8644

原创 老司机带你玩转git(五)深入理解git(一)git文件状态

在git系统中,文件状态的标识应该有以下几种:通过如图所示,我们可以了解到文件存在以下的状态:untracked:未追踪,此时文件存在,但是未被git追踪,也就说git不会将此时的文件纳入控制,需要通过add操作,来纳入版本控制。unmodified: 文件已经放在工作区,如果它被修改,就是modified状态了,如果通过rm操作就回到了未追踪的状态了。modified: 文件已修改,add进入暂...

2018-02-13 16:12:56 260

原创 老司机带你玩转git(四) git的撤回操作

不管处于什么时候,总会有不小心的误操作之类的,那么在git中,如何对误操作进行复原和撤销呢?太长不看版add之前,文件修改后,此时的状态可用 git checkout -- filename 来恢复文件修改前的版本。commit之前,add之后,此时的状态可用 git reset HEAD filename 来撤销文件进入暂存区。push之前,commit后,此时的状态可用 git commit ...

2018-02-13 11:02:27 1050

原创 老司机带你玩转linux(二)shell的设置以及新建用户

shell设置以及用户

2017-11-28 17:07:59 557

原创 老司机带你玩转linux(一)shell入门

linux(一)shell入门

2017-10-24 16:26:07 475

原创 老司机谈谈双一流

双一流

2017-09-24 16:18:32 376

原创 老司机带你玩转git (四) git的协同合作

老司机带你玩玩git(四)协同合作

2017-09-20 21:38:05 451

原创 老司机带你玩转git(三)git常用命令以及注意事项

老司机带你玩转git(三)

2017-09-15 16:42:16 259

原创 老司机带你玩转git(二)git的分支特性

老司机带你玩转git(二)git的分支特性

2017-09-13 10:14:31 526

原创 老司机带你玩转git(一)本地和远程仓库

老司机带你玩转git(一)本地和远程仓库

2017-09-12 21:29:03 386

原创 Java程序设计(六)网络编程之HttpURLConnection的使用

大家都会发现,在工作当真,网络编程是基础的,也是很必要的,比如我们经常会用socket通信,HTTP协议,UDP协议之类的,那么今天我们将会学习到如何用HttpURLConnection这个类进行网络编程。首先我们在官网查下HttpURLConnetcion的API,官网解释如下: A URLConnection with support for HTTP-specific features.

2016-09-10 12:00:55 619

原创 Java学习笔记随记之处理文件的后缀名

我们都知道,在我们日常工作中,免不了总是和文件打交道,尤其对于Linux/Unix操作系统的用户而言,对文件的操作和处理总是很经常的事儿,就如日常便饭一样的。那么,我们有没有想过一个问题呢?如何去掉文件的后缀名只保留文件名或者只得到文件的后缀名呢?这样的情况,我相信我们工作中是经常遇见的。下面我们就来实践一下,看怎么实现这个功能。public class FileDot { private

2016-09-08 21:53:14 350

原创 Java程序设计(五)关于null的一点体会

1.null是java中的一个关键字,代表的是不确定的值或者说是对象。2.通常我们在引用引用类型的时候,会将null赋值给引用类型,完成初始化,在异常try catch 块中经常用到。3.java程序在运行过程中,针对在类中的基本数据类型,int、byte、short、long的自动赋值为0,带小数点的float、double自动赋值为0.0,boolean的自动赋值为false,其他各供

2016-07-19 17:32:24 259

原创 Java三大框架入门-struts2入门(一)

struts2框架入门1.什么是struts2?2.struts2的组成?3.struts2的部署与配置1.什么是struts2?在这之前 我们都知道servlet servlet可以说是javaweb开发的基础之一 它是用来实现 过滤 监听 数据处理 等等的一个特殊java类 那么servlet 的延伸就延伸出了struts2 的概念。由于我们通常需要通过serv

2016-04-27 13:59:57 386

原创 JSP入门学习总结(一)JSP常用的标签

在jsp学习常用的标签中需要我们要理解和掌握有三大指令 四大作用域 七大动作九大对象 下面我就来详细说下这基础的标签的用法和例子三大指令指的则是 page include taglib 指令它们的用法则有以下例子Page指令通常设置页面的一些参数 比如需要导入的java包 页面编码格式 页面缓冲区的设置 页面的相关信息 此指令通常用于静态文件的包含 比如html 以及一些

2016-04-19 16:41:37 295

原创 虚拟机的几种上网方式

今天,我们来聊一聊其他的,大家都知道,虚拟化技术现在已经发展的日益成熟,因此掌握一定的虚拟机技术的基本基础知识是有必要的。那么我们就来说下,虚拟机是怎么上网的。a.NAT上网方式NAT是一种网络地址转换方式,它是一种共享的上网方式。也就是说主机是虚拟机共享网卡来上网,虚拟机的网络其实并不真实存在,它的网络依靠于主机的网络。这样的话,虚拟机能够访问主机,但是主机却不能访问其虚

2015-12-08 21:53:29 529

SSM框架所做的一个登录的小demo

此文件是入门学习SSM框架所做的登录小demo,用idea开发编译的,比较简易的一个登录小例子,用于学习用途

2020-04-07

入门学习SSM框架的一个小例子

这是个入门学习SSM框架所用的一个小例子,用idea开发的,采用maven技术搭建的一个小例子,仅仅用于学习用途

2020-04-06

学习shiro中的加密程序

此代码用eclipse编写开发,是为了学习入门shiro安全框架而编写的,用于学习和测试shiro的中的加密机制

2020-04-05

用于测试shiro中自定义Realm的测试代码

这个程序是eclipse编写的,学习shiro框架,入门的,用于测试自定义的Realm的小例子,仅仅用于学习,不得用于商业用途

2020-04-05

使用shiro内置的jdbcRealm的测试小例子

本测试小例子是用eclipse编写的使用shiro内置的jdbcRealm的测试数据库,免费提供,然后直接解压缩,使用eclipse直接open或者import打开,然后编译运行就可以了

2020-04-05

shiroTest测试小代码

此代码是为了学习shiro入门而编写的测试小程序代码,不用于商业用途,仅供学习使用,可免费下载。用eclipse编写的,直接解压缩,之后用open或者import打开就好。

2020-04-04

空空如也

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

TA关注的人

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