<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Hello Turing-Tang]]></title><description><![CDATA[吾日三省吾身，以求本心昭昭！]]></description><link>https://blog.youkuaiyun.com/u014646004</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u014646004]]></copyright><item><title><![CDATA[牛客刷题0126]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/113197612</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/113197612</guid><author>u014646004</author><pubDate>Tue, 26 Jan 2021 21:50:03 +0800</pubDate><description><![CDATA[牛客两题
用两个栈来实现一个队列，完成队列的Push和Pop操作。 队列中的元素为int类型。
public class SolutionTest {
    //用两个栈来实现一个队列，完成队列的Push和Pop操作。 队列中的元素为int类型。
    Stack&lt;Integer&gt; stack1 = new Stack&lt;&gt;();
    Stack&lt;Integer&gt; stack2 = new Stack&lt;&gt;();
    public void push(]]></description><category></category></item><item><title><![CDATA[#java基础-线程调度之生产者消费者]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/113006191</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/113006191</guid><author>u014646004</author><pubDate>Fri, 22 Jan 2021 22:35:23 +0800</pubDate><description><![CDATA[生产者消费者问题。
生产者产生一个产品放置在仓库里，若没消费者来消费则，线程等待不再生产，当产品被消费者消费时就应该通知生产者再唤醒线程再生产内容。
所以关键因素为：
1、产品 content;
2、生产产品的方法(Product.makeValue),消费产品的方法(Customer.getTheMsg)
3、生产者在生产时阻塞其他线程，不让他们消费，完毕时再唤醒其他线程；消费者在消费时阻塞其他线程，不让他们生产，消费完毕时，唤醒消费者再继续生产。
public class SyncTest {
    ]]></description><category></category></item><item><title><![CDATA[java基础——String相关遗漏]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/99704834</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/99704834</guid><author>u014646004</author><pubDate>Sun, 18 Aug 2019 15:05:15 +0800</pubDate><description><![CDATA[public void test2(){
       String s="fefe";
        System.out.println("wahhahhhhha");
        for (int i = 0; i &lt; 3; i++) {
                s+="fefefe;";
        }
        System.out.println(s...]]></description><category></category></item><item><title><![CDATA[java基础——包装类有趣的事儿]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/99208476</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/99208476</guid><author>u014646004</author><pubDate>Sun, 11 Aug 2019 17:23:23 +0800</pubDate><description><![CDATA[java的基础类 都有自己对应的包装类




基本数据类型
包装类




byte
Byte


boolean
Boolean


short
Short


char
Char


int
Integer


long
Long


float
Float


double
Double


 public static void main(String[] args)  {

     ...]]></description><category></category></item><item><title><![CDATA[java编程思想 I/O 简单阅读]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/90272327</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/90272327</guid><author>u014646004</author><pubDate>Thu, 16 May 2019 21:15:54 +0800</pubDate><description><![CDATA[java.io.File 类 在java中不是指的一个文件，它既能够代表一个特定文件的名称，又能够代表一组文件的名称。如果代表的事一个文件集，那么可以调用list()，返回一个字符数组,这个数组可能是某个目录的名称也可以是一个文件的名称。
         File file = new File(".");
        String[] list = file.list();
       ...]]></description><category></category></item><item><title><![CDATA[带注解的excel解析工具]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/90272152</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/90272152</guid><author>u014646004</author><pubDate>Thu, 16 May 2019 21:06:24 +0800</pubDate><description><![CDATA[常用的excel 解析 解析之后只能自己再根据列顺序去调整，然后把值设置到bean中，这个用注解的方式，注解到bean上去。框架使用的事poi框架
public class ExcelUtils {
    public static List read(InputStream inputStream, int startRow) throws Exception{
        HSSFWor...]]></description><category></category></item><item><title><![CDATA[java编程思想 并发阅读（一）]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/90047415</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/90047415</guid><author>u014646004</author><pubDate>Thu, 09 May 2019 20:40:40 +0800</pubDate><description><![CDATA[基础知识概念
这是java编程思想并发一节阅读的阅读笔记。
某些编程语言被设计为可以将并发任务彼此隔离，这些语言通常被称为函数型语言。如果项目中有很多并发就应该考虑函数型语言。
并发最直接的方式是操作系统的进程。进程是运行在自己的地址空间内的自包容程序，他不会和其他进程共享某些资源，彼此间不会有过多的干涉。
Thread.yield(); 是一种建议，java线程机制的一部分，可以将CPU从一个...]]></description><category></category></item><item><title><![CDATA[排序二叉树简单源码实现]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/88805710</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/88805710</guid><author>u014646004</author><pubDate>Mon, 25 Mar 2019 20:47:36 +0800</pubDate><description><![CDATA[排序二叉树，具有中序排序永远都是排好序的特征，用来排序是再好不过了。排序二叉树左子树大于更节点 小于右子树
public class SearchTree&lt;K extends Comparable,V&gt; {

    private Node&lt;K,V&gt; root;
    /**
    整个的数据结构就是如下，K用来做比较 v标识存放的值
    
    */
   ...]]></description><category></category></item><item><title><![CDATA[java基础——树 双向链表 简单的java实现]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/88701511</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/88701511</guid><author>u014646004</author><pubDate>Wed, 20 Mar 2019 22:05:24 +0800</pubDate><description><![CDATA[双向链表是LinkedList的基础数据结构，树是准备为接下来的HashMap打下基础。就用链表的形式简单的实现了一哈 双向链表和简单的二叉树 树方面肯定是要做深度的研究，这里只是简单的标识一下
public interface Acctor&lt;T&gt; {
    void acctpor(T t);
}
public class LinkedArray&lt;T&gt; {
    pr...]]></description><category></category></item><item><title><![CDATA[java基础——深入理解LinkedList]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/88625470</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/88625470</guid><author>u014646004</author><pubDate>Sun, 17 Mar 2019 20:08:58 +0800</pubDate><description><![CDATA[LinkedList基础数据结构是一个双向链表。
 private static class Node&amp;lt;E&amp;gt; {
        E item;//存放当前节点数据
        Node&amp;lt;E&amp;gt; next;//下一个节点
        Node&amp;lt;E&amp;gt; prev;//上一个节点

        Node(Node&amp;lt;E&amp;gt; prev, E eleme...]]></description><category></category></item><item><title><![CDATA[java基础——深入理解Vector]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/88619015</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/88619015</guid><author>u014646004</author><pubDate>Sun, 17 Mar 2019 14:28:28 +0800</pubDate><description><![CDATA[深入理解Vector
vector的基础数据结构 也是数组，但是这个是线程同步的，占用资源比arrayList多。
vector应该翻译成向量更为合适，他是线程安全的arrayList但是他提供的功能比arrayList更多，但是又线程同步的，占用资源比ArrayList多。
//设置初始化长度 以及数组长度不够 扩展长度的大小（arrayList是扩展1.5倍，vector可以设置扩展好多，如果...]]></description><category></category></item><item><title><![CDATA[java基础——深入解析List ArrayList]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/88606759</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/88606759</guid><author>u014646004</author><pubDate>Sat, 16 Mar 2019 21:51:18 +0800</pubDate><description><![CDATA[之前工作太忙了，对很多基础知识的学习都停止了，一年了，一年的工作让我明白了很多东西现在打算，从新学习java，这开篇就是arrayList list。本文是以java8为基础而写的。
List 接口继承如下
public interface List&amp;lt;E&amp;gt; extends Collection&amp;lt;E&amp;gt;
public interface Collection&amp;lt;E&amp;gt; ...]]></description><category></category></item><item><title><![CDATA[java编程思想贰（多态到数组）]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/78474905</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/78474905</guid><author>u014646004</author><pubDate>Wed, 08 Nov 2017 09:28:43 +0800</pubDate><description><![CDATA[第七章 多形性（多态）这里坑你是原来看的版本实在是太老了，这里就应该是说的多态对于面向对象的程序设计语言，多态是第三种最基本的特征（前两种是数据抽象和继承）。面向对象的三个基本特征是，封装，继承，和多态。这样封装可以理解成数据的抽象，多态指的就是这里的多形性多形性从另一个角度将接口从具体的实施细节中分离出来，亦即实现了‘是什么’与‘怎么做’两个模块的分离。这里这句话支出接口的作用那就是说明 ‘是什么]]></description><category></category></item><item><title><![CDATA[java编程思想一到六章学习]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/78228976</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/78228976</guid><author>u014646004</author><pubDate>Fri, 13 Oct 2017 17:56:39 +0800</pubDate><description><![CDATA[想写出更加优美的代码，所以打算花时间学习《think in java》以及编程模式等基础知识。对象以及面向对象编程所有的编程语言的最终目的都是提供一种抽象方法。Light lt = new Light();
lt.on();这个例子中类型/类名是Light，为Light申明一个lt句柄，再用new关键字新建类型为Light的一个对象，再用“=”将其复制给句柄。在为对象发送一条消息（on），用“.”将]]></description><category></category></item><item><title><![CDATA[java参数传递]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/77988928</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/77988928</guid><author>u014646004</author><pubDate>Fri, 15 Sep 2017 10:35:57 +0800</pubDate><description><![CDATA[一直以来对java的参数传递总是一知半解的，今天打算彻底阐述一下。值传递和引用传递值传递：传递的就是参数值的拷贝。首先传递的事参数的值，其次是拷贝。改变传递后的值，原来的值是不会改变的。 
引用传递：传递的是参数的地址（可以理解c语言中指针）。改变传递来的值，会引发原来的值改变c语言中这个东西很好理解，如果传递的事值就是值传递，如果传的是引用的话就是引用（地址，指针等等）传递，但是java中就会出现]]></description><category></category></item><item><title><![CDATA[关于spring mvc，spring data，spring，MongoDB整合框架的一些思考和常用注解]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/77867358</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/77867358</guid><author>u014646004</author><pubDate>Wed, 06 Sep 2017 15:46:47 +0800</pubDate><description><![CDATA[spring+spring mvc+spring data+MongoDB的一些编写规范莫名奇妙的最近接触了很多这个框架写的代码。这个框架写的代码，只要逻辑不规范就基本上很难看的懂。特别是关于数据库操作的那些方面。真的是痛苦到极点。根据我最近的一些痛苦经历，在这里做一些思考，与总结关于包的一些规范妈的老子遇到一些神经病，把service层每一个类都单独建了一个包，每一个打开阅读是哪个酸爽，无法用言语]]></description><category></category></item><item><title><![CDATA[netty初步学习]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/77533415</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/77533415</guid><author>u014646004</author><pubDate>Thu, 24 Aug 2017 17:46:32 +0800</pubDate><description><![CDATA[换了公司，这家公司的第一项目就是接受别人原来的netty项目，真是重来没有搞过java 网络编程，搞过也是原来写android时候搞过，这次这么吊的东西还是第一次玩。 
不得不说还是要好好学习java基础，我就是基础太差了，感觉和那位之前的同志写的代码还是有很多差距。电子科技大学是个好学校。 
netty 异步非阻塞式网络框架参考教程 netty实战ChannelHandler用来定义处理入站事件的]]></description><category></category></item><item><title><![CDATA[JS 学习经验]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/54345265</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/54345265</guid><author>u014646004</author><pubDate>Wed, 11 Jan 2017 16:53:59 +0800</pubDate><description><![CDATA[在工作的时候遇到很多js的问题，然后自己就去看了，做了一些笔记，一起发表出来。js数组学习js这个东西，真是java不能够比的，感觉入门很容易，但是后面整起来真是不爽，最近在做项目时经常运用到js的数组操作，但这玩意真心玩起来不爽，今天专门花时间来，具体来学习。还是要吐槽js这玩意 真是麻烦JS的数组可以使用Array（new Array）和[]，我经常使用[]来创建数组。数组遍历循环.forEac]]></description><category></category></item><item><title><![CDATA[mysql优化 学习笔记]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/53466224</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/53466224</guid><author>u014646004</author><pubDate>Mon, 05 Dec 2016 15:59:44 +0800</pubDate><description><![CDATA[前言优化mysq 学习笔记 视频位置 
慕课–性能优化mysql一 SQL 改写优化慢查询日志用于记录 那些查询比较慢的查询记录show variables like ‘slow_query_log’ 
上面的查看慢查询日志是否开启下面的这个可以查询慢查询日志相关的其他信息 
show variables like ‘slow%’explain + sql语句用于分析这条sql的执行过程explai]]></description><category></category></item><item><title><![CDATA[2016-12-1nodeJs sublime text3 开发环境搭建]]></title><link>https://blog.youkuaiyun.com/u014646004/article/details/53423517</link><guid>https://blog.youkuaiyun.com/u014646004/article/details/53423517</guid><author>u014646004</author><pubDate>Thu, 01 Dec 2016 16:51:15 +0800</pubDate><description><![CDATA[前言原来一直想学习一下传说中的nodejs，今天终于算开了个章，把开发环境搭建好，下面记录搭建开发环境中的一些问题。 
我搭建的环境实在sublime text 3中使用的，因为原来编写前台代码的时候一直使用sublime text 3对这款编辑器也有了自己的一些了解。（ps，我的快捷键一直用的是原来eclipse的快捷键 哈哈）一、安装nodejs 插件我开始的时候是通过ppackage cont]]></description><category></category></item></channel></rss>