<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TomasEdision的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/TomasEdision</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; TomasEdision]]></copyright><item><title><![CDATA[Java线程池源码分析]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/103487824</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/103487824</guid><author>TomasEdision</author><pubDate>Wed, 11 Dec 2019 15:02:05 +0800</pubDate><description><![CDATA[上一篇中我们主要对java线程池的概念，线程池中几个重要参数以及常用的四种线程池做了简单的介绍，今天我们就从源码入手，深入分析线程池是怎么玩的。

一、Executor架构

请看图：



1.Executor是一个接口，它是Executor框架的基础，它将任务的提交与任务的执行分离开来。

2.ThreadPoolExecutor是线程池的核心类，用来执行被提交的任务。

3.S...]]></description><category></category></item><item><title><![CDATA[java线程池原理]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/103469693</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/103469693</guid><author>TomasEdision</author><pubDate>Tue, 10 Dec 2019 14:15:53 +0800</pubDate><description><![CDATA[一、线程池概念

   每当提到一个新名词的时候总是会从概念入手，我们首先需要知道这个东西是什么？所谓线程池从字面上理解就是一个装载线程的池子或者说装载线程的容器。这个容器中可以装载多个线程，线程的生命周期交给线程池去管理，方便了我们苦逼的程序员。这样的话我们可以对线程池中的线程进行复用，避免了频繁创建线程以及销毁线程的时间与空间上的开销。

二、线程池执行流程



线程池任务执行流程...]]></description><category></category></item><item><title><![CDATA[Mybatis_day01]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78524012</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78524012</guid><author>TomasEdision</author><pubDate>Tue, 14 Nov 2017 09:30:44 +0800</pubDate><description><![CDATA[一、概念

1.Mybatis是优秀的持久层框架，对jdbc操作数据库的过程进行了封装，使开发者只需要关注sql本身；程序员只需要通过配置来进行设置

二、JDBC存在的问题

1.数据库连接创建，释放频繁造成资源浪费
2.sql语句在代码中硬编码
3.使用preparedStatement占位符号参数存在硬编码
4.结果集存在硬编码
三、Mybatis架构]]></description><category></category></item><item><title><![CDATA[SSH整合]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78477337</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78477337</guid><author>TomasEdision</author><pubDate>Wed, 08 Nov 2017 12:43:39 +0800</pubDate><description><![CDATA[一、三大框架整合原理

1.struts2与spring整合的契机就是spring可以帮助struts2创建action对象

2.Hibernate中的sessionFactory甚至session都交给spring管理，aop事务也交给spring进行管理


二、相关导包工作

1.Hibernate需要的包

（1）hibernate/lib/required

]]></description><category></category></item><item><title><![CDATA[Spring中事务管理]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78471793</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78471793</guid><author>TomasEdision</author><pubDate>Tue, 07 Nov 2017 20:04:58 +0800</pubDate><description><![CDATA[一、事务

1.事务逻辑上的一组操作，组成这组操作的各个逻辑单元，要么一起成功，要么一起失败
2.事务特性
（1）原子性：强调事务的不可分割
（2）一致性：事务的执行的前后数据的完整性保持一致
（3）隔离性：一个事务执行过程中，不应该收到其他事务的干扰
（4）持久性：事务一旦结束，数据就持久到数据库中
3.事务并发产生的问题
（1）脏读：一个事务读取到了另外一个事务没有提交的数据]]></description><category></category></item><item><title><![CDATA[Spring中使用jdbc操作]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78471570</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78471570</guid><author>TomasEdision</author><pubDate>Tue, 07 Nov 2017 19:42:53 +0800</pubDate><description><![CDATA[一、JdbcTemplate
1.spring中提供了一个可以操作数据库的对象，对象封装了jdbc技术，大家需要知道JdbcTemplate与QueryRunner类似。所以JdbcTemplate对象是依赖于数据源dataSource对象的。
2.spring使用JdbcTemplate的方式
（1）在dao层中定义JdbcTemplate对象
使用步骤：
1）首先需要导入相关jar包]]></description><category></category></item><item><title><![CDATA[Spring中aop概念以及用法]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78465090</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78465090</guid><author>TomasEdision</author><pubDate>Tue, 07 Nov 2017 10:24:32 +0800</pubDate><description><![CDATA[一、Aop概念
在软件行业，AOP为Aspect Oriented Programming的缩写，意思是面向切面编程。AOP是OOP的延续，是软件开发中的一个热点，也是Spring框架中的一种重要思想。
利用AOP可以对业务逻辑的各个部分进行隔离，从而使得业务逻辑各部分之间的重用性，同时提高开发的效率。
二、Spring中的AOP概念
1.spring能够为容器中管理的对象生成动态代理对象]]></description><category></category></item><item><title><![CDATA[Spring中使用注解代替xml配置文件]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78461069</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78461069</guid><author>TomasEdision</author><pubDate>Mon, 06 Nov 2017 19:49:35 +0800</pubDate><description><![CDATA[在使用Spring的使用过程中我们需要进行相关配置文件applicationContext.xml的配置，除此之外我们也可以使用注解的方式来代替xml配置文件。

1.使用步骤

（1）为住配置文件引入新的约束（命名空间），需要导入约束spring-context.xsd约束文件

（2）需要导入包spring-aop否则运行的时候会报错

（3）开启使用注解代替配置文件，使用案例]]></description><category></category></item><item><title><![CDATA[Struts2之拦截器]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78430386</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78430386</guid><author>TomasEdision</author><pubDate>Thu, 02 Nov 2017 22:54:15 +0800</pubDate><description><![CDATA[一、拦截器


拦截器，在AOP中用于在某个方法或者字段被访问之前，进行拦截然后在之前或者之后加入某些操作。拦截是AOP的一种实现策略。
在Webwork的中文文档解释为——拦截器是动态拦截action调用的对象。它提供了一种机制可以使开发者可以定义在一个在action执行前后执行的代码。

也可以在一个action执行前阻止其执行。同时也是提供一种可以提取action中可重用部分的方]]></description><category></category></item><item><title><![CDATA[Struts2学习笔记]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78398704</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78398704</guid><author>TomasEdision</author><pubDate>Mon, 30 Oct 2017 23:28:43 +0800</pubDate><description><![CDATA[一、Struts2介绍

1.是一个基于MVC设计模式的Web应用框架，本质上相当于一个servlet；以WebWork为核心，采用拦截器的机制来吃力客户的请求。

2.在传统开发模式中，有一次请求就会对应一个servlet，这样会导致出现很多servlet，然后struts2将所有的请求都先经过一个前端控制器，在前端控制器

中实现框架的部分功能，剩下的具体操作要提交到具体的Acti]]></description><category></category></item><item><title><![CDATA[hibernate_day03]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78342469</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78342469</guid><author>TomasEdision</author><pubDate>Wed, 25 Oct 2017 15:53:52 +0800</pubDate><description><![CDATA[一、Hibernate的一级缓存

1.持久态对象能够自动更新数据库得益于Hibernate的一级缓存。

2.hibernate的缓存分为一级缓存和二级缓存，Hibernate的这两级缓存都位于持久化层，存储的就是数据库数据的备份。

3.Hibernate的一级缓存就是指Session缓存，Session缓存是一块内存空间，用来存放相互管理的java对象，在使用hibernate查]]></description><category></category></item><item><title><![CDATA[Hibernate_day02(2)]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78336215</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78336215</guid><author>TomasEdision</author><pubDate>Tue, 24 Oct 2017 23:29:38 +0800</pubDate><description><![CDATA[一、持久化类

Hibernate是持久层的ORM映射框架，专注于数据的持久化工作。所谓的持久化就是将内存中的数据永久的保存到关系型数据库中。持久化类指的就是一个Java类

与数据库表建立了映射关系，那么这个类就称为持久化类。

二、持久化类的编写规则

（1）持久化类需要提供无参数的构造方法，因为在Hibernate的底层使用反射生成类的对象。

（2）持久化类的属性需要私]]></description><category></category></item><item><title><![CDATA[Hibernate_day02]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78335278</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78335278</guid><author>TomasEdision</author><pubDate>Tue, 24 Oct 2017 21:51:44 +0800</pubDate><description><![CDATA[一、Hibernate创建映射文件

（1）在一个实体类所在的包中，创建一个名称为实体名.hbm.xml的映射文件，在该文件中定义了实体类的属性是如何映射到数据库对应表的列上的，具体格式为：
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.h]]></description><category></category></item><item><title><![CDATA[Spring_day01]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78332048</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78332048</guid><author>TomasEdision</author><pubDate>Tue, 24 Oct 2017 17:23:25 +0800</pubDate><description><![CDATA[一、Spring

1.Spring是一个开源框架，主要优势之一就是它的分层架构，分层架构允许使用者哪一个组件。Spring的核心是控制反转控制（IOC）和面向切面（AOP）。简单来说，Spring是一个分层的JavaSE/EEfull-stack（一站式）轻量级开源框架。

2.EE开发分成三层结构：

（1）WEB层：SpringMVC

（2）业务层：Bean管理（IOC）]]></description><category></category></item><item><title><![CDATA[Hibernate框架]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78324918</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78324918</guid><author>TomasEdision</author><pubDate>Tue, 24 Oct 2017 00:01:06 +0800</pubDate><description><![CDATA[一、什么是Hibernate

1.Hibernate框架是当今主流的Java持久层框架之一，是一个开源的ORM（Object Relation Mapping，对象关系映射）框架，它对JDBC进行了轻量级的对象封装，使得Java开发人员

可以使用面向对象的编程思想来操作数据库。

2.所谓的ORM就是利用描述对象和数据库表之间的映射的元数据，自动把Java应用程序中的对象持久化到关]]></description><category></category></item><item><title><![CDATA[Maven初步]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78321367</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78321367</guid><author>TomasEdision</author><pubDate>Mon, 23 Oct 2017 17:50:52 +0800</pubDate><description><![CDATA[一、Maven
1.Maven是一个项目管理工具，主要就是用来统一开发规范与工具，另外就是管理jar包


二、pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation]]></description><category></category></item><item><title><![CDATA[Redis数据结构（二）]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78317695</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78317695</guid><author>TomasEdision</author><pubDate>Mon, 23 Oct 2017 13:03:43 +0800</pubDate><description><![CDATA[常用命令

1）存储Set
（1）添加/删除元素
sadd key values[value1、value2......]：往set中添加数据，如果该key的值已经存在则不会重复添加
srem key member[member、member2.....]：删除set中指定的成员
（2）获取集合中的元素
smembers key：获取set中所有的成员
sismember key ]]></description><category></category></item><item><title><![CDATA[Redis数据结构]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78314714</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78314714</guid><author>TomasEdision</author><pubDate>Mon, 23 Oct 2017 00:22:20 +0800</pubDate><description><![CDATA[（一）Redis是一种高级的key-value存储系统，其中value支持五种数据结构

（1）字符串（String）

（2）哈希（hash）

（3）字符串列表（list）

（4）字符串集合（set）

（5）有序字符串集合（sorted set）

（二）常用命令
1）存储String
1.赋值

（1）set key value


2.取值

]]></description><category></category></item><item><title><![CDATA[Linux下使用redis]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78310783</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78310783</guid><author>TomasEdision</author><pubDate>Sun, 22 Oct 2017 16:10:26 +0800</pubDate><description><![CDATA[（一）首先说一个概念就是互联网的三高：

（1）High performence：对数据库高并发读写的需求
（2）Huge Storage：对海量数据的高效率存储和访问的需求
（3）High Scalability && High Availability：对数据库的高可扩展性和高可用性的需求
（二）NoSQL数据库的四大分类：


（1）键值存储数据：Redis等数据库产品
（]]></description><category></category></item><item><title><![CDATA[Linux基本命令以及Linux远程连接工具的使用]]></title><link>https://blog.youkuaiyun.com/TomasEdision/article/details/78303319</link><guid>https://blog.youkuaiyun.com/TomasEdision/article/details/78303319</guid><author>TomasEdision</author><pubDate>Sat, 21 Oct 2017 14:19:31 +0800</pubDate><description><![CDATA[1.压缩文件的操作命令

（1）Linux中的打包文件一般是以.tar结尾的，压缩的命令一般是以.gz结尾的。而一般情况下打包和压缩是一起进行的，打包并且压缩后的文件的后缀名一般是以.tar.gz。

（2）打包并压缩命令格式为：tar -zcvf  打包压缩后的文件名  要打包压缩的文件
（3）解压缩包（重点）命令格式：tar -xvf  压缩文件
例如：tar -xvf xxx.t]]></description><category></category></item></channel></rss>