<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Richard331的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Richard331</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Richard331]]></copyright><item><title><![CDATA[设计模式——单例模式]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/102753268</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/102753268</guid><author>Richard331</author><pubDate>Sat, 26 Oct 2019 10:35:12 +0800</pubDate><description><![CDATA[场景
在学习Mybatis或者Hibernate中，有一个SqlSessionFactory对象。此对象属于重量级对象，消耗的资源比较大，也只需要存在一个即可。类似的对象还有，线程池、缓存、日志等。这种情况下，就可以使用单例模式来进行控制对象的创建，确保只存在一个。
饿汉模式
懒汉的的单例模式顾名思义就是，在使用前就已经完成的初始化。
代码：
public class HungrySingleto...]]></description><category></category></item><item><title><![CDATA[设计模式——工厂模式]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/98449501</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/98449501</guid><author>Richard331</author><pubDate>Sun, 04 Aug 2019 20:14:22 +0800</pubDate><description><![CDATA[前言
工厂模式算是自己接触到的最早的一个设计模式了，大二的时候在网易公开课上学习Java基础。从那时起到现在工作快2个月了，也在各大框架上接触工厂模式，在看《Head First设计模式》的时候，越来越觉得这本书不适合我了，不说题外话开始整体吧。
简单工厂模式（Simple Factory Pattern）
简单工厂模式又称为静态工方法模式，这算是我觉得目前最好理解的一种设计模式了。简单工厂方法并...]]></description><category></category></item><item><title><![CDATA[设计模式——策略模式]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/97165481</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/97165481</guid><author>Richard331</author><pubDate>Wed, 24 Jul 2019 23:06:37 +0800</pubDate><description><![CDATA[前言
很早就想系统学习一下设计模式，跟公司的大佬交流了下，知道了我现在手上这本书——《Head First设计模式》，在下班后就迫不及待开始翻书了。这是一本挺沙雕的书，跟我以前看的书很不一样，四个字形容——图文并茂。读起来一点都不枯燥，挺有意思的一本书。
我在看这本书的时候，看到了一些非常重要的话，对于我这样的Java初学者来说挺重要的。
设计原则一：找出应用中可能需要变化之处，把它们独立出来，不...]]></description><category></category></item><item><title><![CDATA[排序算法——初步学习]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/95788290</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/95788290</guid><author>Richard331</author><pubDate>Mon, 15 Jul 2019 22:39:24 +0800</pubDate><description><![CDATA[排序算法




排序算法
算法复杂度




插入、冒泡、选择
O(n^2)



]]></description><category></category></item><item><title><![CDATA[正则表达式]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/93863497</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/93863497</guid><author>Richard331</author><pubDate>Thu, 27 Jun 2019 17:11:38 +0800</pubDate><description><![CDATA[正则表达式
以前没注意这些东西，现在趁着公司给学习的时间好好补补
正则表达式需要的三个类：
java.util.regex.Pattern
java.util.regex.Matcher
java.lang.String
字符类运算符优先级：




优先级
运算符




.
匹配任何一个


*?
重复任意次，但尽可能少重复


+?
重复1次或更多次，但尽可能少重复


??
重复0次或1次...]]></description><category></category></item><item><title><![CDATA[数据结构篇——表、栈和队列]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/92800841</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/92800841</guid><author>Richard331</author><pubDate>Tue, 18 Jun 2019 22:09:10 +0800</pubDate><description><![CDATA[最近在恶补Hibernate，但是Hibernate懂得东西很浅没法写博客，但是手痒想写博客，就准备复习复习数据结构。
书籍——《数据结构与算法分析-Java语言描述》，这本书我买了快三年了，大二上的时候买的，当时完全看不懂，这些回头一看，研一的书籍。。。。
抽象数据类型
抽象数据结构（abstract data type ADT）是带有一组操作的一些对象的集合。抽象数据是数学的抽象；在ADT的定...]]></description><category></category></item><item><title><![CDATA[面试记录——浩普科技]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/91459130</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/91459130</guid><author>Richard331</author><pubDate>Fri, 14 Jun 2019 10:36:06 +0800</pubDate><description><![CDATA[毕业即失业，实习工作明天也要去辞掉，还是安安心心写写博客，做点笔记。
面试时间约定的是下午两点，我看到的时候有点慌了，空间太小了，只有半个教室大，人数只有5-6人。
进去先做了份笔试题（我最烦这个，逼着我去刷题，今天开始要开始在牛客网开始刷题了）蛮多题我是没有写的，我是准备等等面试的时候问我，顺便我扩充点别的东西，所以简答题空了很多。
下面我把一些问题列出来：
转发和重定向的区别：

   1、转...]]></description><category></category></item><item><title><![CDATA[面试记录——福州中润电子科技有限公司]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/91953587</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/91953587</guid><author>Richard331</author><pubDate>Fri, 14 Jun 2019 10:27:17 +0800</pubDate><description><![CDATA[时间：2019-6-13-14:30
地点：福州市参数区科技园双湖路8号1号楼3层
公司：福州中润电子科技有限公司
进去之后先是给了我一份笔试题，笔试题难度算是我做过里面简单的那种，不过还是有些地方做错了。
面试流程：
是这个公司的架构师面试的，先是问算法复杂度的问题：
有哪些算法的复杂度符合下面的
O（n） ——最常见的数组查找这类
O（n²）——关于这个一开始在想冒泡排序，但是忘记了算法复杂度...]]></description><category></category></item><item><title><![CDATA[Java面试问题整理]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/91378566</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/91378566</guid><author>Richard331</author><pubDate>Mon, 10 Jun 2019 15:16:22 +0800</pubDate><description><![CDATA[今天就毕业了，准备整理整理面试题。
Mybatis中mapper层和dao如何进行映射？
Mybatis将配置文件中的每一个&lt; mapper&gt;节点抽象成一个Mapper
HTTP状态码和HTTP状态码分类
状态码




状态码
含义




200
请求成功


301
资源被永久转义到其他URL


404
请求的资源不存在


500
内部服务器错误


状态码分类




分类...]]></description><category></category></item><item><title><![CDATA[XShell上操作Linux]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/90694186</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/90694186</guid><author>Richard331</author><pubDate>Thu, 30 May 2019 11:31:35 +0800</pubDate><description><![CDATA[马上要毕业了，要去面试这些这里我使用XShell来操作
常用快捷键




常用快捷键
功能




ctrl+c
停止进程


ctrl+l
清屏


ctrl+q
退出


Tab
补全


文件目录指令

pwd 列出当前目录的绝对路径

[root@localhost ~]# pwd
/root


ls 列出目录的内容


基本用法: ls[选项] [目录或者文件]
2.选项说明



...]]></description><category></category></item><item><title><![CDATA[Mybatis学习笔记——提高对Mybatis的理解]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/90299032</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/90299032</guid><author>Richard331</author><pubDate>Fri, 17 May 2019 19:09:26 +0800</pubDate><description><![CDATA[我建议大家去这里看，我参考这篇博客写的。
一、Mybatis的框架设计
1、接口层和数据库交互的方式
Mybatis与数据库交互的方式有两种

使用传统的Mybatis提供的API
这是传统的传递Statement Id 和查询参数给 SqlSession 对象，使用 SqlSession对象完成和数据库的交互； Mybatis提供了非常方便的API，供用户实现数据库的增删改查操作，以及对数据库信...]]></description><category></category></item><item><title><![CDATA[事务]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/90295206</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/90295206</guid><author>Richard331</author><pubDate>Fri, 17 May 2019 16:10:11 +0800</pubDate><description><![CDATA[事务的特性
事务应该具有4个属性：原子性、一致性、隔离性、持久性。这个四个属性统称为ACID特性。


原子性（atomicty）: 一个事务是一个不可分割的工作单位，事务中包括的诸多操作，要么做，要么不做。


一致性（consistency）:事务必须是使数据库从一个一致性变到另一个一致性。


隔离性（isotation）:一个事务的执行不能被其它事务干扰。即一个事务内部的操作及使用的数据对...]]></description><category></category></item><item><title><![CDATA[Mybatis学习笔记——数据源]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/90241049</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/90241049</guid><author>Richard331</author><pubDate>Wed, 15 May 2019 17:27:30 +0800</pubDate><description><![CDATA[作者：亦山
来源：优快云
原文：https://blog.youkuaiyun.com/luanlouis/article/details/37671851
版权声明：本文为博主原创文章，转载请附上博文链接！
连接池意义
在不使用连接池情况下，操作一次数据库需要创建一个Connection对象，使用完以后调用close()方法 销毁。在频繁操作数据库的情况下，需要频繁的创建和销毁Connection对象，代...]]></description><category></category></item><item><title><![CDATA[JVM——多线程理解]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/89848337</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/89848337</guid><author>Richard331</author><pubDate>Sun, 05 May 2019 16:20:52 +0800</pubDate><description><![CDATA[Java内存模型

Java内存模型的主要主要、目标是定义程序中各个变量的访问规则，即在虚拟机中将变量储存到内存和从内存中取出变量这样的底层细节。
Java内存模型规定了所有变量都存储在主内存中（此处的主内存与介绍物理硬件时的主内存名字一样，两者也可以相互类比，但此处是虚拟机内存的一部分）。
每条线程还有自己的工作内存，线程的工作内存中保存了被该线程使用到的变量的主内存副本拷贝，线程对变量所有操作...]]></description><category></category></item><item><title><![CDATA[类加载器]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/89711718</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/89711718</guid><author>Richard331</author><pubDate>Tue, 30 Apr 2019 16:17:16 +0800</pubDate><description><![CDATA[概述
Class文件以何种格式存储，类型合适加载、如何连接，以及虚拟机直接控制的行为，用户程序无法对其他进行改变。能通过程序进行操作的，主要是字节码生成与类加载器这两部分的功能。
Tomcat：正统的类加载器架构

部署到同一个服务器上的两个Web应用程序所使用的Java类库可以实现相互隔离。这是最基本的需求，两个不同的应用程序可能会依赖同一个第三方类库的不同版本。
部署到同一个服务器上的两个We...]]></description><category></category></item><item><title><![CDATA[JVM——方法调用]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/89679697</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/89679697</guid><author>Richard331</author><pubDate>Mon, 29 Apr 2019 17:38:42 +0800</pubDate><description><![CDATA[概念
方法调用并不等同于方法执行，方法调用阶段唯一的任务就是确定被调用方法的版本（即调用哪一个方法），暂时还不设计方法内部的具体运行过程。在程序运行时，进行方法调用是最普遍、最频繁的操作，Class文件的编译过程中不包含传统编译中的连接步骤，一切方法调用在Class文件里面存储的都只是符号引用，而不是方法在实际运行时内存布局中的入口地址（相对于之前说的直接引用）。这个特性给Java带来了更强大的动...]]></description><category></category></item><item><title><![CDATA[JVM——虚拟机字节码执行引擎]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/89670428</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/89670428</guid><author>Richard331</author><pubDate>Mon, 29 Apr 2019 10:57:13 +0800</pubDate><description><![CDATA[概述
执行引擎是Java虚拟机最核心的组成部分之一。“虚拟机”是相对于一个“物理机”的概念，这两种都有代码执行能力，其区别是物理机的执行是直接建立在处理器、硬件、指令和操作系统层面的，而虚拟机的执行引擎则是由自己实现的，因此可以自行制定指令集与执行引擎的结构体系，并且能够执行那些不被硬件直接支持的指令集格式。

不同虚拟机的实现里面，执行引擎在执行Java代码的时候可能会有解释执行（通过解释器执行...]]></description><category></category></item><item><title><![CDATA[JVM——虚拟机类加载机制]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/89608031</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/89608031</guid><author>Richard331</author><pubDate>Sat, 27 Apr 2019 21:39:15 +0800</pubDate><description><![CDATA[概述
虚拟机把描述类的数据从Class文件加载到内存，并对数据进行校验、转换解析和初始化，最终形成可以被虚拟机直接使用的Java类型，这就是虚拟机的类加载机制。
在Java语言里面，类型的加载、连接和初始化过程都是程序运行期间完成的，这种策略虽然会令类加载时稍微增加一些性能开销，但是会为Java应用程序提供高度的灵活性，Java里天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接这个特点实...]]></description><category></category></item><item><title><![CDATA[JVM——字节码指令]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/89577475</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/89577475</guid><author>Richard331</author><pubDate>Fri, 26 Apr 2019 21:57:09 +0800</pubDate><description><![CDATA[字节码简介
Java虚拟机的指令由一个字节长度、代表着某种特定操作含义的数字（称为操作码，Opcode）以及跟随其后的零至多个代表此操作所需参数（称为操作数，Operands）而构成。由于Java虚拟机采用面向操作数栈而不是寄存器的架构，所以大多数指令都不包含操作数，只要有一个操作码。
字节码=操作码+操作数（非必须）
字节码指令集是一种具有鲜明特点、优劣势都很吐出的指令集合架构，由于限制了Jav...]]></description><category></category></item><item><title><![CDATA[JVM——类文件结构]]></title><link>https://blog.youkuaiyun.com/Richard331/article/details/89520842</link><guid>https://blog.youkuaiyun.com/Richard331/article/details/89520842</guid><author>Richard331</author><pubDate>Thu, 25 Apr 2019 17:36:26 +0800</pubDate><description><![CDATA[Java诞生之初的口号：“一次编写，到处运行（Write Once， Run Anywhere）”。
各个平台的虚拟机与所有平台都同意使用的程序存储格式——字节码（ByteCode）是构成平台无关性的基石。实现语言无关性的基础人生是虚拟机和字节码存储格式。Java虚拟机不和包括Java在内的如何语言绑定，它只与“Class文件”这种特定的二进制文件格式所关联，Class文件中包含了Java虚拟机指...]]></description><category></category></item></channel></rss>