<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Lehman_Tong]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/kip1990</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kip1990]]></copyright><item><title><![CDATA[JVM核心技术-CMS垃圾收集器]]></title><link>https://blog.youkuaiyun.com/kip1990/article/details/109288807</link><guid>https://blog.youkuaiyun.com/kip1990/article/details/109288807</guid><author>kip1990</author><pubDate>Mon, 26 Oct 2020 14:15:43 +0800</pubDate><description><![CDATA[CMS GC 的设计目标是避免在老年代垃圾收集时出现长时间的卡顿，主要通过两种手段来达成：
1、不对老年代进行整理，而是使用空闲列表(free-lists)来管理内存空间的回收
2、在 mark-and-sweep (标记-清除) 阶段的大部分工作和应用线程一起并发执行。
启动参数：
#使用CMS垃圾收集器
-XX:UseConcMarkSweepGC              

#每一次FullGC之后进行一次碎片整理（默认开启） Java9废弃参数
-XX:+UseCMSCompactAtFullCo]]></description><category></category></item><item><title><![CDATA[Java核心技术-并发编程-同步器]]></title><link>https://blog.youkuaiyun.com/kip1990/article/details/109062050</link><guid>https://blog.youkuaiyun.com/kip1990/article/details/109062050</guid><author>kip1990</author><pubDate>Tue, 13 Oct 2020 22:05:04 +0800</pubDate><description><![CDATA[面对大并发场景下，偶尔会出现排队调度相关情况，在Java中有几个比较常见的调度模式，本文将分享这些调度模式：

CountDownLatch倒计时门栓
CyclicBarrier障栅
Semamphore信号量
Phaser循环障栅

Part-1：CountDownLatch倒计时门栓
用来同步一个或多个任务，强制它们等待由其它任务执行的一组操作完成。门栓是一次性的当计数器为0的时候就不能再重用了。
public class StudyCountDownLatch {
    private final ]]></description><category></category></item><item><title><![CDATA[Java核心技术-并发编程-锁]]></title><link>https://blog.youkuaiyun.com/kip1990/article/details/109005664</link><guid>https://blog.youkuaiyun.com/kip1990/article/details/109005664</guid><author>kip1990</author><pubDate>Sat, 10 Oct 2020 22:49:10 +0800</pubDate><description><![CDATA[日常说到高并发往往针对共享资源进行读写操作很容易得到错误的结果，这个时候就需要应用到各种个样的锁，本文通过4种锁进行分享：

synchronized
ReentrantLock(可重入锁)
ReentrantReadWriteLock(读写锁)
StampedLock(戳锁)

Part-1：synchronized

同步代码块

public void testSynchronizedCode() {
    synchronized (lockObject) {
        System.out]]></description><category></category></item><item><title><![CDATA[Java核心技术-并发编程-线程与线程池]]></title><link>https://blog.youkuaiyun.com/kip1990/article/details/108982273</link><guid>https://blog.youkuaiyun.com/kip1990/article/details/108982273</guid><author>kip1990</author><pubDate>Fri, 09 Oct 2020 17:06:54 +0800</pubDate><description><![CDATA[在现在互联网项目中，经常面对的是高并发的场景，而针对面对高并发的系统架构主要在缓存、分布式数据库、消息队列、分布式部署等进行分享。
如何提高单应用的响应能力就跟线程有莫大的关系了。本文将通过以下内容进行分享：

任务
线程
线程状态
线程属性
线程池

Part-1：任务
//定义任务：实现Runnable接口
public class LiftOff implements Runnable {
    protected int countDown = 10;
    private static int]]></description><category></category></item><item><title><![CDATA[2020年秋季饮品推荐]]></title><link>https://blog.youkuaiyun.com/kip1990/article/details/108934381</link><guid>https://blog.youkuaiyun.com/kip1990/article/details/108934381</guid><author>kip1990</author><pubDate>Fri, 09 Oct 2020 11:11:53 +0800</pubDate><description><![CDATA[随着“秋季的第一杯奶茶”这个梗火红网络，认识到秋天真真的来到身边了，秋季来了意味着空气干燥，能让人干到喉咙带血丝，鼻腔一捏就痛的地步，在这个季节广东人可以喝凉茶，咱们也可以通过改善自己的饮品让自己生活也舒服点。分享一下个人秋季饮品：菊花茶、陈皮、白茶。
菊花茶
菊花茶在喝茶人眼里是败火的象征，其中菊花不仅仅是用来喝的还能用来看的，在喝了很多菊花类型中觉得还是在茶博会中喝到婺牌两款比较合适。

小黄菊
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-om5sS1Tj-160191]]></description><category></category></item><item><title><![CDATA[Spring Boot 集成RabbitMQ一篇就够]]></title><link>https://blog.youkuaiyun.com/kip1990/article/details/108974923</link><guid>https://blog.youkuaiyun.com/kip1990/article/details/108974923</guid><author>kip1990</author><pubDate>Fri, 09 Oct 2020 11:06:22 +0800</pubDate><description><![CDATA[面对日益复杂的信息平台，消息队列使用是解决什么问题呢？初步总结一下可以解决如下场景问题：

