<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_42042621的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_42042621</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_42042621]]></copyright><item><title><![CDATA[springboot接入flowable]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/131761650</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/131761650</guid><author>qq_42042621</author><pubDate>Mon, 17 Jul 2023 10:54:47 +0800</pubDate><description><![CDATA[当执行流程时，引擎会保存许多数据（可配置），例如流程实例启动时间、谁在执行哪个任务、完成任务花费的事件、每个流程实例的执行路径，等等。两个都是基于bpmn的工作流框架，区别是先有的acivity，然后开发团队独立出来基于activity开发的flowable，相对来说扩展性更好，开箱即用。流程变量是流程实例中的数据，可以在流程的许多地方使用（例如排他网关经常使用流程变量判断流程下一步要走的路径）。:用于启动流程定义的新流程实例。模板部署后，可以根据模板来启动实例，一个模板启动多个实例，各实例间互不影响。]]></description><category></category></item><item><title><![CDATA[mysql执行计划各个字段的含义，如果用到的key是possible中的慢key怎么处理？]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130715141</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130715141</guid><author>qq_42042621</author><pubDate>Tue, 16 May 2023 22:06:45 +0800</pubDate><description><![CDATA[key_len的长度由字段定义计算而来，并非数据的实际长度。查询中如果使用了覆盖索引，则该索引仅出现在key列表中。查询列所涉及的列上的索引都会被列出来，但不一定会被使用。表示msql通过索引的统计信息，估算的所需读取的行数。rows值的大小时个统计抽样的结果，并不十分的准确。实际使用的索引，如果为NULL，则没有使用索引。表示返回的结果的行数占需要读取行数的百分比。表示那些列或常量被用于查找索引列上的值。Filtered列的值依赖的说统计信息。常用的比如id 越大越先执行。表示索引字段的最大的可能长度。]]></description><category></category></item><item><title><![CDATA[项目中如何处理高并发的]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130714907</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130714907</guid><author>qq_42042621</author><pubDate>Tue, 16 May 2023 21:53:11 +0800</pubDate><description><![CDATA[进入系统之后涉及到限流的相关，可以针对不同应用的维度进行并发的管控。数据库层面的话实际上就是分库，分表。增加数据库的主从配置。不管是硬件的f5或者软件的ngix都是比较成熟的解决方案。针对读多写少的场景可以使用redis集群增加吞吐量。写多读少的可以使用mq进行解耦。]]></description><category></category></item><item><title><![CDATA[193.缓冲池的管理]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130714891</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130714891</guid><author>qq_42042621</author><pubDate>Tue, 16 May 2023 21:51:41 +0800</pubDate><description><![CDATA[其实对缓冲池进行管理的关键部分是如何安排进池的数据并且按照一定的策略淘汰池中的数据，保证池中的数据不“溢出”，同时还能保证常用数据留在池子中。列表前端，而最少使用页在LRU列表后端。当缓冲池不能存放新读取到的页时，将首先释放LRU列表中末端的页。，最近最少使用）算法来进行管理的。但会带来的问题包括预读失效 缓冲池污染等。通常来说，缓冲池是通过。]]></description><category></category></item><item><title><![CDATA[预读失效预读失效]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130714832</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130714832</guid><author>qq_42042621</author><pubDate>Tue, 16 May 2023 21:48:46 +0800</pubDate><description><![CDATA[假如加载了 20、21 相邻的两个数据页，如果只有页号为 20 的缓存页被访问了，而另一个缓存页却没有被访问。此时两个缓存页都在链表的头部，但是为了加载这两个缓存页却淘汰了末尾的缓存页，而被淘汰的缓存页却是经常被访问的。这种情况就是预读失效，被预先加载进缓冲池的页，并没有被访问到，这种情况是不是很不合理。还有一种情况是当执行一条 SQL 语句时，如果扫描了大量数据或是进行了全表扫描，此时缓冲池中就会加载大量的数据页，从而将缓冲池中已存在的所有页替换出去，这种情况同样是不合理的。]]></description><category></category></item><item><title><![CDATA[mysql的预读机制]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130693424</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130693424</guid><author>qq_42042621</author><pubDate>Mon, 15 May 2023 21:39:01 +0800</pubDate><description><![CDATA[磁盘读写的时，是按照页的方式来读取的（你可以理解为固定大小的数据，例如一页数据为 16K），每次至少读入一页的数据，如果下次读取的数据就在页中，就不用再去磁盘上读取了，从而减少了磁盘 I/O，比如可能会提前缓存接下来可能会用到的相邻的数据页，这里涉及两种预读算法来提高IO性能：线性预读（linear read-ahead）和随机预读（randomread-ahead）。为了区分这两种预读的方式，我们可以把线性预读放到以extent为单位，而随机预读放到以extent中的page为单位。]]></description><category></category></item><item><title><![CDATA[mysql的缓存机制 bufferpool]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130693395</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130693395</guid><author>qq_42042621</author><pubDate>Mon, 15 May 2023 21:36:45 +0800</pubDate><description><![CDATA[简单来说缓冲池就是一块内存区域，它存在的原因之一是为了避免每次都去访问磁盘，把最常访问的数据放在缓存里，提高数据的访问速度。在数据库当中读取页的操作，首先将从磁盘读到的页存放在缓存池中。下一次再读相同的页时，首先判断该页是不是在缓冲池中。否则，读取磁盘上的页。我们知道，内存的读写速度远比磁盘IO读写速度要快，而MYSQL的数据及索引都存储在具有B+树结构的文件磁盘上，所以为了有效提高MySQL的读写速度，会把最常访问的数据放在缓存(cache)里，避免每次都去访问数据库，这里我们引入了缓冲池的概念。]]></description><category></category></item><item><title><![CDATA[hashmap是无序的]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130693371</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130693371</guid><author>qq_42042621</author><pubDate>Mon, 15 May 2023 21:35:32 +0800</pubDate><description><![CDATA[如果想要有序的hashmap就要使用linkedhashmap或者使用treemap中的比较器来自定义排序。]]></description><category></category></item><item><title><![CDATA[.字节流和字符流的区别]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130693386</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130693386</guid><author>qq_42042621</author><pubDate>Mon, 15 May 2023 21:35:17 +0800</pubDate><description><![CDATA[FileWriter FileReader 一个字符等于2个字节。可以传输音频，视频，图片，文本等，传输数据的基本单位为字节。1、字节流 ：字节读写，  字节流(ASCII)处理二进制文件。2、字符流：快读写 ，字符流(Unicode)处理文本文件。只能传输纯文本， 传输数据的基本单位为字符。]]></description><category></category></item><item><title><![CDATA[Mysql查询text中的数据是否包含某个字的方法]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130693355</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130693355</guid><author>qq_42042621</author><pubDate>Mon, 15 May 2023 21:33:28 +0800</pubDate><description><![CDATA[2.使用全文索引 match against ，需要简历索引时使用with ngrm，instr可以替代like 效率更高。]]></description><category></category></item><item><title><![CDATA[Mysql查询大量数据 比如100万数据 如何一次性查出来]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130693331</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130693331</guid><author>qq_42042621</author><pubDate>Mon, 15 May 2023 21:33:08 +0800</pubDate><description><![CDATA[isOpen()：用于在取数据之前判断Cursor对象是否是打开状态只有当打开时Cursor才能取数据；使用流式查询，则要保持对产生结果集的语句所引用的表的并发访问，因为其 查询会独占连接，所以必须尽快处理。首先是进行分页查询，但是如果有些情况不适合分页查询 则可以使用mybatis框架提供的流式接口查询。、 getCurrentIndex()：返回已经获取了多少条数据；、 isConsumed()：用于判断查询结果是否全部取完；、 Cursor是可关闭的；、 Cursor是可遍历的；]]></description><category></category></item><item><title><![CDATA[ioc容器初始化过程 源码层面]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130693281</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130693281</guid><author>qq_42042621</author><pubDate>Mon, 15 May 2023 21:30:39 +0800</pubDate><description><![CDATA[实际上BeanDefinition就是POJO对象在容器的抽象，通过BeanDefinition来定义的数据结构，像是世间万物在java中的抽象，java的对象又在容器中的抽象就是BeanDefinition。Resource定位指beanDefinition的资源定位，由ResourceLoader通过统一的Resource接口来完成，这个Resource对各种形式的BeanDefinition的使用都提供了统一的接口。这个过程类似于容器寻找数据的过程。相当于这是注册的过程 registry方法。]]></description><category></category></item><item><title><![CDATA[单例bean为什么是线程安全的]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130693296</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130693296</guid><author>qq_42042621</author><pubDate>Mon, 15 May 2023 21:30:35 +0800</pubDate><description><![CDATA[有状态 的bean就是多个线程对其中某个状态值修改的情况下的话，那么就是线程不安全的。无状态的bean，则是线程安全的。准确来说并不是线程安全的。]]></description><category></category></item><item><title><![CDATA[频繁装箱拆箱的问题]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130693233</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130693233</guid><author>qq_42042621</author><pubDate>Mon, 15 May 2023 21:28:26 +0800</pubDate><description><![CDATA[一个就是对于堆的操作效率比较低;另一个就是对于堆上分配的内存资源，需要GC来回收，从而降低程序效率。]]></description><category></category></item><item><title><![CDATA[mysql的缓存机制]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130693248</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130693248</guid><author>qq_42042621</author><pubDate>Mon, 15 May 2023 21:28:18 +0800</pubDate><description><![CDATA[Mysql判断缓存命中的方法很简单：缓存存放在一个引用表中，通过一个哈希值引用，这个哈希值包括如下因素，即查询本身、当前要查询的数据库、客户端协议的版本等一些都有可能影响返回结果信息。在事务提交前该表的查询都无法被缓存，只能在事务提交后才能被缓存。查询缓存系统会跟踪查询中涉及的每个表，如果这些表发生变化，那么和这个表相关的所有数据都将失效。的查询缓存在很多时候可以提升查询性能，在使用的时候，有一些问题需要特别注意。若发现查询缓存中没有这个查询，会将其结果存入查询缓存，这会带来额外的系统开销。]]></description><category></category></item><item><title><![CDATA[http和https的区别]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130666447</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130666447</guid><author>qq_42042621</author><pubDate>Sun, 14 May 2023 10:54:50 +0800</pubDate><description><![CDATA[SSL 协议可分为两层：SSL 记录协议（SSL Record Protocol），它建立在可靠的传输协议（如TCP）之上，为高层协议提供数据封装、压缩、加密等基本功能的支持。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议，比 HTTP 协议安全。3、HTTP 和 HTTPS 使用的是完全不同的连接方式，用的端口也不一样，前者是80，后者是443。2、HTTP 是超文本传输协议，信息是明文传输，HTTPS 则是具有安全性的 SSL 加密传输协议。]]></description><category></category></item><item><title><![CDATA[线程池的核心线程数是怎么确定的]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130666335</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130666335</guid><author>qq_42042621</author><pubDate>Sun, 14 May 2023 10:46:22 +0800</pubDate><description><![CDATA[和cpu核数有关 一版不会设置过大。可以分为计算密集型和io密集型。计算密集型就是cpu核数+1。Io密集型就是cpu核数*2。]]></description><category></category></item><item><title><![CDATA[栈和本地方法栈的区别]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130666267</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130666267</guid><author>qq_42042621</author><pubDate>Sun, 14 May 2023 10:39:55 +0800</pubDate><description><![CDATA[本地方法栈执行的是native方法。Java 正常执行就是依赖栈。]]></description><category></category></item><item><title><![CDATA[finalizefinalize]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130666261</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130666261</guid><author>qq_42042621</author><pubDate>Sun, 14 May 2023 10:38:22 +0800</pubDate><description><![CDATA[假定你的对象（并非使用new方法）获得了一块“特殊”的内存区域，由于垃圾回收器只知道那些显示地经由new分配的内存空间，所以它不知道该如何释放这块“特殊”的内存区域，那么这个时候Java允许在类中定义一个finalize()方法。但在没有明确释放资源的情况下，Java提供了缺省机制来终止该对象以释放资源，这个方法就是finalize（）。一旦垃圾回收器准备好释放对象占用的存储空间，首先会去调用finalize()方法进行一些必要的清理工作。在finalize()方法返回之后，对象消失，垃圾收集开始执行。]]></description><category></category></item><item><title><![CDATA[string不可变的原因]]></title><link>https://blog.youkuaiyun.com/qq_42042621/article/details/130666171</link><guid>https://blog.youkuaiyun.com/qq_42042621/article/details/130666171</guid><author>qq_42042621</author><pubDate>Sun, 14 May 2023 10:30:53 +0800</pubDate><description><![CDATA[2.用来缓存hashcode，因为string的hashcode方法经常被调用，但因为string不变，所以hashcode也不会变，所以可以放心进行缓存。3.为了安全性，就是有很多地方都是用string 比如url等 作为参数，如果可以变动那么会有不安全的风险。]]></description><category></category></item></channel></rss>