<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sty_dawang的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sty_dawang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sty_dawang]]></copyright><item><title><![CDATA[JVM总结]]></title><link>https://blog.youkuaiyun.com/sty_dawang/article/details/106951017</link><guid>https://blog.youkuaiyun.com/sty_dawang/article/details/106951017</guid><author>sty_dawang</author><pubDate>Wed, 24 Jun 2020 21:08:13 +0800</pubDate><description><![CDATA[JVM总结
运行时数据区

线程共享：

方法区(Method Area)：用于存放已被虚拟机加载的类型信息、常量、静态常量、即时编译器编译后的代码缓存等数据。

运行时常量池(Runtime Constant Pool)：是方法区的一部分，用于存放Class文件中的常量池表，常量池表用于存放编译器生成的各种字面量与符号引用，这部分类容将在类加载后存放到方法区的运行时常量池中。


堆(Java Heap)：Java堆在虚拟机启动时创建，用来存放Java对象实例。

线程私有：

虚拟机栈(Java Vir]]></description><category></category></item><item><title><![CDATA[LeetCode#239，滑动窗口最大值，学习单调队列使用]]></title><link>https://blog.youkuaiyun.com/sty_dawang/article/details/106689452</link><guid>https://blog.youkuaiyun.com/sty_dawang/article/details/106689452</guid><author>sty_dawang</author><pubDate>Thu, 11 Jun 2020 15:13:06 +0800</pubDate><description><![CDATA[单调队列
单调队列顾名思义就是队列中元素递增或者递减，元素入队出队时需维护队列的单调性。同单调栈一样，为了保证栈的单调性，在单调减栈中，如果遇到待入栈元素比栈顶大时，需要一直弹出栈顶元素后入栈。单调队列的情形类似，在单调递减队列中，如果遇到待入队元素比队尾大，需要一直让队尾元素出队直到队尾大于待入队元素。

LeetCode 239. 滑动窗口最大值
给定一个数组 nums，有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。（你]]></description><category></category></item><item><title><![CDATA[【详解】LeetCode#34，在排序数组中查找元素的第一个和最后一个位置，学习二分查找，告别恼人的边界问题]]></title><link>https://blog.youkuaiyun.com/sty_dawang/article/details/106622850</link><guid>https://blog.youkuaiyun.com/sty_dawang/article/details/106622850</guid><author>sty_dawang</author><pubDate>Mon, 08 Jun 2020 16:25:24 +0800</pubDate><description><![CDATA[二分查找
二分查找法的原理非常简单，而且能把查找的时间复杂度降为 O(logn)，但我之前在做二分法的时候经常因为边界问题而摸不着头脑，比如右边界我该不该取的问题、while 循环的判断条件带不带 = 的问题。当然你完全可以根据自己的定义的边界，根据自己的想法决定 while 循环里带不带等号，但需要注意最后跳出循环时左右边界情况，再做讨论。所以，二分查找题主要考察的是细节，要把细节理解清楚就需要规范且完整的思考过程，定义好 l 和 r 的含义，到底是 [l, r] 还是 [l, r)。
刷题的意义就再于形]]></description><category></category></item><item><title><![CDATA[高并发程序设计总结（一）JDK并发包]]></title><link>https://blog.youkuaiyun.com/sty_dawang/article/details/106598539</link><guid>https://blog.youkuaiyun.com/sty_dawang/article/details/106598539</guid><author>sty_dawang</author><pubDate>Sun, 07 Jun 2020 10:39:09 +0800</pubDate><description><![CDATA[JDK并发包
文章目录JDK并发包同步控制工具synchronized 关键字Object.wait() 和 Object.notify() 方法ReentrantLock（可重入锁）Condition 条件变量
首先声明：这篇文档是对《Java高并发程序设计（第一版）》（高一鸣）这本书的总结，我摘取了一些关键的点，以介绍知识点、提问和回答的方式呈现。因此这篇总结并不适合没有任何多线程和高并发知识基础的人看，我第一次学多线程和并发的时候，完全云里雾里，一是由于之前操作系统这块我没学，二是因为Java 的并发]]></description><category></category></item><item><title><![CDATA[【详解】LeetCode#560|974，子数组的和为K|被K整除的个数，学习前缀和+HashMap]]></title><link>https://blog.youkuaiyun.com/sty_dawang/article/details/106499726</link><guid>https://blog.youkuaiyun.com/sty_dawang/article/details/106499726</guid><author>sty_dawang</author><pubDate>Tue, 02 Jun 2020 16:48:49 +0800</pubDate><description><![CDATA[前缀和
定义
前缀和：一个数组的某项下标之前(包括此项元素)的所有数组元素的和。
根据定义有：
sum[i] = sum[i-1] + a[i]

可以以 O(1) 的时间求出区间 [i, j] 的区间和为
sum[i, j] = sum[i] - sum[j - 1]

一般前缀和配合 HashMap 使用，以空间换时间，将时间复杂度降到 O(n)
LeetCode 560

560.和为K的子数组（前缀和算法）。
给定一个整数数组和一个整数 k，你需要找到该数组中和为 k 的连续的子数组的个数。

示例]]></description><category></category></item><item><title><![CDATA[【详解】LeetCode#84.柱状图的最大矩形面积，学习单调栈使用]]></title><link>https://blog.youkuaiyun.com/sty_dawang/article/details/106456563</link><guid>https://blog.youkuaiyun.com/sty_dawang/article/details/106456563</guid><author>sty_dawang</author><pubDate>Sun, 31 May 2020 16:02:10 +0800</pubDate><description><![CDATA[单调栈

单调递增栈：栈底到栈顶元素依次递增
单调递减栈：栈底到栈顶元素依次递减

用于解决：可以找到从左/右遍历第一个比它小/大的元素的位置

例题1：找到每一个数右边第一个比它大的数（单调递增栈）
[10, 5, 8, 12, 6]

栈顶 [10] 栈底
栈顶 [5, 10] 栈底
栈顶 [8, 5, 10] 栈底 ( 8 把 5 删了，所以 8 就是 5 的右边第一个比 5 大的元素)
栈顶 [12, 8, 10] 栈底 ( 12 把 8 删了，1 进来把栈顶元素删了，谁就是比出栈元素右边大的第一个]]></description><category></category></item><item><title><![CDATA[LabVIEW使用心得和常见错误及解决方法]]></title><link>https://blog.youkuaiyun.com/sty_dawang/article/details/77334763</link><guid>https://blog.youkuaiyun.com/sty_dawang/article/details/77334763</guid><author>sty_dawang</author><pubDate>Thu, 17 Aug 2017 16:27:06 +0800</pubDate><description><![CDATA[LabVIEW使用心得和常见错误及解决方法LabVIEW使用心得和常见错误及解决方法
常见错误及解决方法
学习心得常见错误及解决方法Q1:一开始拿到题目，一无所知，对于系统的每一个部分，我们都不了解，不知如何下手。
这是我们组面对的最首要问题，往往这个问题是大多数人在学习一项新知识时必有的困惑，而解决问题的方法却是我们必要掌握的，要经历锻炼的。通常我会浏览官方论坛，查看NI工程师及其他人的技术文档，]]></description><category></category></item></channel></rss>