<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[justLym的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/justLym</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; justLym]]></copyright><item><title><![CDATA[jsoup使用教程]]></title><link>https://blog.csdn.net/justLym/article/details/105715516</link><guid>https://blog.csdn.net/justLym/article/details/105715516</guid><author>justLym</author><pubDate>Thu, 23 Apr 2020 22:12:39 +0800</pubDate><description><![CDATA[jsoup是一款Java的html解析工具，主要是对html和xml文件进行解析
在写爬虫的时候，当我们用HttpClient之类的框架，得到目标网页的源码后，需要从网页源码中取得我们想要的内容。就可以使用jsoup轻松获取想要的内容。
jsoup的中文开发文档
获取jsoup的maven方式
&lt;!-- https://mvnrepository.com/artifact/org.jsoup...]]></description><category></category></item><item><title><![CDATA[Java零拷贝问题]]></title><link>https://blog.csdn.net/justLym/article/details/105639761</link><guid>https://blog.csdn.net/justLym/article/details/105639761</guid><author>justLym</author><pubDate>Mon, 20 Apr 2020 17:48:43 +0800</pubDate><description><![CDATA[概述
零复制（英语：zero-copy；也叫做零拷贝）技术是指计算机执行操作时，cpu不需要先将数据从某处内存复制到另外一个特定区域。这种技术通常通过网络传输文件时节省CPU周期和带宽。
传统IO传输模型

传统IO分析
在Java当中IO存在这三个对象，一个是user space用户空间，一个是kernel space内核空间，还有一个是hardware磁盘对象

当jvm发起了一次读取事件时，...]]></description><category></category></item><item><title><![CDATA[Java的GC垃圾回收机制]]></title><link>https://blog.csdn.net/justLym/article/details/105299000</link><guid>https://blog.csdn.net/justLym/article/details/105299000</guid><author>justLym</author><pubDate>Sun, 05 Apr 2020 17:06:26 +0800</pubDate><description><![CDATA[什么是GC垃圾回收
垃圾回收（Garbage Collection）是Java虚拟机（JVM）垃圾回收器提供的一种用于在空闲时间不定时回收无任何对象引用的对象占据的内存空间的一种机制。
注意：垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身。换言之，垃圾回收只会负责释放那些对象占有的内存。
分析
引用：如果Reference类型的数据中存储的数值代表的是另外一块内存的起始地址，就称这块...]]></description><category></category></item><item><title><![CDATA[设计模式Java原型模式]]></title><link>https://blog.csdn.net/justLym/article/details/105164633</link><guid>https://blog.csdn.net/justLym/article/details/105164633</guid><author>justLym</author><pubDate>Sat, 28 Mar 2020 17:48:48 +0800</pubDate><description><![CDATA[原型模式基本介绍

原型模式（prototype模式）是指：用原型实例指定创建对象的种类，并且通过拷贝这些原型，创建新的对象
原型模式是一种创建型设计模式，允许一个对象在创建另外一个可定制的对象，无需知道如何创建的细节
工作原理：通过原型传给要发动创建的对象，这个要发动创建的对象通过请求原型对象拷贝他们来实现，即对象.clone()

原型模式实现方式
默认实现方式，浅拷贝
实现一个Cloneab...]]></description><category></category></item><item><title><![CDATA[Centos7 安装docker-compose]]></title><link>https://blog.csdn.net/justLym/article/details/105099446</link><guid>https://blog.csdn.net/justLym/article/details/105099446</guid><author>justLym</author><pubDate>Wed, 25 Mar 2020 17:05:04 +0800</pubDate><description><![CDATA[Docker 安装docker-compose
使用二进制包进行安装
在 Linux 上的也安装十分简单，从 官方 GitHub Release 处直接下载编译好的二进制文件即可。
例如，在 Linux 64 位系统上直接下载对应的二进制包。
curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-...]]></description><category></category></item><item><title><![CDATA[MySQL SQL语句优化explain关键字]]></title><link>https://blog.csdn.net/justLym/article/details/105076001</link><guid>https://blog.csdn.net/justLym/article/details/105076001</guid><author>justLym</author><pubDate>Tue, 24 Mar 2020 18:50:53 +0800</pubDate><description><![CDATA[概述
在目前这个大数据，大流量时代，我们的网站不光流量大，数据量也会非常的巨大。在巨大的数据量中精确找出我们需要的数据，这个对我们数据库压力比较大。而我们在不考虑进行分库分表的操作时，进行SQL语句优化是一个很好的解决办法，下面介绍explain关键词分析SQL语句，及使用索引进行优化查询。
explain关键字使用
explain使用格式
	EXPLAIN SELECT
	*
	FROM
		S...]]></description><category></category></item><item><title><![CDATA[Spring事物注解@Transactional失效场景]]></title><link>https://blog.csdn.net/justLym/article/details/105040531</link><guid>https://blog.csdn.net/justLym/article/details/105040531</guid><author>justLym</author><pubDate>Mon, 23 Mar 2020 14:23:35 +0800</pubDate><description><![CDATA[概述
