<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[smillest的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/smillest</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; smillest]]></copyright><item><title><![CDATA[kafka学习笔记]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/123241352</link><guid>https://blog.youkuaiyun.com/smillest/article/details/123241352</guid><author>smillest</author><pubDate>Wed, 02 Mar 2022 21:51:57 +0800</pubDate><description><![CDATA[kafka中处理超大消息的一些考虑

Kafka设计的初衷是迅速处理短小的消息，一般10K大小的消息吞吐性能最好（可参见LinkedIn的kafka性能测试）。但有时候，我们需要处理更大的消息，比如XML文档或JSON内容，一个消息差不多有10-100M，这种情况下，Kakfa应该如何处理？
针对这个问题，有以下几个建议：

 最好的方法是不直接传送这些大的数据。如果有共享存储，如NAS, HDFS, S3等，可以把这些大的文件存放到共享存储，然后使用Kafka来传送文件的位置信息。
	 第二个方法是...]]></description><category></category></item><item><title><![CDATA[readview]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/123037885</link><guid>https://blog.youkuaiyun.com/smillest/article/details/123037885</guid><author>smillest</author><pubDate>Sun, 20 Feb 2022 23:11:53 +0800</pubDate><description><![CDATA[版本链



版本链



innodb存储引擎，聚簇索引记录中都包含两个必要的隐藏列
	trx_id：每次对某条记录进行改动时，对会把对应的事务id赋值给trx_id隐藏列；
		roll_pointer：每次对某条记录进行改动时，这个隐藏列会存一个指针，可以通过这个指针找到该记录修改前的信息；
		隐藏主键id：隐含的自增ID（隐藏主键），如果数据表没有主键，InnoDB会自动以DB_ROW_ID产生一个聚簇索引。
	
readview

read uncommitted隔离级别事务：直接读取记录的最新]]></description><category></category></item><item><title><![CDATA[String intern 测试]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/122944862</link><guid>https://blog.youkuaiyun.com/smillest/article/details/122944862</guid><author>smillest</author><pubDate>Tue, 15 Feb 2022 15:05:03 +0800</pubDate><description><![CDATA[String intern]]></description><category></category></item><item><title><![CDATA[熔断机制hystrix]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/80660565</link><guid>https://blog.youkuaiyun.com/smillest/article/details/80660565</guid><author>smillest</author><pubDate>Tue, 12 Jun 2018 09:13:56 +0800</pubDate><description><![CDATA[熔断机制hystrix一、问题产生雪崩效应：是一种因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程  正常情况下的服务：某一服务出现异常，拖垮整个服务链路，消耗整个线程队列，造成服务不可用，资源耗尽：         形成过程：           1）服务提供者不可用                                 a）硬件故障：硬件损坏造成的服务器主机宕机,...]]></description><category></category></item><item><title><![CDATA[spring beans源码解读之--总结篇]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/80348552</link><guid>https://blog.youkuaiyun.com/smillest/article/details/80348552</guid><author>smillest</author><pubDate>Thu, 17 May 2018 11:35:44 +0800</pubDate><description><![CDATA[spring beans下面有如下源文件包：org.springframework.beans, 包含了操作java bean的接口和类。org.springframework.beans.annotation, 支持包，提供对java 5注解处理bean样式的支持。org.springframework.beans.factory, 实现spring轻量级IoC容器的核心包。org.spring...]]></description><category></category></item><item><title><![CDATA[IoC和DI]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/79555525</link><guid>https://blog.youkuaiyun.com/smillest/article/details/79555525</guid><author>smillest</author><pubDate>Wed, 14 Mar 2018 15:35:37 +0800</pubDate><description><![CDATA[　学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念，对于初学Spring的人来说，总觉得IoC 、DI这两个概念是模糊不清的，是很难理解的，今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一、分享Iteye的开涛对Ioc的精彩讲解　　首先要分享的是Iteye的开涛这位技术牛人对Spring...]]></description><category></category></item><item><title><![CDATA[Iterator对象的remove方法是迭代过程中删除元素的唯一方法]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/77749205</link><guid>https://blog.youkuaiyun.com/smillest/article/details/77749205</guid><author>smillest</author><pubDate>Thu, 31 Aug 2017 16:43:01 +0800</pubDate><description><![CDATA[public static void main(String[] args) {
  Collection c=new ArrayList();
  c.add(new Name("wang","delei"));
  c.add(new Name("sun","hao"));
  c.add(new Name("zhu","lei"));
  for(Iterator it=c.ite]]></description><category></category></item><item><title><![CDATA[常见的分类方法]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/52682771</link><guid>https://blog.youkuaiyun.com/smillest/article/details/52682771</guid><author>smillest</author><pubDate>Tue, 27 Sep 2016 17:32:08 +0800</pubDate><description><![CDATA[主要分类方法介绍解决分类问题的方法很多[40-42] ，单一的分类方法主要包括：决策树、贝叶斯、人工神经网络、K-近邻、支持向量机和基于关联规则的分类等；另外还有用于组合单一分类方法的集成学习算法，如Bagging和Boosting等。  
（1）决策树  
决策树是用于分类和预测的主要技术之一，决策树学习是以实例为基础的归纳学习算法，它着眼于从一组无次序、无规则的实例中推理出以决策树表示的分]]></description><category></category></item><item><title><![CDATA[drop，truncate ，delete三者的区别]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/52577440</link><guid>https://blog.youkuaiyun.com/smillest/article/details/52577440</guid><author>smillest</author><pubDate>Sun, 18 Sep 2016 20:15:00 +0800</pubDate><description><![CDATA[（1）   DELETE语句执行删除的过程是每次从表中删除一行，并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存，删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。

（2）   表和索引所占空间。当表被TRUNCATE 后，这个表和索引所占用的空]]></description><category></category></item><item><title><![CDATA[缓存简介]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/52576306</link><guid>https://blog.youkuaiyun.com/smillest/article/details/52576306</guid><author>smillest</author><pubDate>Sun, 18 Sep 2016 17:34:15 +0800</pubDate><description><![CDATA[缓存分为页面缓存（静态页面缓存，页面片段缓存），数据缓存等。在单机环境下，为了降低DB的访问压力，或者是为了提高页面的访问速度都可以使用缓存
如果使用了缓存，一般的操作流程是先访问缓存，如果缓存有，就从缓存取；如果没有，则访问DB或其他数据源；如果缓存空间可用，则将查询的数据放入缓存，否则执行缓存替换策略。如果是更新操作，可以同时更新缓存和数据源；也可以先更新数据源，再将缓存置为无效，再次读取就]]></description><category></category></item><item><title><![CDATA[Srping实现XML配置文件的加密解密]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/52486010</link><guid>https://blog.youkuaiyun.com/smillest/article/details/52486010</guid><author>smillest</author><pubDate>Fri, 09 Sep 2016 12:52:01 +0800</pubDate><description><![CDATA[byte数组是不能强制转换成字符串的，换言之：字符串（2个字节）和byte数组在这种情况下不是互逆的；要避免这种情况，我们需要做一些修订，可以考虑将二进制数据转换成十六进制表示，不然会报 javax.crypto.IllegalBlockSizeException:
 Input length must be multiple of 8 when decrypting with padded c]]></description><category></category></item><item><title><![CDATA[java线程池]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/52331079</link><guid>https://blog.youkuaiyun.com/smillest/article/details/52331079</guid><author>smillest</author><pubDate>Fri, 26 Aug 2016 19:16:15 +0800</pubDate><description><![CDATA[如果并发的线程数量很多，并且每个线程都是执行一个时间很短的任务就结束了，这样频繁创建线程就会大大降低系统的效率，因为频繁创建线程和销毁线程需要时间。

那么有没有一种办法使得线程可以复用，就是执行完一个任务，并不被销毁，而是可以继续执行其他的任务？

在Java中可以通过线程池来达到这样的效果。今天我们就来详细讲解一下Java的线程池，首先我们从最核心的ThreadPoolExecutor]]></description><category></category></item><item><title><![CDATA[java复习]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/52250985</link><guid>https://blog.youkuaiyun.com/smillest/article/details/52250985</guid><author>smillest</author><pubDate>Fri, 19 Aug 2016 15:03:23 +0800</pubDate><description><![CDATA[1.面向对象和面向过程的区别
面向过程
优点：性能比面向对象高，因为类调用时需要实例化，开销比较大，比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发，性能是最重要的因素。
缺点：没有面向对象易维护、易复用、易扩展 

面向对象
优点：易维护、易复用、易扩展，由于面向对象有封装、继承、多态性的特性，可以设计出低耦合的系统，使系统更加灵活、更加易于维护
缺]]></description><category></category></item><item><title><![CDATA[JVM学习笔记]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/52250259</link><guid>https://blog.youkuaiyun.com/smillest/article/details/52250259</guid><author>smillest</author><pubDate>Fri, 19 Aug 2016 14:08:04 +0800</pubDate><description><![CDATA[一、多线程JVM实例

一个JVM实例可以包含很多个线程。一个实体机器包含多个JVM实例，绑定不同的端口。

线程共享的区域：方法区，常量缓冲池，堆。

每个线程私有：程序计数器，栈，本地方法栈。

二、JVM运行机制

JVM执行程序：

1）加载.class文件。

2）管理并分配内存

3）进行GC。

JVM的两种机制：

1）装载合适的类或接口，叫]]></description><category></category></item><item><title><![CDATA[ThreadLocal用法]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/52239793</link><guid>https://blog.youkuaiyun.com/smillest/article/details/52239793</guid><author>smillest</author><pubDate>Thu, 18 Aug 2016 12:20:19 +0800</pubDate><description><![CDATA[首先，ThreadLocal 不是用来解决共享对象的多线程访问问题的，一般情况下，通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象，其他线程是不需要访问的，也访问不到的。各个线程中访问的是不同的对象。 

另外，说ThreadLocal使得各线程能够保持各自独立的一个对象，并不是通过ThreadLocal.set()来实现的，而是通过每个线程中的new 对象 的操作]]></description><category></category></item><item><title><![CDATA[存取之美 —— HashMap原理、源码、实践]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/52230427</link><guid>https://blog.youkuaiyun.com/smillest/article/details/52230427</guid><author>smillest</author><pubDate>Wed, 17 Aug 2016 14:10:13 +0800</pubDate><description><![CDATA[HashMap是一种十分常用的数据结构，作为一个应用开发人员，对其原理、实现的加深理解有助于更高效地进行数据存取。本文所用的jdk版本为1.5。 

使用HashMap 

《Effective JAVA》中认为，99%的情况下，当你覆盖了equals方法后，请务必覆盖hashCode方法。默认情况下，这两者会采用Object的“原生”实现方式，即： 




Java代码]]></description><category></category></item><item><title><![CDATA[Java对象的强、软、弱和虚引用原理+结合ReferenceQueue对象构造Java对象的高速缓存器]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/52230261</link><guid>https://blog.youkuaiyun.com/smillest/article/details/52230261</guid><author>smillest</author><pubDate>Wed, 17 Aug 2016 13:51:34 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/lyfi01/article/details/6415726







1．Java对象的强、软、弱和虚引用

在JDK 1.2以前的版本中，若一个对象不被任何变量引用，那么程序就无法再使用这个对象。也就是说，只有对象处于可触及（reachable）状态，程序才能使用它。这 就像在日常生活中，从商店购买了某样物品后，如果有用，]]></description><category></category></item><item><title><![CDATA[python映射关系]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/46930987</link><guid>https://blog.youkuaiyun.com/smillest/article/details/46930987</guid><author>smillest</author><pubDate>Fri, 17 Jul 2015 18:13:23 +0800</pubDate><description><![CDATA[有关系A和B的文件，其中A-->B，B有可能也是A的成员，寻找一个tree，如果B已经到达最顶层，那么A-->B为正确的映射关系，如果出现循环则记录这些错误，和key的最终指向

#-*-coding:UTF-8-*-
#!/usr/bin/env python
__author__ = 'chao.zhang.sh'
import threading
class Mapping():
   ]]></description><category></category></item><item><title><![CDATA[python写的一个邮件收发工具]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/46756167</link><guid>https://blog.youkuaiyun.com/smillest/article/details/46756167</guid><author>smillest</author><pubDate>Sat, 04 Jul 2015 16:50:06 +0800</pubDate><description><![CDATA[import smtplib
import mimetypes
import os
from email import encoders
from email.header import Header
from email.message import Message
from email.mime.audio import MIMEAudio
from email.mime.base impor]]></description><category></category></item><item><title><![CDATA[python视频学习资料]]></title><link>https://blog.youkuaiyun.com/smillest/article/details/41312597</link><guid>https://blog.youkuaiyun.com/smillest/article/details/41312597</guid><author>smillest</author><pubDate>Thu, 20 Nov 2014 14:29:04 +0800</pubDate><description><![CDATA[python3英文视频教程(全87集) http://pan.baidu.com/s/1dDnGBvV 
python从入门到精通视频（全60集）链接：http://pan.baidu.com/s/1eQw2dd4 密码：9bdl 
python学习手册视频教程(全44集) http://pan.baidu.com/s/1o64tpf8 
零基础入门学习Python(全42集) 链接：htt]]></description><category></category></item></channel></rss>