<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[trxcsdn2的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/trxcsdn2</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; trxcsdn2]]></copyright><item><title><![CDATA[BIO、NIO和AIO区别]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/106689422</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/106689422</guid><author>trxcsdn2</author><pubDate>Thu, 11 Jun 2020 15:11:12 +0800</pubDate><description><![CDATA[计算机中常见的io模型主要分为BIO、NIO和AIO。
操作系统的io操作包括读写文件，socket操作等cpu分为内核态和用户态，出于安全考虑，所有的用户的应用程序都工作在用户态，系统调用工作在内核态，例如当应用程序需要进行读文件操作时候，由应用程序向操作系统发起系统调用，由操作系统从io设备将数据读到内核态然后将数据从内核态拷贝到用户态(例如缓冲区)，应用程序拿数据完成文件的读取。这是个通用的过程，根据具体执行过程的不同可以分为BIO,NIO和AIO。
阻塞指的是进程状态为”wait”状态，CPU不会给]]></description><category></category></item><item><title><![CDATA[rabbitMQ和redis区别]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/103746551</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/103746551</guid><author>trxcsdn2</author><pubDate>Sat, 28 Dec 2019 17:09:32 +0800</pubDate><description><![CDATA[消息队列是一种应用间的通信方式，消息发送后可以立即返回，有消息系统来确保消息的可靠传递。消息发布者只管把消息发布到MQ中而不用管谁来取，消息使用者只管从MQ中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。
Redis
Redis就是一个内存数据库，具有丰富的数据类型，当然也支持队列queue，redis支持数据持久化，主从集群。
Redis支持数据的持久化，可以将内存中的数据保存...]]></description><category></category></item><item><title><![CDATA[http、https、tcp/ip、socket]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/103086148</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/103086148</guid><author>trxcsdn2</author><pubDate>Fri, 15 Nov 2019 15:28:40 +0800</pubDate><description><![CDATA[socket连接和http连接的区别
HTTP协议：简单对象访问协议，对应于应用层，HTTP协议是基于TCP连接的
tcp协议：对应于传输层
ip协议：对应于网络层
TCP/IP是传输层协议，主要解决数据如何在网络中传输；而HTTP是应用层协议，主要解决如何包装数据。
socket是对TCP/IP协议的封装，Socket本身并不是协议，而是一个调用接口（API），通过Socket，我们才能使用TC...]]></description><category></category></item><item><title><![CDATA[html5、html、xhtml]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/103086111</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/103086111</guid><author>trxcsdn2</author><pubDate>Fri, 15 Nov 2019 15:22:22 +0800</pubDate><description><![CDATA[html5是构建web内容的一种语言描述方式。html5是互联网的下一代标准，是构建以及呈现互联网内容的一种语言方式，被认为是互联网的核心技术之一。html产生于1990年，1997年html4成
为互联网标准，并广泛应用于互联网应用的开发。
html5是web中核心语言html的规范，用户使用任何手段进行网页浏览时看到的内容原本都是html格式的，在浏览器中通过一些技术处理将其转换成为了可识别的...]]></description><category></category></item><item><title><![CDATA[Dubbo、Spring Cloud、Spring Boot]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/103027935</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/103027935</guid><author>trxcsdn2</author><pubDate>Tue, 12 Nov 2019 14:19:09 +0800</pubDate><description><![CDATA[Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架，使得应用可通过高性能的 RPC（是远程过程调用（Remote Procedure Call）的缩写形式） 实现服务的输出和输入功能，可以和Spring框架无缝集成。
Dubbo是一款高性能、轻量级的开源Java RPC框架，它提供了三大核心能力：面向接口的远程方法调用，智能容错和负载均衡，以及服务自动注册和发现。
主要核心部件编辑
Remot...]]></description><category></category></item><item><title><![CDATA[链表和数组的区别]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/102930494</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/102930494</guid><author>trxcsdn2</author><pubDate>Wed, 06 Nov 2019 10:39:08 +0800</pubDate><description><![CDATA[区别一：物理地址存储的连续性
数组的元素在内存中是连续存放的。
链表的元素在内存中不一定是连续存放的，通常是不连续的。
区别二：访问速度
数组的访问速度很快，因为数组可以根据数组可以根据下标进行快速定位。
链表的访问速度较慢，因为链表访问元素需要移动指针。
区别三：添加、删减元素速度
数组的元素增删速度较慢，因为需要移动大量的元素。
链表的元素增删速度较快，因为只需要修改指针即可。

...]]></description><category></category></item><item><title><![CDATA[OSGI]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/102785548</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/102785548</guid><author>trxcsdn2</author><pubDate>Mon, 28 Oct 2019 17:49:16 +0800</pubDate><description><![CDATA[在Java中，是没有模块的概念的。我们不能把一些代码组成一个模块，然后控制那些是可以外部使用的，那些是内部使用的。我们能用的主要有两个办法，一个是把一些内部使用的

类赋予包内访问权限，但是这样在内部使用上会很方便，因为使用这个类的类和这个类本身要在同一个包下；另外一个办法是通过文档告知它是内部类，不能再外部使用，但是这种
限制很容易被忽略。而内部类被外部使用的后果是，不能轻易调整接口，因为...]]></description><category></category></item><item><title><![CDATA[窗口函数之CUME_DIST和PERCENT_RANK区别]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/91972821</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/91972821</guid><author>trxcsdn2</author><pubDate>Fri, 14 Jun 2019 14:32:58 +0800</pubDate><description><![CDATA[over partition by与group by的区别：
group by是对检索结果的保留行进行单纯分组，一般和聚合函数一起使用例如max、min、sum、avg、count等一块用。partition by虽然也具有分组功能，但同时也具有其他的高级功能。

CUME_DIST 小于等于当前值的行数/分组内总行数
create table windows_dept

(
deptno str...]]></description><category></category></item><item><title><![CDATA[TRUNC]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/91972587</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/91972587</guid><author>trxcsdn2</author><pubDate>Fri, 14 Jun 2019 14:30:24 +0800</pubDate><description><![CDATA[ORACLE中TRUNC是截取的函数
用在日期类型上，就是截取到日或时间
SELECT TRUNC(SYSDATE) FROM DUAL;
默认是截取系统日期到日，得到2012-12-19
比如值为"2012-12-19 14:30:50"的日期变量
TRUNC(SYSDATE)得到 2012-12-19 , 和TRUNC(SYSDATE,‘DD’)一样
TRUNC(SYSDATE,‘YYYY’)...]]></description><category></category></item><item><title><![CDATA[Oracle中merge into]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/91553724</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/91553724</guid><author>trxcsdn2</author><pubDate>Wed, 12 Jun 2019 16:22:41 +0800</pubDate><description><![CDATA[我们操作数据库的时候，有时候会遇到insertOrUpdate这种需求。
如果数据库中存在数据就update，如果不存在就insert。
以前的时候，需要额外select查询一下，如果有数据就update，如果没有数据就insert。
而现在Orcale数据库都提供了 MERGE 方法来处理这种需求。
MERGE 命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据。
MERGE 语法：...]]></description><category></category></item><item><title><![CDATA[case表达式]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/91492262</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/91492262</guid><author>trxcsdn2</author><pubDate>Wed, 12 Jun 2019 11:20:46 +0800</pubDate><description><![CDATA[查找型case表达式
CASE
WHEN C1 THEN E1
WHEN C2 THEN E2
…
WHEN CN THEN EN
[ELSE ED]
END
在上面的定义中，符号C1、C2、…、CN代表条件，E1、E2、…、EN代表case表达式返回的表达式。如果when子句中条件为
真，那么case表达式返回相应的表达式。另外，符号ED代表默认表达式，也就是case表达式在条件C1、C2、…C...]]></description><category></category></item><item><title><![CDATA[SQL内连接与外连接的区别]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/91414746</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/91414746</guid><author>trxcsdn2</author><pubDate>Tue, 11 Jun 2019 10:37:56 +0800</pubDate><description><![CDATA[–表stu
id name
1, Jack
2, Tom
3, Kity
4, nono
–表exam
id grade
1, 56
2, 76
11, 89
内连接 （显示两表id匹配的）
select stu.id,exam.id,stu.name, exam.grade from stu inner join exam on stu.id=exam.id
stu.id

1 1 Jack 5...]]></description><category></category></item><item><title><![CDATA[maven安装配置]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/91039746</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/91039746</guid><author>trxcsdn2</author><pubDate>Thu, 06 Jun 2019 10:16:05 +0800</pubDate><description><![CDATA[1、【检查】确认已经安装jdk，已经环境变量中配置JAVA_HOME，已经修改Path、
2、【下载】从http://maven.apache.org/download.cgi下载所需要的版本，笔者使用的是3.0.4版本。下载apache-maven-
3.0.4-bin.zip文件。如果需要更高级版本，则下载相应的bin.zip文件。
3、解压】解压maven到某一指定目录，例如：D:\env。...]]></description><category></category></item><item><title><![CDATA[maven]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/90906096</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/90906096</guid><author>trxcsdn2</author><pubDate>Wed, 05 Jun 2019 17:30:07 +0800</pubDate><description><![CDATA[一、maven是什么
Maven是基于项目对象模型(POM project object model)，可以通过一小段描述信息（配置）来管理项目的构建，报告和文档的软件项目管理工具
Maven的核心功能便是合理叙述项目间的依赖关系，通俗点讲，就是通过pom.xml文件的配置获取jar包，而不用手动去添加jar包，而这里pom.xml文件对于学了一点maven的人来说，就有些熟悉了，怎么通过pom....]]></description><category></category></item><item><title><![CDATA[jvm]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/90764691</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/90764691</guid><author>trxcsdn2</author><pubDate>Tue, 04 Jun 2019 10:44:07 +0800</pubDate><description><![CDATA[JVM是一种用于计算机设备的规范它是一个虚构出来的计算机，是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
几乎所有的Java类型检查都是在编译时完成的。
规格
JVM的设计目标是提供一个基于抽象规格描述的计算机模型，为解释程序开发人员提供很好的灵活性，同时也确保Java代码可
在符合该规范的任何系统上运行。JVM对其实现的某些方面给出了具体的定义，特别是对Java可执行代码，即字节码的格式...]]></description><category></category></item><item><title><![CDATA[java内存区域与内存溢出异常]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/90550563</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/90550563</guid><author>trxcsdn2</author><pubDate>Sat, 25 May 2019 19:27:34 +0800</pubDate><description><![CDATA[运行时数据区域
java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途吗，以及创建和销毁时间，有的区域随着虚
拟机进程的启动而存在，有些区域是依赖用户线程的启动和结束而建立和销毁。
运行时数据区
方法区、虚拟机栈、本地方法栈、堆、程序计数器
程序计数器是一块较小的内存空间，它的作用可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型...]]></description><category></category></item><item><title><![CDATA[虚拟机性能监控与故障处理工具]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/90510766</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/90510766</guid><author>trxcsdn2</author><pubDate>Fri, 24 May 2019 09:33:30 +0800</pubDate><description><![CDATA[Sun JDK监控和故障处理工具
jps JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程
jstat 用于收集HotSpot虚拟机各方面的运行数据
jinfo 显示虚拟机配置信息
jmap 生成虚拟机的内存转储快照
jhat 用于分析heapdump文件，它会建立一个HTTP/HTML服务器，让用户可以在浏览器上查看分析结果
jstack 显示虚拟机的...]]></description><category></category></item><item><title><![CDATA[java内存模型与线程]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/90345594</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/90345594</guid><author>trxcsdn2</author><pubDate>Sun, 19 May 2019 18:26:02 +0800</pubDate><description><![CDATA[java内存模型
基于高速缓存的存储交互很好解决了处理器与内存的速度矛盾，但是也引入了新的问题：缓存一致性。在多处理器系统中，每个处理器都有自己的高速缓存，
而它们又共享同一主内存，当多个处理器的运算任务都涉及同一块主内存区域时，将可能导致各自的缓存数据不一致的情况，如果真的发生这种情况，那同步
回到主内存时以谁的缓存数据为准呢？为了解决一致性问题，需要各个处理器访问缓存时都遵循一些协议，在读写时...]]></description><category></category></item><item><title><![CDATA[Lock与synchronized是不一样的]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/90263280</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/90263280</guid><author>trxcsdn2</author><pubDate>Thu, 16 May 2019 14:37:02 +0800</pubDate><description><![CDATA[很多编码者都会说，Lock类和synchronized关键字用在代码块的并发性和内存上时语义是一样的，都是保持代码块同时只有
一个线程具有执行权。这样的说法只对了一半，我们以一个任务提交给多个线程运行为例，来看看使用显示锁（Lock类）和
内部锁（synchronized关键字）有什么不同。首先定义一个任务：
import java.util.Calendar;
public class Task...]]></description><category></category></item><item><title><![CDATA[String、StringBuffer、StringBuilder区别]]></title><link>https://blog.youkuaiyun.com/trxcsdn2/article/details/90202578</link><guid>https://blog.youkuaiyun.com/trxcsdn2/article/details/90202578</guid><author>trxcsdn2</author><pubDate>Tue, 14 May 2019 11:14:46 +0800</pubDate><description><![CDATA[CharSequence接口有三个实现类与字符串有关：String、StringBuffer、StringBuilder,虽然它们都与字符串有关，但是处
理机制是不同的。
String类是不可改变的量，也就是创建后就不能再修改了，比如创建一个“abc”这样的字符串对象，那么它在内存中永远都
会是“abc”这样具有固定表面值得一个对象，不能被修改，即使想通过String提供的方法来尝试修改，也是要么...]]></description><category></category></item></channel></rss>