@Transactional注解相信大家都不陌生，平时在开发中spring框架中经常用到的事物注解。
他的作用就是控制程序执行的原子性，保证程序要提交就一起提交，如果出现错误，则一起进行回滚操作。
但是在使用@Transactional注解的时候有很多需要注意的地方，不然你就会发现这个事物注解会出现失效的情况。
在spring程序中如何去管理事物
事物管理在系统开发中是不可缺少的，在spri...]]></description><category></category></item><item><title><![CDATA[MySQL索引介绍]]></title><link>https://blog.csdn.net/justLym/article/details/105008577</link><guid>https://blog.csdn.net/justLym/article/details/105008577</guid><author>justLym</author><pubDate>Sat, 21 Mar 2020 15:35:28 +0800</pubDate><description><![CDATA[索引是什么
索引(index)是帮助MySQL高效获取数据的数据结构
如果没有特别指明，都是指的是B树索引（多路搜索树，并不一定是二叉树）结构组织的索引
建立索引的优势和劣势
优势
提高数据检索的效率，降低数据库IO成本，通过索引列对数据进行排序，降低数据排序的成本，降低CPU的消耗。
劣势
实际上索引也是一张表，该表保存了主键与索引字段，并指向实体表的记录，所以索引列也要占用空间，因为更新表时，...]]></description><category></category></item><item><title><![CDATA[CentOs7安装docker]]></title><link>https://blog.csdn.net/justLym/article/details/104928743</link><guid>https://blog.csdn.net/justLym/article/details/104928743</guid><author>justLym</author><pubDate>Tue, 17 Mar 2020 19:12:54 +0800</pubDate><description><![CDATA[如果之前安装过docker可以执行下面命令删除

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
    ...]]></description><category></category></item><item><title><![CDATA[HashMap如何添加元素详解]]></title><link>https://blog.csdn.net/justLym/article/details/104894887</link><guid>https://blog.csdn.net/justLym/article/details/104894887</guid><author>justLym</author><pubDate>Mon, 16 Mar 2020 14:18:15 +0800</pubDate><description><![CDATA[Map接口结构
map接口是一个双边队列，拥有key,value两个属性，其中key在存储的集合中不允许重复，value可以重复。
MapHashMapLinkedHashMapHashtable实现map接口实现map接口继承HashMap实现map接口MapHashMapLinkedHashMapHashtable
HashMap特点

存储结构在jdk1.7当中是数组加链表的结构，在jdk1...]]></description><category></category></item><item><title><![CDATA[Java流NIO]]></title><link>https://blog.csdn.net/justLym/article/details/104859316</link><guid>https://blog.csdn.net/justLym/article/details/104859316</guid><author>justLym</author><pubDate>Sat, 14 Mar 2020 15:27:19 +0800</pubDate><description><![CDATA[什么是NIO
Java NIO（NEW IO）是从Java1.4开始引入的新版IO,用来替代标准的Java IO API
NIO于原来的IO有相同的功能，但是他们之间的使用方式是完全不同的，NIO是面向缓冲区，面向通道的的IO操作，NIO拥有更加高效的进行文件读写。
另外NIO在网络编程可以是一个无阻塞的IO交互，可以大大提升Socket交互的效率。
NIO于IO的区别




IO
NIO


