<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wenthkim的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wenthkim</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wenthkim]]></copyright><item><title><![CDATA[Scala集合Seq-Api]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/86550209</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/86550209</guid><author>wenthkim</author><pubDate>Sat, 19 Jan 2019 11:13:53 +0800</pubDate><description><![CDATA[先上一张Scala接口架构图:

下面主要是Seq的Api用例：
创建共用的Seq:
val s1 = Seq(1,2,3,4,5)
val s2 = Seq(6,7,8,9,10)

索引和长度

	//获取某个下标的值
	//res0: Int = 2
	s1(1)
	s1.apply(1)
	
	//是否包括该下标，下标从0开始，
	//结果 res0: Boolean = true
	s1...]]></description><category></category></item><item><title><![CDATA[scala集合Iterable-API]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/86351358</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/86351358</guid><author>wenthkim</author><pubDate>Sat, 12 Jan 2019 11:11:19 +0800</pubDate><description><![CDATA[Iterable新增的接口不多，这篇是Iterable API的用例，还是来一张scala抽象接口图:


注意:迭代器有一个很重要的特点是，数据迭代一次就不存在了

创建两个Iterable,默认实现是List
val i1 = Iterable(1,2,3,4,5)
val i2 = Iterable(6,7,8,9,10)

1.抽象方法
    //迭代输出每个数据  结果:12345
 ...]]></description><category></category></item><item><title><![CDATA[Scala集合Traversable-API]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/85944327</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/85944327</guid><author>wenthkim</author><pubDate>Sun, 06 Jan 2019 19:25:27 +0800</pubDate><description><![CDATA[scala集合库是一个核心库，主要分为可变集合包scala.collection.mutable和不可变集合包scala.collection.immutable
我们先要了解集合包中有哪些接口，下图为所有集合抽象接口的图示:

下面为抽象接口不可变的实现类（蓝色为接口，黑色为具体实现类）:

下图为集合库中所有类的图示(蓝色为接口，黑色为具体实现类):

由以上三个图我们大概了解了scala集合...]]></description><category></category></item><item><title><![CDATA[java面试专题----mysql]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/80204699</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/80204699</guid><author>wenthkim</author><pubDate>Sat, 05 May 2018 12:44:08 +0800</pubDate><description><![CDATA[1.各个数据库存储引擎区别

mysql的存储引擎是针对表进行设置的，一个库的不同表可以设置不同的存储引擎， mysql默认支持多种存储引擎，以适用不同领域的数据库应用需要，主要的几个数据库引 擎如下：  
 1.MyISAM存储引擎 5.5之前默认的存储引擎，不支持事务、不支持外键，表级锁，内存和硬盘空间占用率低，其优势是访问速度快，对事务完整性没有要求，以select、insert为主的应用基...]]></description><category></category></item><item><title><![CDATA[java面试专题--jvm虚拟机]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/80155817</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/80155817</guid><author>wenthkim</author><pubDate>Tue, 01 May 2018 16:51:37 +0800</pubDate><description><![CDATA[1.jvm 进程内存逻辑结构

主要分为三大块
1.堆
2.方法区
3.本地内存






2.jvm内存结构

 
程序计数器: 较小的内存空间， 当前线程执行的字节码的行号指示器(对java多线程起关键作用，多线程程序会不断切换线程，记录当前线程执行的行数，以便切回来的时候能继续执行)；各线程之间独立存储，互不影响。 
java栈: 线程私有，生命周期和线程，每个方法在执行的同时都会创建一个...]]></description><category></category></item><item><title><![CDATA[JAVA面试专题--java基础]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/80152787</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/80152787</guid><author>wenthkim</author><pubDate>Mon, 30 Apr 2018 22:26:16 +0800</pubDate><description><![CDATA[面向对象



1、面向对象和面向过程的区别

面向过程关注于一个功能实现的步骤，按步骤编程实现功能。
面向对象关注于一个功能实现的行为，将一些行为封装为一个对象来统一调用。
面向过程是一种事件为中心的编程思想。就是分析出解决问题所需的步骤，然后用函数把这些步骤实现，并按顺序调用。面向过程是以对象为中心的编程思想。




2、四个基本特性

抽象：Java中抽象的概念最直接的应用就是抽象类和接口...]]></description><category></category></item><item><title><![CDATA[SpringCloud--Eureka服务注册和发现]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/79327705</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/79327705</guid><author>wenthkim</author><pubDate>Thu, 15 Feb 2018 23:33:21 +0800</pubDate><description><![CDATA[
  Eureka是SpringCloud家族中的一个组件，因为它的有服务注册和发现的机制，所以很适合用于做注册中心。Eureka有服务端和客户端，注册中心作为服务端，我们提供的服务作为客户端注册到服务端上，由Eureka统一管理。




作为注册中心，它内部运行机制是什么样的？下面我就带着下面这些问题来学习Eureka。

1.如何去开发一个集成spring cloud eureka程序？
2...]]></description><category></category></item><item><title><![CDATA[《从职场小白到团队老大》读书笔记—下篇]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/79328604</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/79328604</guid><author>wenthkim</author><pubDate>Thu, 15 Feb 2018 16:41:24 +0800</pubDate><description><![CDATA[中篇链接



下篇—团队协作:识人善用才会带兵



改变传统管理思维:

1.  达成目标的策略:不是去控制行为而是采用吸引的方法。
2.  市场定位的导向:不是只关注产品，而是更关注客户需求和认知。
3.  管理思维方向:遇到问题不是外求，而是内省，内建核心优势。




怎样的领导值得死心塌地跟着:

1．  好领导关键时候一定把自己当做兄弟。
2．  好领导会像教练一样对待自己。
3． ...]]></description><category></category></item><item><title><![CDATA[《从职场小白到团队老大》读书笔记--中篇]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/79325347</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/79325347</guid><author>wenthkim</author><pubDate>Wed, 14 Feb 2018 14:39:14 +0800</pubDate><description><![CDATA[
  身在职场，每个人都要和同事、领导、合作伙伴、客户等相处、沟通、共事。那我们应该怎么做才能让别人愿意和自己共事，而且共事的过程中让人觉得很舒服，我们每个人应该怎么看待职场。作者从中篇给出了自己的建议。


在我们的职业生涯中，我们一般都有几家公司的工作经历。那公司到底是什么呢？在这一点上我和作者的观点是比较相似的。


很多人认为，公司和员工是雇佣关系。公司雇佣员工，并为其创造的价值支付薪水。...]]></description><category></category></item><item><title><![CDATA[《从职场小白到团队老大》读书笔记--上篇]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/79322617</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/79322617</guid><author>wenthkim</author><pubDate>Tue, 13 Feb 2018 17:57:43 +0800</pubDate><description><![CDATA[
  序：这是一位在职场打拼20多年的人把他的经历，所做，所想等汇集成一本书，作为一个初入职场的人，也非常希望能从中获取能够帮助自己成长得更快的建议。


&amp;nbsp;&amp;nbsp;在战场上有一句话，不想当将军的士兵不是好士兵。在职场同样如此，不想当老大的员工不是好员工。当然并不一定每个人都有这样的想法，每个人都有自己选择的。但是有这个想法的员工起码能体现出他有往更高处走的冲劲，这是在职场上很重要的...]]></description><category></category></item><item><title><![CDATA[centos7安装gitlab]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/79316268</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/79316268</guid><author>wenthkim</author><pubDate>Mon, 12 Feb 2018 13:44:38 +0800</pubDate><description><![CDATA[已经好久没写文章了，从此又要重新开始记录和总结自己过去所学的知识了。

centos7下安装gitlab


  1.先安装gitlab所需要的库


sudo yum install curl policycoreutils openssh-server openssh-clients  
sudo systemctl enable sshd  
sudo systemctl start ssh...]]></description><category></category></item><item><title><![CDATA[在Centos6.6上安装MySQL5.7]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/52999833</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/52999833</guid><author>wenthkim</author><pubDate>Tue, 01 Nov 2016 20:12:45 +0800</pubDate><description><![CDATA[由于MySQL5.7和其它(5.6,5.5)等版本有所区别，所以在安装的过程中踩了不少坑。   1.MySQL5.7刚安装成功的时候是没有默认密码的,也不是空密码,所以装好了也登录不上去.后来看了官方文档才发现，原来在第一次安装成功后，在初次启动的时候要调用如下指令去设置一个临时密码.grep 'temporary password' /var/log/mysqld.log
    2.由于当时临时]]></description><category></category></item><item><title><![CDATA[安装Linux Minimal版本]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/52964108</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/52964108</guid><author>wenthkim</author><pubDate>Sat, 29 Oct 2016 13:12:38 +0800</pubDate><description><![CDATA[这里的安装是基于虚拟机上的，其实在物理机上安装也差不多，就是自己先在硬盘上分一个空间出来，然后再用U盘引导安装，之后的步骤就跟在虚拟机上安装一样的。
打开虚拟机 
 创建新的虚拟机，选择典型的 
选择稍后安装，如果选第二项的话就默认安装桌面版的Linux 
选择Linux和ISO对应的版本，我这里是RedHat 
改名和选择安装路径 
选择硬盘大小 
完成虚拟机的创建 
打开创建好的虚拟机 
选择C]]></description><category></category></item><item><title><![CDATA[Linux常用命令]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/52960068</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/52960068</guid><author>wenthkim</author><pubDate>Fri, 28 Oct 2016 21:43:38 +0800</pubDate><description><![CDATA[用户管理
增加用户: useradd 用户名  
   删除用户: userdel 用户名 
   切换用户: su 用户名 
  查看当前活跃用户 w 
  查看有所有用户 cat /etc/passwd (普通用户ID500+)
  修改用户属性
修改密码: passwd 用户名 
修改用户名: usermod -l 新用户名 原用户名 
修改用户所在组:usermod -g 组号 用户名]]></description><category></category></item><item><title><![CDATA[建造者模式]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/52586101</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/52586101</guid><author>wenthkim</author><pubDate>Mon, 19 Sep 2016 15:17:16 +0800</pubDate><description><![CDATA[建造者模式（Builder Pattern）使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式，它提供了一种创建对象的最佳方式。建造者模式的优点: 1.使用起来简单,让人感觉很好。  2.屏蔽了组件的内部细节，将组件本身和创建过程进行解耦分离，同一个 Builder 设置不同的参数，即可创建适应不同需求的组件。3.扩展容易,通过设置Builder的参数即可完成不同需求的]]></description><category></category></item><item><title><![CDATA[工厂模式和抽象工厂模式]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/52573874</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/52573874</guid><author>wenthkim</author><pubDate>Sun, 18 Sep 2016 13:58:41 +0800</pubDate><description><![CDATA[工厂模式就是由工厂来统一生产,其实跟现实的在工厂差不多.
下面有个例子:比如制造一辆汽车要各种零件,这些都由工厂来统一生产,如果顾客想买一辆车,他就不用管这些东西是怎么生产出来的了,他直接给工厂说想要什么车,工厂就可以为他提供了.
  先定义统一生产零件的接口 ICar.java
public interface ICar {
    //生产轮胎
    void produceTire();]]></description><category></category></item><item><title><![CDATA[单例模式的几种写法]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/52561915</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/52561915</guid><author>wenthkim</author><pubDate>Sat, 17 Sep 2016 10:38:47 +0800</pubDate><description><![CDATA[单例模式的作用就是为全局提供唯一的一个实例,比如我们在应用中通常把用户信息作为单例,因为几乎每个界面都要用到。  懒汉式(线程不安全,懒汉的意思就是说当我需要的时候才去创建新的实例,即当外部调用的时候)
public class SingleTon{    private static SingleTon instance;    private SingleTon() {
         }]]></description><category></category></item><item><title><![CDATA[带ToolBar的BaseActivity]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/52423301</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/52423301</guid><author>wenthkim</author><pubDate>Sat, 03 Sep 2016 15:14:56 +0800</pubDate><description><![CDATA[Toolbar是我们最常用的一个控件，几乎每一个activity都要用到,如果我们每一个界面都要去加一个toolbar然后再去findviewbyid,而且toolbar上的设置可能很activity都是相同的，那代码会不会很多重复呢？  下面就根据android界面构架的思想，自己去封装一个toolbar到BaseActivity上，其它activity只要继承BaseActivity并重写它的方]]></description><category></category></item><item><title><![CDATA[TabLayout+ViewPager实现滑动底部导航栏]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/52336881</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/52336881</guid><author>wenthkim</author><pubDate>Sat, 27 Aug 2016 20:31:55 +0800</pubDate><description><![CDATA[这是最后一篇写底部导航栏了，其实还有挺多方式可以实现的，在这里就不写了。  这次既然用到了TabLayout,那么就看一下它有哪些属性吧
其中我们主要用到的有：tabIndicatorColor 指示线的颜色 
tabIndicatorHeight  指示线的高度 
tabSelectedTextColor Tab选中时的字体颜色 
tabTextColor Tab正常情况下的字体颜色tabMode]]></description><category></category></item><item><title><![CDATA[FragmentTabHost+ViewPager实现滑动的底部导航栏]]></title><link>https://blog.youkuaiyun.com/wenthkim/article/details/52331839</link><guid>https://blog.youkuaiyun.com/wenthkim/article/details/52331839</guid><author>wenthkim</author><pubDate>Fri, 26 Aug 2016 21:32:14 +0800</pubDate><description><![CDATA[用FragmentTabhost+viewpager实现滑动的底部栏。刚开始写的这几篇都是写底部导航栏，其实我只是想用不同的方式把不同的效果都实现一次，还有好几种方式能够实现的，可能再写一篇底部栏的就不写了。
  先上效果图（找了一轮录屏软件发现还是找不到，最后还是用了应用宝的动态截图功能来生成gif）  我这些例子都是用相同的例子就不说了，你们可以看我上两篇。
这次结合了ViewPager的使用，]]></description><category></category></item></channel></rss>