业务解耦：A系统需要耦合B、C、D系统，在消息队列之前可以通过共享数据、接口调用等方式来实现业务，现在可以通过消息中间件进行解耦。
削峰填谷：在互联网经常会出现流量突然飙升的情况，以前很多时候就是通过性能优化、加服务器等方式，可以通过消息中间件缓存相关任务，然后按计划的进行处理。
异步：可以通过消息推送及短信发送进行说明，业务平台并不关注具体消息的发送细则，完全可以通过消息队列的方式，直接下发任务，由任务消费者进行处]]></description><category></category></item><item><title><![CDATA[Spring Boot 集成JPA一篇就够]]></title><link>https://blog.youkuaiyun.com/kip1990/article/details/108929531</link><guid>https://blog.youkuaiyun.com/kip1990/article/details/108929531</guid><author>kip1990</author><pubDate>Mon, 05 Oct 2020 16:04:32 +0800</pubDate><description><![CDATA[目前市场上Java语言ORM框架有Mybatis、Hibernate、Spring Data JPA，其中JPA底层还是使用Hibernate实现，引用JPQL查询语言，属于Spring整个生态体系的一部分，使用起来比较方便，加快了研发效率。
Part-1: Jpa基础知识
本章节将通过一些例子让大家对Jpa的日常使用有一个了解。

数据库准备

CREATE TABLE `user_info` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `first_name` ]]></description><category></category></item><item><title><![CDATA[Android自动化测试Appium:虚拟机(Genymotion)搭建]]></title><link>https://blog.youkuaiyun.com/kip1990/article/details/107762400</link><guid>https://blog.youkuaiyun.com/kip1990/article/details/107762400</guid><author>kip1990</author><pubDate>Mon, 03 Aug 2020 14:13:21 +0800</pubDate><description><![CDATA[Part-1:虚拟机管理工具搭建：
1、Genymotion安装：https://www.genymotion.com/download/ 
软件针对windows版本带VisualBox版本和不带WindowsBox版本，
本人在Windos和mac两个平台均有搭建，Windows版本用的是带VisualBox，下文所有截图均为Mac版本。
注册Genymotion后进行激活，在最后启动的时候选择Personal User
Genymotion主页面

添加Android镜像

镜像添加成功可以通过电脑S]]></description><category></category></item><item><title><![CDATA[AlchemySQL实体类生成数据库表]]></title><link>https://blog.youkuaiyun.com/kip1990/article/details/107522855</link><guid>https://blog.youkuaiyun.com/kip1990/article/details/107522855</guid><author>kip1990</author><pubDate>Wed, 22 Jul 2020 20:51:40 +0800</pubDate><description><![CDATA[Part-1: 数据库实体声明
class AppiumServer(BaseEntity):
    """
     自动化工具服务信息
     """
    __tablename__ = 'appiumServer'

    id = Column(Integer, Sequence("appiumServer_id_seq"), primary_key=True)
    appium_server_name = Column(String(200))
    appium_server_u]]></description><category></category></item><item><title><![CDATA[Android自动化测试Appium:环境搭建]]></title><link>https://blog.youkuaiyun.com/kip1990/article/details/106249570</link><guid>https://blog.youkuaiyun.com/kip1990/article/details/106249570</guid><author>kip1990</author><pubDate>Thu, 21 May 2020 09:26:47 +0800</pubDate><description><![CDATA[Part-1:环境搭建

安装 Appium 下载地址：http://appium.io/
安装Android SDK  下载地址：http://tools.android-studio.org/index.php/sdk 
更新Android SDK信息，Shell命令：

tools/android update sdk --no-ui 


配置路径：androidSdk、tools、platform_tools 如下：

export ANDROID_HOME=/Applications/Serve]]></description><category></category></item><item><title><![CDATA[IT研发团队管理容易忽视的那些事]]></title><link>https://blog.youkuaiyun.com/kip1990/article/details/104640063</link><guid>https://blog.youkuaiyun.com/kip1990/article/details/104640063</guid><author>kip1990</author><pubDate>Tue, 03 Mar 2020 20:11:12 +0800</pubDate><description><![CDATA[背景介绍
&nbsp; &nbsp; &nbsp; &nbsp;面对VUCA环境，很多公司都急切期望用更少的成本来达成或超越业务目标，当前市面上已经涌现出很多的方法，如敏捷方法、精益思想、DevOps、持续交付、等。不可否认这些方法取得很多不错的成效，这里就不做太多的陈述了。面对复杂的业务领域，作为技术体系该怎么样的应对这样的环境挑战呢？建议技术体系在如下方面发力：

团队管理方面
技术管理方面
...]]></description><category></category></item></channel></rss>