...]]></description><category></category></item><item><title><![CDATA[Java单例模式实现]]></title><link>https://blog.csdn.net/justLym/article/details/104847394</link><guid>https://blog.csdn.net/justLym/article/details/104847394</guid><author>justLym</author><pubDate>Fri, 13 Mar 2020 19:36:50 +0800</pubDate><description><![CDATA[概述
当我们的项目中有这样一个需求，整个项目运行的周期内，有一个类只存在一个实例对象，那么我们可以采用单例设计模式。
单例设计模式有两种形式的，一种是懒汉式，一种是饿汉式的。
我认为单例设计模式可以帮助我们更好的管理项目中的某些资源问题。
饿汉式
静态成员变量
我们利用Java关键字static特性，在类初始化就被加载，并在以后的加载中不再加载。
/**
 * 饿汉模式，静态成员变量
 *
 * ...]]></description><category></category></item><item><title><![CDATA[jdk1.8新特性Stream流]]></title><link>https://blog.csdn.net/justLym/article/details/104825756</link><guid>https://blog.csdn.net/justLym/article/details/104825756</guid><author>justLym</author><pubDate>Thu, 12 Mar 2020 20:22:50 +0800</pubDate><description><![CDATA[概述
Stream流完全不是I/O流，按照流水线处理方式来考虑代码中的思想。
JDK1.8 之后，我们拥有了Lambda表达式，让代码的中心偏向解决实际问题，直到重点，可以提高效率。
Stream流中使用了大量Lambda表达式，利用Lambda操作方式，提供开发效率
在我们进行数据处理时有很大的帮助
获取Stream流的三种方式
数组
int[] arr = {1, 2, 3, 4, 5};
A...]]></description><category></category></item><item><title><![CDATA[JDK1.8新特性函数式接口]]></title><link>https://blog.csdn.net/justLym/article/details/104803830</link><guid>https://blog.csdn.net/justLym/article/details/104803830</guid><author>justLym</author><pubDate>Wed, 11 Mar 2020 20:52:25 +0800</pubDate><description><![CDATA[概述
对于只有一个抽象方法的接口，需要这种接口的对象，就可以提供一个lambda表达式。这种接口称为函数式接口(functional interface)。
在定义函数式接口的时候可以加入@FunctionalInterface注解来修饰该接口
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
pub...]]></description><category></category></item><item><title><![CDATA[Java8特性lambda表达式和方法引用]]></title><link>https://blog.csdn.net/justLym/article/details/104802719</link><guid>https://blog.csdn.net/justLym/article/details/104802719</guid><author>justLym</author><pubDate>Wed, 11 Mar 2020 19:25:09 +0800</pubDate><description><![CDATA[lambda表达式简介
lambda表达式是一个传递的代码块，可以在以后执行一次或者多次。这个特性是JDK1.8之后的特性。
lambda表达式使用场景
在jdk中有一个Arrays.sort()方法用来对数组进行排序，在没有用lambda表达式之前我们一般用匿名内部类来传递比较条件，但是出现lambda表达式之后，这个就可以替换掉了。
import java.util.Arrays;
impor...]]></description><category></category></item><item><title><![CDATA[Java注解Annotation]]></title><link>https://blog.csdn.net/justLym/article/details/104780828</link><guid>https://blog.csdn.net/justLym/article/details/104780828</guid><author>justLym</author><pubDate>Tue, 10 Mar 2020 21:13:53 +0800</pubDate><description><![CDATA[概述
Java语言中的类、方法、变量、参数和包等都可以被标注。和Javadoc不同，Java标注可以通过反射获取标注内容。在编译生成类文件时，标注可以被嵌入到字节码中。Java虚拟机可以保留标注内容，在运行时可以获取到标注内容。 当然它也支持自定义Java标注
JDK1.5之后的特征
用于说明程序
一般在框架中使用
格式:
@AnnotationName
文档注释:
@param @return ...]]></description><category></category></item><item><title><![CDATA[Centos7配置alibab的yum源]]></title><link>https://blog.csdn.net/justLym/article/details/104759520</link><guid>https://blog.csdn.net/justLym/article/details/104759520</guid><author>justLym</author><pubDate>Mon, 09 Mar 2020 19:46:45 +0800</pubDate><description><![CDATA[进入到yum源配置文件目录 cd /etc/yum.repos.d/
拉取阿里云yum源 wget http://mirrors.aliyun.com/repo/Centos-7.repo

如果wget 不生效，可以执行 yum -y install wget 命令


备份原来的yum源配置文件
mv CentOs-Base.repo CentOs-Base.repo.bak


替换掉系统...]]></description><category></category></item><item><title><![CDATA[Java多线程管理类CountDownLath]]></title><link>https://blog.csdn.net/justLym/article/details/104718692</link><guid>https://blog.csdn.net/justLym/article/details/104718692</guid><author>justLym</author><pubDate>Sat, 07 Mar 2020 17:54:22 +0800</pubDate><description><![CDATA[概述
多线程的管理是一个让人头疼的事情，然而在Java中提供了很多对多线程管理的工具类，这里简单介绍一下CountDownLath。
作用
可以用来调整线程的执行顺序
方法介绍

long getCount()返回当前管理类中存在数
void countDown() 将管理类中数值减一，当管理类中数值为0后，这个方法不会执行
void await() 使所在线程等待，直到管理类中数值降为0

代码...]]></description><category></category></item><item><title><![CDATA[Java内部类 inner class]]></title><link>https://blog.csdn.net/justLym/article/details/104705715</link><guid>https://blog.csdn.net/justLym/article/details/104705715</guid><author>justLym</author><pubDate>Fri, 06 Mar 2020 22:41:27 +0800</pubDate><description><![CDATA[为什么使用内部类
内部类（inner class）是定义在另外一个类中的类。为什么需要使用内部类呢？主要有一下三点：

内部类方法可以访问该类定义所在的作用域中的数据，包括私有数据。
内部类可以对同一个包的其他类隐藏起来。
当像要定义一个回调函数且不想编写大量代码时，使用匿名（anonymous）内部类比较便捷

使用内部类访问对象状态
内部类既可以访问自身数据域，也可以访问创建它的外围对像的数据...]]></description><category></category></item><item><title><![CDATA[Java基础反射reflect]]></title><link>https://blog.csdn.net/justLym/article/details/104682666</link><guid>https://blog.csdn.net/justLym/article/details/104682666</guid><author>justLym</author><pubDate>Thu, 05 Mar 2020 20:41:52 +0800</pubDate><description><![CDATA[概述
能够分析类能力的程序成为反射reflective。反射机制的功能及其强大，再下面可以看到，反射机制可以用来：

在运行时分析类的能力
在运行时查看对象，例如，编写一个toString()方法供所有类使用。
实现通用的数组操作代码。
利用Method对象，这个对象很像C++中的指针函数。

Class类
在程序运行期间，Java运行时系统始终为所有的对象维护一个被称为运行时的类型标识。这个信息...]]></description><category></category></item></channel></rss>