<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wonabi的博客]]></title><description><![CDATA[本博主对java技术感兴趣，将对java技术涉及的各方面进行记录。]]></description><link>https://blog.youkuaiyun.com/wonabi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wonabi]]></copyright><item><title><![CDATA[Python基础基础语法注意点梳理]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/79187098</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/79187098</guid><author>wonabi</author><pubDate>Sun, 28 Jan 2018 15:51:27 +0800</pubDate><description><![CDATA[一.前言
最近想尝试下python的后台开发和网络爬虫，就学了python基础语法。由于之前一直都是使用java的，刚开始使用python的时候有一些不习惯。与java相比，个人认为在编程风格上，主要有以下区别。
1.语句结束之后不用分号作为结尾 2.没有{ }的写法，代码块靠缩进区分，缩进相同的认为是同一代码块。3.python是弱类型语言，变量在定义时不需要注明类型，在使用阶段，也没有类型]]></description><category></category></item><item><title><![CDATA[第一次面试总结]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/78916912</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/78916912</guid><author>wonabi</author><pubDate>Wed, 27 Dec 2017 21:59:08 +0800</pubDate><description><![CDATA[一.前言
面试了三家公司，现在写下面试公司面试问题的总结。三家公司分别是一家咨询类公司，一家是亚信，另外一家是网易，分别写下面试问题总结。
第一家面试公司：远界咨询公司
1.被final修饰的变量，方法，和类分别有什么特点。
答案：被final修饰的变量是只读的，在后续的操作中不可改变
被final修饰的方法代表这个方法不可被子类重写
被final修饰的类不能被继承，与abstract]]></description><category></category></item><item><title><![CDATA[深入理解JVM--java内存区域分析]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/78816855</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/78816855</guid><author>wonabi</author><pubDate>Fri, 15 Dec 2017 21:21:30 +0800</pubDate><description><![CDATA[一.概述
java程序在java虚拟机的自动内存管理机制的帮助下，不容易出现内存泄露和内存溢出的问题，但是一旦出现内存泄露和溢出方面的问题，若是不了解虚拟机是如何使用内存的，那么排除错误将会异常困难，因此，作为java程序员，了解java虚拟机的内存管理是很有必要的。
二.jvm运行时数据区域分布
如图所示，运行期数据区域可以分为线程共享的和线程隔离的。接下来将一一介绍。

1.程序计数]]></description><category></category></item><item><title><![CDATA[java编程思想--数组]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/78816676</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/78816676</guid><author>wonabi</author><pubDate>Fri, 15 Dec 2017 21:16:00 +0800</pubDate><description><![CDATA[一.数组的特殊性
数组是在java中除容器之外可以存储对象的方式，相对于容器，数组具有以下几个特点。
1.数组是一种效率最高的存储和随机访问的对象引用系列的方式，原因是数组是一个简单的线性序列。
2.数组的大小是固定的，并且在其生命过程总不可改变。
3.数组可以持有某种具体类型，可通过编译期检查来防止插入错误类型，这在泛型出现，是意义重大的。
4.数组可以持有基本类型 ，而容器不行。
]]></description><category></category></item><item><title><![CDATA[Mybatis异常解决之--org.apache.ibatis.binding.BindingException]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/78656156</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/78656156</guid><author>wonabi</author><pubDate>Tue, 28 Nov 2017 16:19:06 +0800</pubDate><description><![CDATA[一.问题描述
今天在在项目时使用mybatis逆向工程生成的dao层代码时，在访问数据库时出现下面的异常：
Invalid bound statement (not found): cn.e3mall.mapper.TbItemMapper.selectByExample] with root cause
org.apache.ibatis.binding.BindingException:]]></description><category></category></item><item><title><![CDATA[Mybatis进阶用法详解]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/78653197</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/78653197</guid><author>wonabi</author><pubDate>Tue, 28 Nov 2017 13:55:57 +0800</pubDate><description><![CDATA[一.mybatis主配置文件SqlMapConfig.xml进阶配置
SqlMapConfig.xml中配置文件的内容和顺序如下：（数字代表层级）
properties（属性）
settings（全局配置参数）
typeAliases（类型别名）
typeHandlers（类型处理器）
objectFactory（对象工厂）
plugins（插件）
environments（环境集]]></description><category></category></item><item><title><![CDATA[Mybatis的基础使用详解]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/78419964</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/78419964</guid><author>wonabi</author><pubDate>Tue, 28 Nov 2017 10:37:36 +0800</pubDate><description><![CDATA[一.mybatis的简介
mybatis是Apache组织的一个顶级开源项目，原名为ibatis。mybatis是一个优秀的持久化框架，对jdbc操作数据库的过程进行了封装，使得开发者只需要关注sql语句本身，不需要像jdbc一样进行大量重复无意义的工作，如注册驱动，创建connection，手动设置参数，结果集检索等工作。
Mybatis通过xml或注解的方式将要执行的各种statement]]></description><category></category></item><item><title><![CDATA[Quartzt框架与Spring整合使用详解]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/78634525</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/78634525</guid><author>wonabi</author><pubDate>Sat, 25 Nov 2017 22:21:13 +0800</pubDate><description><![CDATA[一.Quartz框架简介
Quartz是一个开源项目，它可以与j2EE和j2SE结合使用，也可以单独使用。Quartz可以用来创建许多Jobs这样的复杂的程序，并通过cron表达式自定义执行的规则。Quartz的几个核心概念如下：
1.Job:代表一个工作，要执行的内容，此接口只有一个方法execute().
2.JobDetail:代表一个可执行的调度程序，Job是这个可执行调度程序的内容]]></description><category></category></item><item><title><![CDATA[shiro授权管理方式详解]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/78623919</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/78623919</guid><author>wonabi</author><pubDate>Fri, 24 Nov 2017 19:23:14 +0800</pubDate><description><![CDATA[一.概述 
1.授权，又称作为访问控制，是对资源的访问管理的过程。换句话说，控制谁有权限在应用程序中做什么， 通过使用shiro的授权功能，能够完成细粒度的权限控制。


2.授权的三要素


  授权有着三个核心元素：权限、角色和用户 。

  我们需要在应用程序中对用户和权限建立关联，通常的做法就是将权限分配给某个角色，然后将这个角色关联一个或多个用户。



二.s]]></description><category></category></item><item><title><![CDATA[权限控制框架shiro与spring整合详解]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/78621098</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/78621098</guid><author>wonabi</author><pubDate>Fri, 24 Nov 2017 11:18:50 +0800</pubDate><description><![CDATA[一.权限概述
1.权限控制的两个核心概念：

认证：系统提供的用于识别用户身份的功能，通常登录功能就是认证功能-----让系统知道你是谁？？
授权：系统授予用户可以访问哪些功能的许可（证书）----让系统知道你能做什么？？
2.常见的权限控制方式

URL拦截权限控制，底层基于拦截器或者过滤器实现,原理图如下：



方法注解权限控制，底层基于代理技术实现，为action创建]]></description><category></category></item><item><title><![CDATA[Spring的数据库操作和事务管理]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/78059628</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/78059628</guid><author>wonabi</author><pubDate>Fri, 22 Sep 2017 09:48:10 +0800</pubDate><description><![CDATA[一.概述
spring的数据库操作：spring是一个优秀的一站式框架，其中涵盖了很多持久化框架模板对象，如JDBC,hibernate，mybatis对象模板，极大地简化了数据库操作。
事务：表示逻辑上的一组操作，这组操作要么一起成功要么一起失败。最经典的就是银行转账业务，假设甲转一百块给乙，在转账过程中，可能发生各种异常，若此时没有事务，可能会发生甲的钱少了，而乙的钱没有增加的事件。
二]]></description><category></category></item><item><title><![CDATA[spring中的AOP编程思想详解]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/78027448</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/78027448</guid><author>wonabi</author><pubDate>Tue, 19 Sep 2017 10:48:37 +0800</pubDate><description><![CDATA[一.AOP编程思想介绍
1.servlet的AOP体现：
AOP意思就是面向切面编程，可以用一句话概况AOP编程思想，即横向重复，纵向抽取。我们知道，软件工程一个基本原则就是代码复用，为了实现这个目标，我们可以用类，用方法，同样，AOP也是代码复用的一种方式。我们现在用下面这样一种例子来具体解释什么叫做面向切面编程。熟悉 java web的朋友可能清楚，我们在编写servlet需要解决一系列的]]></description><category></category></item><item><title><![CDATA[Unexpected Exception caught setting 异常解决记录]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/78017365</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/78017365</guid><author>wonabi</author><pubDate>Mon, 18 Sep 2017 11:30:30 +0800</pubDate><description><![CDATA[一，Unexpected Exception caught setting 异常
今天在做crm项目时，想要实现一个客户列表的分页查询，但在action总是不能成功把分页数据带回给jsp，初次查询之后action应该返回当前页currentPage给jsp，但是下面的OGNL表达式总是不能正确获取值并抛出以下异常，经过仔细检查，发现是PageBean中的属性currentPage的set方法有误]]></description><category></category></item><item><title><![CDATA[spring基础配置详解和对象管理基础]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/78013395</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/78013395</guid><author>wonabi</author><pubDate>Sun, 17 Sep 2017 21:01:32 +0800</pubDate><description><![CDATA[一.spring概述
spring简介：
spring是一个分层的一站式的开源框架，是为了解决企业开发的复杂性而开发的，主要优势其的分层结构由七个不同的层次组成。
spring的架构图。

1.核心容器：核心容器提供了spring框架的基本功能，主要组件为BeanFactory,是工厂模式的一个实现，利用控制反转模式将应用程序的配置和依赖性规范与实际的应用层次代码分离。
2.sprin]]></description><category></category></item><item><title><![CDATA[maven整合SSH框架详解]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/77985207</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/77985207</guid><author>wonabi</author><pubDate>Thu, 14 Sep 2017 21:01:33 +0800</pubDate><description><![CDATA[一.maven概述
maven是Apache下的一个由纯java开发的项目管理软件，且只用来管理java项目，可以在各种平台上运行。maven提供了一个
依赖管理的功能。熟悉java的人都知道java工程一般比较庞大，尤其是那些基于框架的项目，需要依赖一系列jar包，（当然这也是java如此强大的一个原因之一）在前期工程准备期间需要耗费大量的精力，maven能帮我们更好的管理jar包，并且在编]]></description><category></category></item><item><title><![CDATA[struts2值栈分析与接收封装参数原理]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/77964594</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/77964594</guid><author>wonabi</author><pubDate>Wed, 13 Sep 2017 13:25:09 +0800</pubDate><description><![CDATA[一.概述
通过之前的博客，我们大致了解了OGNL的语法格式和Struts接收参数的三种方式。
OGNL语法博客地址（点击打开链接），struts2接受参数三种方式的语法（点击打开链接）。
本文将继续介绍OGNL是怎么运用到Struts2中，用于参数接接收的。
二.Struts中的OGNL表达式
我们知道OGNL]]></description><category></category></item><item><title><![CDATA[hibernate检索方式详解]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/77917245</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/77917245</guid><author>wonabi</author><pubDate>Sat, 09 Sep 2017 19:30:47 +0800</pubDate><description><![CDATA[一.hibernate检索方式简介
通过前面的学习，我们能够在项目中引入hibernate支持，并对有关联的表进行配置。而在项目开发中，对数据库进行最多的操作
就是查询，接下来，将详细的介绍几种hibernate中常见的检索方式。
二.hibernate检索方式一：对象图检索方式
对象图检索方式适用于表与表之间有关系时的检索，意思是根据已加载的对象，导航到他的关联对象。利用对象之间的关系进]]></description><category></category></item><item><title><![CDATA[hibernate多表操作详解]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/77897914</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/77897914</guid><author>wonabi</author><pubDate>Fri, 08 Sep 2017 18:51:56 +0800</pubDate><description><![CDATA[一.简介
在进行关系型数据库设计时，表与表之间的关系往往不是独立的，而是相互关联的，这就是所谓的多表设计。一般来说，数据库表与表包含以下几种关系。



建表原则
一对一：主键对应，一方的主键作为另一方的主键。
一对多：在多的一方创建外键指向一的一方的主键
多对多：创建一个中间表，中间表的最少两个字段作为外键分别指向多对多双方的主键。
此种关系在hibernate中用Java对象]]></description><category></category></item><item><title><![CDATA[hibernate基础配置详解]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/77857150</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/77857150</guid><author>wonabi</author><pubDate>Tue, 05 Sep 2017 21:52:00 +0800</pubDate><description><![CDATA[一.hibernate简介
hibernate是当今较为主流的开源的对象关系型映射（ORM）框架，它对jdbc进行了非常轻量级的封装，使得程序开发人员可
以 使用面向 
对象的方式对数据库进行操作。所谓ORM就是利用描述对象和数据库表之间映射的元数据，自动把java中的对象，持久
化到数据库中。hibernate支持多种关系型数据库的操作，并且由于本身的开源性质和开放API，其扩展性也比较]]></description><category></category></item><item><title><![CDATA[struts2中的拦截器详解。]]></title><link>https://blog.youkuaiyun.com/wonabi/article/details/77815667</link><guid>https://blog.youkuaiyun.com/wonabi/article/details/77815667</guid><author>wonabi</author><pubDate>Sun, 03 Sep 2017 09:36:48 +0800</pubDate><description><![CDATA[一.struts2中的拦截器简介
拦截器是在某个方法或者字段被访问之前进行拦截，然后在之前或者之后加入某些操作的手段。拦截器的方法大多数通过代理来实现，struts2中的拦截器实现比较简单，当请求到达strut2的servletdispatcher时，struts2会查找配置文件，并根据配置文件实例化相对的拦截器对象，然后串成一个列表，最后一个一个调用列表中的拦截器。struts2提供了很多内置]]></description><category></category></item></channel></rss>