<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TT_Xmini的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/TT_Xmini</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; TT_Xmini]]></copyright><item><title><![CDATA[java中的异常处理]]></title><link>https://blog.youkuaiyun.com/TT_Xmini/article/details/111037737</link><guid>https://blog.youkuaiyun.com/TT_Xmini/article/details/111037737</guid><author>TT_Xmini</author><pubDate>Fri, 11 Dec 2020 15:44:11 +0800</pubDate><description><![CDATA[目前仅知道有抛出异常throws和捕获异常try…catch，仍有很多不明白的地方，，如：所谓异常是必定会发生的，还是可能会发生的，当真正发生了，就进行处理，并且不中断程序？

]]></description><category></category></item><item><title><![CDATA[java中的缓冲流]]></title><link>https://blog.youkuaiyun.com/TT_Xmini/article/details/111032305</link><guid>https://blog.youkuaiyun.com/TT_Xmini/article/details/111032305</guid><author>TT_Xmini</author><pubDate>Fri, 11 Dec 2020 11:39:26 +0800</pubDate><description><![CDATA[在java中，文件流时计算机针对硬盘进行读写操作，而缓冲流是在内存中创建了一个缓冲区，流先进入缓冲区，再由CPU处理。因此缓冲流相当于文件流用一个数组接收。由此也可知，flush()操作只有在缓冲流才真正起到了作用，对于文件流实质上并没有做任何事。
参考: 揭开Java IO流中的flush()的神秘面纱.

...]]></description><category></category></item><item><title><![CDATA[InputStream.read([byte[])详解]]></title><link>https://blog.youkuaiyun.com/TT_Xmini/article/details/110957498</link><guid>https://blog.youkuaiyun.com/TT_Xmini/article/details/110957498</guid><author>TT_Xmini</author><pubDate>Thu, 10 Dec 2020 17:33:48 +0800</pubDate><description><![CDATA[InputStream.read([byte[])每次读取byte[]数组大小的字节量，返回实质读取文件中的字节的长度，当读取字节流无任何文件内容后，返回值为-1。
// 字节流对象读取文件内容
InputStream in = new InputStram(inPath);
byte[] b = byte[10];
int len = 0;
while((len = in.read(b)) != -1) 
/*read每次读取10个字节，返回读取长度，当读取不满10个字节时，
返回实际读取字节数；当实际读]]></description><category></category></item><item><title><![CDATA[四元数实现轨迹球]]></title><link>https://blog.youkuaiyun.com/TT_Xmini/article/details/109525350</link><guid>https://blog.youkuaiyun.com/TT_Xmini/article/details/109525350</guid><author>TT_Xmini</author><pubDate>Fri, 06 Nov 2020 10:41:39 +0800</pubDate><description><![CDATA[轨迹球
将平面xy上的鼠标对应坐标转换为半径为r,球心为原点的球面上的一点，其中z的坐标可以用圆的公式计算：
z * z = r  *r - x * x - y * y;
步骤：
1、把按下鼠标和拖动鼠标的坐标记为Q1，Q2，x和y分别按视口大小缩放到 [-1 , 1]
vec . x = 2.0 * x / width - 1.0; 
//屏幕的y轴向下，opengl的y轴向上
vec . y = 1.0 - 2.0 * y / height;
2、由于视口转换为1x1的正方形，所以仍有点不在球上。对于点]]></description><category></category></item><item><title><![CDATA[java中equals()和hashcode()]]></title><link>https://blog.youkuaiyun.com/TT_Xmini/article/details/109448054</link><guid>https://blog.youkuaiyun.com/TT_Xmini/article/details/109448054</guid><author>TT_Xmini</author><pubDate>Mon, 02 Nov 2020 14:14:11 +0800</pubDate><description><![CDATA[equals() 和 hashcode() 是java.lang.Object类中两个非常重要的方法。
equals()
equals() 比较对象的栈内引用是否相等，但在String、Math、Integer、Double类里，equals() 方法被重写，改为比较堆内对象的内容。一般情况下，equals()被改写，hashcode()相应的也要被改写。
hashCode()
由Object类定义的hashCode()方法对于不同的对象返回不同的integer。一般来说，相等（相同）的对象必须具有相等的哈]]></description><category></category></item></channel></rss>