<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TomotoJ的博客]]></title><description><![CDATA[一直在路上，从未停歇]]></description><link>https://blog.youkuaiyun.com/TomotoJ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; TomotoJ]]></copyright><item><title><![CDATA[Java基础知识复习总结]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/106484579</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/106484579</guid><author>TomotoJ</author><pubDate>Tue, 02 Jun 2020 22:37:12 +0800</pubDate><description><![CDATA[以下内容是对Java基础知识部分的一个记录和总结，以记录最近在重新学习Java基础部分知识的感悟和收货。俗话说温故而知新，对于编程语言来说同样如此。为什么从基础开始呢，因为基础真的是很重要，基础稳固扎实，你才有可能进步成长，否则，对于技术这条路，不可能有长远的发展。所以，一切都要从基础开始，基础学习的扎实了，对于后面的框架及原理才能更好的掌握，否则，只能说是雾里看花，说到这里，我觉得有句话讲的特别好~~“万地高楼平地起，勿在浮沙筑高台。”
这句话洽恰说明了基础的重要性，盖楼讲究的是地基牢固，对于技术的学习也]]></description><category></category></item><item><title><![CDATA[mysql explain 执行计划]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/89338106</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/89338106</guid><author>TomotoJ</author><pubDate>Tue, 16 Apr 2019 17:40:29 +0800</pubDate><description><![CDATA[EXPLAIN命令可以帮助我们分析SQL的执行情况，分析SQL使用索引的情况。
desc 命令也可以,之前只知道desc 命令只是用于排序，不知道还有别的用法。
MySQL可以通过EXPLAIN或DESC来查看并分析SQL语句的执行情况。
使用EXPLAIN示例：

explain 有两个变种：
1.explain extended：会在 explain  的基础上额外提供一些查询优化的信息。紧随...]]></description><category></category></item><item><title><![CDATA[@DisallowConcurrentExecution注解作用]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/89026596</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/89026596</guid><author>TomotoJ</author><pubDate>Thu, 04 Apr 2019 16:21:52 +0800</pubDate><description><![CDATA[@DisallowConcurrentExecution

禁止并发执行多个相同定义的JobDetail, 这个注解是加在Job类上的, 但意思并不是不能同时执行多个Job, 而是不能并发执行同一个Job Definition(由JobDetail定义), 但是可以同时执行多个不同的JobDetail。

即对于同一个Job任务不允许并发执行，但对于不同的job任务不受影响。

@PersistJ...]]></description><category></category></item><item><title><![CDATA[QueryDSL学习笔记]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/88899486</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/88899486</guid><author>TomotoJ</author><pubDate>Fri, 29 Mar 2019 18:35:20 +0800</pubDate><description><![CDATA[QueryDSL简介

QueryDSL仅仅是一个通用的查询框架，专注于通过Java API构建类型安全的SQL查询。
Querydsl可以通过一组通用的查询API为用户构建出适合不同类型ORM框架或者是SQL的查询语句，也就是说QueryDSL是基于各种ORM框架以及SQL之上的一个通用的查询框架。
借助QueryDSL可以在任何支持的ORM框架或者SQL平台上以一种通用的API方式来构建查询。...]]></description><category></category></item><item><title><![CDATA[spring data jpa学习笔记]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/88893089</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/88893089</guid><author>TomotoJ</author><pubDate>Fri, 29 Mar 2019 15:03:21 +0800</pubDate><description><![CDATA[前言
在学习spring data jpa 之前，让我们先了解下JPA.
JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术，结束现在Hibernate，TopLink，JDO等ORM框架各自为营的局面。值得注意的是，JPA...]]></description><category></category></item><item><title><![CDATA[Java关闭资源try-with-resources语句]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/88887319</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/88887319</guid><author>TomotoJ</author><pubDate>Fri, 29 Mar 2019 11:26:28 +0800</pubDate><description><![CDATA[传统的关闭资源的方式
try-catch-finally
public static void main(String[] args) {
    FileInputStream inputStream = null;
    try {
        inputStream = new FileInputStream(new File("test"));
        System.out....]]></description><category></category></item><item><title><![CDATA[Spring缓存注解@Cacheable、@CacheEvict小结]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/88874959</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/88874959</guid><author>TomotoJ</author><pubDate>Thu, 28 Mar 2019 18:15:58 +0800</pubDate><description><![CDATA[@Cacheable
使用@Cacheable标记的方法在执行后Spring Cache将缓存其返回结果。
标记位置：可标记在方法和类上
当标记在一个方法上时表示该方法是支持缓存的，当标记在一个类上时则表示该类所有的方法都是支持缓存的。
对于一个支持缓存的方法，Spring会在其被调用后将其返回值缓存起来，以保证下次利用同样的参数来执行该方法时可以直接从缓存中获取结果，而不需要再次执行该方法。Sp...]]></description><category></category></item><item><title><![CDATA[Go命令]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/88710467</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/88710467</guid><author>TomotoJ</author><pubDate>Thu, 21 Mar 2019 11:25:51 +0800</pubDate><description><![CDATA[Go常用命令
go build
这个命令主要用于编译代码。在包的编译过程中，若有必要，会同时编译与之相关联的包。

如果是普通包，就像我们在1.2节中编写的mymath包那样，当你执行go build之后，它不会产生任何文件。如果你需要在$GOPATH/pkg下生成相应的文件，那就得执行go install。
如果是main包，当你执行go build之后，它就会在当前目录下生成一个可执行文件。如...]]></description><category></category></item><item><title><![CDATA[GOPATH和工作空间]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/88708747</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/88708747</guid><author>TomotoJ</author><pubDate>Thu, 21 Mar 2019 10:41:05 +0800</pubDate><description><![CDATA[前面我们在安装Go的时候看到需要设置GOPATH变量，Go从1.1版本到1.7必须设置这个变量，而且不能和Go的安装目录一样，这个目录用来存放Go源码，Go的可运行文件，以及相应的编译之后的包文件。所以这个目录下面有三个子目录：src、bin、pkg
从go 1.8开始，GOPATH环境变量现在有一个默认值，如果它没有被设置。 它在Unix上默认为HOME/go,在Windows上默认为∗∗GOP...]]></description><category></category></item><item><title><![CDATA[配置Go环境变量GOPATH和GOROOT记录]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/88687986</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/88687986</guid><author>TomotoJ</author><pubDate>Wed, 20 Mar 2019 14:55:08 +0800</pubDate><description><![CDATA[在安装1.12版本的go编译包时因为之前电脑中安装过1.9版本的，之前是通过homebrew安装的。安装新版本后环境变量重新配置，一直不生效，后查资料发现，GOROOT 跟 GOPATH 不能是同一目录下。

GOROOT就是go的安装路径

GOPATH

go install/go get和 go的工具等会用到GOPATH环境变量.
	GOPATH是作为编译后二进制的存放目的地和import包...]]></description><category></category></item><item><title><![CDATA[队列之循环队列]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/88635645</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/88635645</guid><author>TomotoJ</author><pubDate>Mon, 18 Mar 2019 11:27:50 +0800</pubDate><description><![CDATA[首先搞清楚什么是队列？
队列：只允许在一段进行插入，在另一端进行删除的线性表。
循环队列：具有队头指针和队尾指针，指示队列元素所在的位置，避免删除元素时移动大量元素。
循环队列特性：

只能从队尾插入元素、在队头删除元素。
先进先出（First In First Out）的线性表，先进入的元素出队，后进入的元素才能出队。

优点：

相比普通的队列，元素出队时无需移动大量元素，只需移动头指针。
适...]]></description><category></category></item><item><title><![CDATA[Go语言基础语法]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/88587797</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/88587797</guid><author>TomotoJ</author><pubDate>Sat, 16 Mar 2019 00:43:28 +0800</pubDate><description><![CDATA[go标记
Go 程序可以由多个标记组成，可以是关键字，标识符，常量，字符串，符号。
标识符
标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或是多个字母(AZ和az)数字(0~9)、下划线_组成的序列，但是第一个字符必须是字母或下划线而不能是数字。
关键字
break		default		func	interface	select		case		defer		go	map		struc...]]></description><category></category></item><item><title><![CDATA[二、go语言结构]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/88587655</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/88587655</guid><author>TomotoJ</author><pubDate>Sat, 16 Mar 2019 00:32:10 +0800</pubDate><description><![CDATA[Go语言结构的基础部分有以下几个部分：

包声明
引入包
函数
变量
语句 &amp;amp; 表达式
注释

package main //包名

import &quot;fmt&quot; //导入需要用的包

func main() {
	/* 第一个go语言程序*/
	fmt.Println(&quot;Hello, World !!&quot;)
}

注：go语言程序编码要求

第一行代码 package main 定义了包名。你...]]></description><category></category></item><item><title><![CDATA[一、go语言简介]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/88587516</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/88587516</guid><author>TomotoJ</author><pubDate>Sat, 16 Mar 2019 00:18:54 +0800</pubDate><description><![CDATA[Go语言简介语言简介go语言特色go语言用途
语言简介
Go 是一个开源的编程语言，它能让构造简单、可靠且高效的软件变得容易。
Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发，后来还加入了Ian Lance Taylor, Russ Cox等人，并最终于2009年11月开源，在2012年早些时候发布了Go 1稳定版本。现在Go的开发已...]]></description><category></category></item><item><title><![CDATA[Java集合框架随笔-ArrayList和LinkedList]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/88368328</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/88368328</guid><author>TomotoJ</author><pubDate>Sat, 09 Mar 2019 16:56:08 +0800</pubDate><description><![CDATA[一、ArrayList及LinkedList面试问题小结
1、ArrayList 默认初始化大小？
jdk 1.6 是 10，1.7跟1.8 都是0。
直接上源码
    /**
     * Constructs an empty list with an initial capacity of ten.
     */
    public ArrayList() {
        this...]]></description><category></category></item><item><title><![CDATA[位运算符]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/88367021</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/88367021</guid><author>TomotoJ</author><pubDate>Sat, 09 Mar 2019 15:45:36 +0800</pubDate><description><![CDATA[先简单记录下左移、右移，日后再补充。

&amp;lt;&amp;lt; : 左移运算符, num &amp;lt;&amp;lt; 1 相当于 num 乘以 2

&amp;gt;&amp;gt; : 右移运算符, num &amp;gt;&amp;gt; 1 相当于num 除以2

亦或运算符 ^

在java的位运算符中有一个异或的运算符，用符号(^)表示，其运算规则是:在两个二进制操作数的相同位中，相同则结果为0，不同则结果为1。
例如：0011^10...]]></description><category></category></item><item><title><![CDATA[java 读取图片显示红色]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/77069463</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/77069463</guid><author>TomotoJ</author><pubDate>Thu, 10 Aug 2017 18:01:12 +0800</pubDate><description><![CDATA[原图片正常，图片转成二进制字符串放入word文档中部分图片就显示不正常了，查询资料后发现，是因为使用java自带的工具类 IOImage.read() 方法的问题，经过查阅得知ImageIO.read()方法读取图片时可能存在不正确处理图片ICC信息的问题，ICC为JPEG图片格式中的一种头部信息，导致渲染图片前景色时蒙上一层红色。
解决方法：
替换 IOimage.read 方法
使用ja]]></description><category></category></item><item><title><![CDATA[linux 删除文件 磁盘空间未释放]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/77067548</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/77067548</guid><author>TomotoJ</author><pubDate>Thu, 10 Aug 2017 17:57:39 +0800</pubDate><description><![CDATA[linux 磁盘被写满后的解决方法]]></description><category></category></item><item><title><![CDATA[使用TileStache 进行矢量geojson瓦片的切割 实际操作部分记录]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/76982685</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/76982685</guid><author>TomotoJ</author><pubDate>Wed, 09 Aug 2017 13:04:35 +0800</pubDate><description><![CDATA[TileStache是github上的一个开源项目，它可以进行地图瓦片的切割，瓦片服务的代理等等一些，详细信息可以在官网查看：地址http://tilestache.org/
使用它需要先安装Python，而后在进行安装。
详细安装步骤可自行查询。
注意事项：
python 先安装 easy_install 插件，tilesache 可在easy_install 上进行安装。
使用步骤：]]></description><category></category></item><item><title><![CDATA[sqllite 数据库 blob类型 问题小结]]></title><link>https://blog.youkuaiyun.com/TomotoJ/article/details/76976705</link><guid>https://blog.youkuaiyun.com/TomotoJ/article/details/76976705</guid><author>TomotoJ</author><pubDate>Wed, 09 Aug 2017 11:35:40 +0800</pubDate><description><![CDATA[sqllite 字段类型 Blob]]></description><category></category></item></channel></rss>