注解就这么简单
今天要讲的是注解,对于本章节,最好是有Servlet基础的人查阅~因为单纯是Java基础的话,可能用不上注解这个东西。但如果开发过Servlet,就对@WebServlet不会陌生。 学习注解可以更好地理解注解是怎么工作的,看见注解了就可以想到它的运行原理了~。 注解:Anno…
泛型就这么简单
Java泛型设计原则:只要在编译时期没有出现警告,那么运行时期就不会出现ClassCastException异常. Collection、Map集合对元素的类型是没有任何限制的。本来我的Collection集合装载的是全部的Dog对象,但是外边把Cat对象存储到集合中,是没有任…
【Java EE】从零开始写项目【总结】
最近这一直在复习数据结构和算法,也就是前面发出去的排序算法八大基础排序总结,Java实现单向链表,栈和队列就是这么简单,十道简单算法题等等... 被虐得不要不要的,即使是非常简单有时候绕半天,想不明白。 这个项目是我自己手写的第一个SSM项目(毕竟学了当然得搞点事情,对吧),是…
十道简单算法题
最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下,重温一下。 很多与排序相关的小算法(合并数组、获取数字每位值的和),我都没有写下来了,因为只要会了归并排序(合并数组),会了桶排序(获取数字每位的值),这些都不成问题了。…
【Java实现】栈和队列就是这么简单
从上一篇写链表我就认知到我的算法是有多渣了,普通的单链表操作也能把我绕得晕晕的。 在出栈之前看看该栈是否为空,不为空才出栈... 这次我就使用数组来实现静态队列了。值得注意的是:往往实现静态队列,我们都是做成循环队列 由于我们是循环队列,所以front和rear值会经常变动,我…
Java实现单向链表基本功能
最近在回顾数据结构与算法,有部分的算法题用到了栈的思想,说起栈又不得不说链表了。数组和链表都是线性存储结构的基础,栈和队列都是线性存储结构的应用~ 说起链表,我们先提一下数组吧,跟数组比较一下就很理解链表这种存储结构了。 为了操作方便我就直接定义成public了。 删除某个位置…
八大基础排序总结
俩俩交换,大的放在后面,第一次排序后最大值已在数组末尾。 在数组中找一个元素(节点),比它小的放在节点的左边,比它大的放在节点右边。一趟下来,比节点小的在左边,比节点大的在右边。 不断执行这个操作.... 快速排序用递归比较好写【如果不太熟悉递归的同学可到:递归就这么简单】。支…
Druid数据库连接池就这么简单
我的知识储备数据库连接池有两种->C3P0,DBCP,可是现在看起来并不够用阿~当时学习C3P0的时候,觉得这个数据库连接池是挺强大的。看过的一些书上也是多数介绍了这两种数据库连接池,自己做的Demo也是使用C3P0。可是现在看起来这两种都不够了~业界发展得真快呀 Druid数…
基数排序就这么简单
从上面的简单介绍,是并不了解基数排序是怎么弄的~基数排序不同与其他的7种排序,其他7种排序本质上都是按照交换或者比较来进行排序,但是基数排序并不是,它是按照分配,回收(分配到不同的位置上,然后回收)..不断分配..回收来进行排序,直到有序.. 听上去好像很高大上,很难的样子,其…
希尔排序就这么简单
在第一趟排序时:将这几个序列做插入排序。排序后,部分较大的数字往后靠,部分较小的数字往前靠 在第二趟排序时:将这个序列又分了好几个序列做插入排序(但比第一次分的数要少,ps:如果第一次分5个,第二次可能就2个了)。排序后,部分较大的数字往后靠,部分较小的数字往前靠 ......…
堆排序就这么简单
完全二叉树: 除了最后一层之外的其他每一层都被完全填充,并且所有结点都保持向左对齐。 满二叉树:除了叶子结点之外的每一个结点都有两个孩子,每一层(当然包含最后一层)都被完全填充。 完满二叉树:除了叶子结点之外的每一个结点都有两个孩子结点。 随后将堆顶最大值和数组最后的元素进行替…
二叉树就是这么简单
本文撇开一些非常苦涩、难以理解的概念来讲讲二叉树,仅入门观看(或复习).... 一般的树是有很多很多个分支的,分支下又有很多很多个分支,如果在程序中研究这个会非常麻烦。因为本来树就是非线性的,而我们计算机的内存是线性存储的,太过复杂的话我们无法设计出来的。 二叉树的意思就是说:…
归并排序就这么简单
从前面已经讲解了冒泡排序、选择排序、插入排序,快速排序了,本章主要讲解的是归并排序,希望大家看完能够理解并手写出归并排序快速排序的代码,然后就通过面试了!如果我写得有错误的地方也请大家在评论下指出。 步骤:遍历两个数组,比较它们的值。谁比较小,谁先放入大数组中,直到数组遍历完成…
Elasticsearch就这么简单
最近有点想弄一个站内搜索的功能,之前学过了Lucene,后来又听过Solr这个名词。接着在了解全文搜索的时候就发现了Elasticsearch这个,他也是以Lucene为基础的。 我去搜了几篇Elasticsearch教程,发现很多都是基于linux的,但我linux耍得并不熟…
移动商城项目【总结】
通过这次的项目又再次开阔了我的视野,自己练习完我将项目的代码放到了GitHub中:https://github.com/ZhongFuCheng3y/Mobile-commerce-,同时在练习的过程中也用博文记录下来了,一共7篇。 项目可以分成后台模块、前台模块(没必要写在一…
Shiro【授权过滤器、与ehcache整合、验证码、记住我】
我们的授权过滤器使用的是permissionsAuthorizationFilter来进行拦截。我们可以在application-shiro中配置filter规则 5、PermissionsAuthorizationFilter对item:query 和从realm中获取权限进…
插入排序就这么简单
从上面已经讲解了冒泡和选择排序了,本章主要讲解的是插入排序,希望大家看完能够理解并手写出插入排序的代码,然后就通过面试了!如果我写得有错误的地方也请大家在评论下指出。 .... 用第三位和已排序的数据比,实际上就是让第三位数跟两个数比较,只不过这两个数是已经排好序的而已。而正是…
Shiro【授权、整合Spirng、Shiro过滤器】
一般地,我们的权限都是从数据库中查询的,并不是根据我们的配置文件来进行配对的。因此我们需要自定义reaml,让reaml去对比的是数据库查询出来的权限 shiro也通过filter进行拦截。filter拦截后将操作权交给spring中配置的filterChain(过虑链儿) 在…
快速排序就这么简单
从前面已经讲解了冒泡排序、选择排序、插入排序了,本章主要讲解的是快速排序,希望大家看完能够理解并手写出快速排序的代码,然后就通过面试了!如果我写得有错误的地方也请大家在评论下指出。 快速排序是面试出现的可能性比较高的,也是经常会用到的一种排序,应该重点掌握。 前面一个章节已经讲…
Shiro入门这篇就够了【Shiro的基础知识、回顾URL拦截】
只要有用户参与的系统一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。 最常用的用户身份验证的方法:1、用户名密码方式、2、指纹打卡机、3、基于证书验证方法。。系统验证用户身份合法,用户方可访问系统的资源…