<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[不会英语的程序员不是好开拓者]]></title><description><![CDATA[愿你拥有好运气，被世界温柔以待！]]></description><link>https://blog.youkuaiyun.com/weienjun</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weienjun]]></copyright><item><title><![CDATA[Dubbo]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/96754089</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/96754089</guid><author>weienjun</author><pubDate>Sun, 21 Jul 2019 19:53:18 +0800</pubDate><description><![CDATA[一 dubbo缓存

  zookeeper宕掉，会从缓存中读取。

  zookeeper会定期更新缓存。



二 dubbo支持的容器

spring容器，logj容器, jetty容器



三 dubbo多协议支持

RMI

HESSIAN/webService/http/thrift/dubbo



四 多注册中心



五 集群模式

将服务多服务器部署，进行负载...]]></description><category></category></item><item><title><![CDATA[kafka]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/95049686</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/95049686</guid><author>weienjun</author><pubDate>Mon, 08 Jul 2019 11:30:13 +0800</pubDate><description><![CDATA[一 是什么

分布式消息和订阅系统--不是基于JMS

特性（区别于activeMQ）：

1.高性能，高吞吐量

2.内置分区，实现集群，冗余和容错性



二 从哪来

linkedln活动流和运营数据处理管道



三 应用场景

1.行为跟踪

2.日志收集：分布式系统，集群部署方式收集日志很难定位问题，使用日志统一收集平台(kafka）,然后使用ES,HDFS做实时检索分析和离线统计...]]></description><category></category></item><item><title><![CDATA[mycat基础]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/94354268</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/94354268</guid><author>weienjun</author><pubDate>Sun, 30 Jun 2019 19:40:35 +0800</pubDate><description><![CDATA[一 从哪来--数据库性能瓶颈的原因

1.数据库连接:数据库连接数有限

2.表数据量

2.1 mysql索引--B-Tree形式，是一种硬盘级索引，每次获取索引都要从硬盘读到内存，有一定IO损耗。

数据量越多，树越大。所以,索引对于小数据量的表来说,性能不如全表扫描.对于中大表来说比较合适,但对于  超大表,索引也会失效(考虑分库分表:a分库分表,全量扫描,不需要索引. b.分...]]></description><category></category></item><item><title><![CDATA[redis基础]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/93467600</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/93467600</guid><author>weienjun</author><pubDate>Mon, 24 Jun 2019 10:34:44 +0800</pubDate><description><![CDATA[一 缓存

1.是什么：内存级别，读取非常快（阿里使用redis--多级缓存。参考链接：https://www.jianshu.com/p/cc204dbefb74）

2.种类：应用内缓存（hashMap,EH cache）--java第三方库

缓存组件（memached,redis）



二 redis基础

1.remote dictionary server(远程字典服务器），它以字...]]></description><category></category></item><item><title><![CDATA[mysql索引]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/92389382</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/92389382</guid><author>weienjun</author><pubDate>Sun, 16 Jun 2019 13:01:04 +0800</pubDate><description><![CDATA[一 为什么

1.减少存储引擎需要扫描的数据量

2.随机IO变成顺序IO：扫表只是扫描叶子节点，叶子节点是顺序排列的 / 覆盖索引

3.分组，排序操作避免使用临时表



二 是什么

加速对表中数据行检索创建的一种分散存储（在硬盘中存储是不连续的）的数据结构（索引字段与硬盘地址的映射表）



三 B-Tree

1..二叉查找树：二叉树的分布影响查找性能





2.平衡二叉查找树...]]></description><category></category></item><item><title><![CDATA[JVM--你想要的都在这里]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/91356216</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/91356216</guid><author>weienjun</author><pubDate>Sun, 09 Jun 2019 19:47:15 +0800</pubDate><description><![CDATA[一 是什么--功能

1.1 软件层面机器码的翻译--》代码到机器指令的一次转换

1.2 内存管理





二 JVM运行时数据区

 

2.1程序计数器（线程独享：一个线程一个）：指向当前线程正在执行的字节码指令的地址，行号（原因：线程执行是在CPU上，CPU是抢占式的，线程有可能没有执行完就被抢夺了，所以需要一个地方去存储线程执行地址）



2.2虚拟机栈（线程独享）：存储...]]></description><category></category></item><item><title><![CDATA[NIO与AIO]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/90714246</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/90714246</guid><author>weienjun</author><pubDate>Fri, 31 May 2019 12:49:00 +0800</pubDate><description><![CDATA[一 传统IO--阻塞

1.1传统IO过程:

1.建立socket

2.阻塞点:server.accept()

       inputStream.read(bytes)

       只有阻塞点完成后,其他进程才能进来

1.2 特点: 单线程情况下只能有一个客户端

 用线程池可以有多个客户端连接,但是非常消耗性能,一个客户端一个独立线程

...]]></description><category></category></item><item><title><![CDATA[Tomcat]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/87556828</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/87556828</guid><author>weienjun</author><pubDate>Sun, 17 Feb 2019 20:58:21 +0800</pubDate><description><![CDATA[是什么

中间件,作用在java项目和jvm之间的中间容器

 

怎么做(启动原理)

Tomcat Server处理一个http请求的过程

假设来自客户的请求为：

http://localhost:8080/wsota/wsota_index.jsp

1) 请求被发送到本机端口8080，被在那里侦听的Coyote HTTP/1.1 Connector获得

（1-1）Connector的...]]></description><category></category></item><item><title><![CDATA[Ionic]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/86933080</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/86933080</guid><author>weienjun</author><pubDate>Sun, 10 Feb 2019 21:37:38 +0800</pubDate><description><![CDATA[是什么

Ionic = cordova + angular + ionic CSS

cordova使用js调用native功能(手机端关键)

 

搭建项目

 



启动项目

1.node.js更新到最新版本

   1.1 清除npm cache 的命令: npm cache clean -f

   1.2安装n模块: npm install -g n --force

   1....]]></description><category></category></item><item><title><![CDATA[2018年终总结]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/86722773</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/86722773</guid><author>weienjun</author><pubDate>Thu, 31 Jan 2019 19:30:22 +0800</pubDate><description><![CDATA[       2018,这个让很多人痛不欲生的一年.让我,痛并快乐着!

       我用了2018这一年,用心去认识自己,认识世界,我也真的学会接受自己,接受这个世界的种种.学会丢掉锋芒,学会承担.明白了一切的急躁,软弱,小性子,玻璃心都会成为别人伤害你的辅助,而不是你的保护伞.学会专注于去做自己能够控制的事情,对于自己不能够控制,坦然接受,最重要的是不要让它伤害到你.真的体会到保持善良.勤俭...]]></description><category></category></item><item><title><![CDATA[java集合和map]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/86713389</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/86713389</guid><author>weienjun</author><pubDate>Thu, 31 Jan 2019 12:45:38 +0800</pubDate><description><![CDATA[集合

一.Set:

1.hashSet:乱序,不可重复

hash算法,计算hashcode,得出存储位置

2.LinkedSet:hashSet基础上加上链表

3.TreeSet:有序按照元素实际值大小升序排序,每次调用使用compareTo方法做比较(红黑树算法)

 

二.list:有序,可重复

1.ArrayList:索引,性能高

2.Vector:同ArrayList,线程...]]></description><category></category></item><item><title><![CDATA[java输入和输出]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/86669600</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/86669600</guid><author>weienjun</author><pubDate>Sun, 27 Jan 2019 21:01:55 +0800</pubDate><description><![CDATA[1.File:新建,删除,重命名文件或目录,不访问文件内容本身

2.IO

输入流基类:inputStream(字节),Reader(字符):

输入方法:read()

输出流基类:outputStream(字节),Writer(字符)

输出方法:write()

输入和输出都可以想象成一个'水管',里面都是'水滴'作为存储单位

3.计算机大多使用字节

4.流分类



 

5.序列化...]]></description><category></category></item><item><title><![CDATA[JDBC]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/86566477</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/86566477</guid><author>weienjun</author><pubDate>Sun, 20 Jan 2019 21:25:05 +0800</pubDate><description><![CDATA[JDBC连接顺序

1.加载数据库驱动driver--&amp;gt;class.getName(driver);

2.获取数据库连接,getConnection

3.创建statement对象(一个接口)

Statement:preparedStatement

 callableStatement

4.使用statement执行sql

Execute:executeQuery

      ...]]></description><category></category></item><item><title><![CDATA[java异常处理]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/86431008</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/86431008</guid><author>weienjun</author><pubDate>Sun, 13 Jan 2019 18:57:03 +0800</pubDate><description><![CDATA[为什么

Java运行处理出错后,会找到相应的catch块,如果找不到,则停止程序.

为了提高程序的健壮性和代码的优雅.

 

是什么

将不可预期异常的处理代码和正常的业务逻辑代码分离

异常分类:checked异常:可以被修复

      runtime异常

 

怎么做

1.先捕捉小异常,再捕捉大异常

2.try--catch(遇到return或throw执行finally)--...]]></description><category></category></item><item><title><![CDATA[年终总结]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/82914994</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/82914994</guid><author>weienjun</author><pubDate>Mon, 01 Oct 2018 09:55:55 +0800</pubDate><description><![CDATA[    一年之内，经历了很多，成长了很多。其实说实话，以往的年终总结我总会腾出至少2个小时的时间静下心去想去写，可是讲真我现在连腾出半个小时的时间去写都没有。一直都觉得这样的节奏不太对，可能经历了这些才会有所成长吧。

    我也不想说些矫情的话，我只想说，凡事都得靠自己！年复一年，初心不变，砥砺前行！...]]></description><category></category></item><item><title><![CDATA[使用layer打开新页面]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/82807507</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/82807507</guid><author>weienjun</author><pubDate>Fri, 21 Sep 2018 21:14:45 +0800</pubDate><description><![CDATA[layer

      layer是一个弹框工具，使用layer打开新页面，避免页面跳转，非常好使。


layer.open({
    			type: 2, 
    			title:[&quot;处理页面详情&quot;,'background-image: url(/csp/static/js/theme/default/layerTiltle.fw_03.png);'],
    			//title...]]></description><category></category></item><item><title><![CDATA[数据库直接生成实体、dao和mapper]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/82707121</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/82707121</guid><author>weienjun</author><pubDate>Fri, 14 Sep 2018 18:16:29 +0800</pubDate><description><![CDATA[使用Mybatis Generator


&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;    
&amp;lt;!DOCTYPE generatorConfiguration    
        PUBLIC &quot;-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN&quot;    
        ...]]></description><category></category></item><item><title><![CDATA[Excel快速生成sql语句]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/82556929</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/82556929</guid><author>weienjun</author><pubDate>Sun, 09 Sep 2018 11:33:54 +0800</pubDate><description><![CDATA[
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
 
import java.io.*;
 
public class Main {
    public static void main(String[] args) {
        Main obj = new Main();
      ...]]></description><category></category></item><item><title><![CDATA[redis字符串操作]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/82024059</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/82024059</guid><author>weienjun</author><pubDate>Fri, 24 Aug 2018 18:56:01 +0800</pubDate><description><![CDATA[字符串操作


	SET 赋值，用法： SET key value
	
	
	GET 取值，用法： GET key
	
	
	INCR 递增数字，仅仅对数字类型的键有用，相当于Java的i++运算，用法： INCR key
	
	
	INCRBY 增加指定的数字，仅仅对数字类型的键有用，相当于Java的i+=3，用法：INCRBY key increment，意思是key自增increment，i...]]></description><category></category></item><item><title><![CDATA[springboot总结]]></title><link>https://blog.youkuaiyun.com/weienjun/article/details/81771435</link><guid>https://blog.youkuaiyun.com/weienjun/article/details/81771435</guid><author>weienjun</author><pubDate>Fri, 17 Aug 2018 07:46:15 +0800</pubDate><description><![CDATA[什么是Spring Boot

    Spring Boot是一个框架，其设计目的是简化Spring应用的初始搭建配置以及开发过程。该框架使用了特定的配置方式，从而使开发人员不在需要定义样板化的配置。

 

Spring Boot的好处

    1、配置简单；

    2、编码简单；

    3、部署简单；

    4、监控简单；

 

Spring Boot的特点

    1、化...]]></description><category></category></item></channel></rss>