<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wu_intellect的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wu_intellect</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wu_intellect]]></copyright><item><title><![CDATA[23.java接口默认方法和时间API]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/109036233</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/109036233</guid><author>wu_intellect</author><pubDate>Mon, 12 Oct 2020 20:33:15 +0800</pubDate><description><![CDATA[1.接口默认方法
1.1 接口默认方法的定义

在java8之前,接口(interface)没有提供任何具体的实现,接口定义的方法全部都是抽象方法
java8之后对接口做了进一步增强:

允许接口中可以添加使用default关键字,即默认方法,或者也可以叫做可扩展方法
接口里可以声明静态方法,并且可以做具体实现


默认方法与抽象方法的区别

抽象方法必须要实现,默认方法不是,因为默认方法做了具体实现;这个接口中的默认方法可以通过子类继承到这个默认方法,当然子类也可以重写该默认方法。


为了提高代码的可重]]></description><category></category></item><item><title><![CDATA[22.Stream流]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/109036107</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/109036107</guid><author>wu_intellect</author><pubDate>Mon, 12 Oct 2020 20:29:39 +0800</pubDate><description><![CDATA[Stream流
1.定义

单从"stream"这个单词来看,它似乎和我们之前学的IO流中的InputStream和OutputStream流有些关系。实际上,没有任何关系!java8新增的Stream流是为了提高程序员在集合的操作
要想操作流,首先需要一个数据源,可以是数组或者集合,每次操作都会返回一个新的流对象，方便链式进行操作，但原有的流对象会保持不变。

2.创建流
import java.util.ArrayList;
import java.util.Arrays;
import java.ut]]></description><category></category></item><item><title><![CDATA[21.java8新特性lambda]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/109036083</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/109036083</guid><author>wu_intellect</author><pubDate>Mon, 12 Oct 2020 20:26:59 +0800</pubDate><description><![CDATA[1.lambda表达式
1.定义

lambda表达式是jdk8的一个新特性,可以取代大部分的匿名函数,写出更优雅的java代码,尤其在集合遍历和其他集合操作中,可以极大的优化代码结构
jdk1.8(java8)也提供了大量的内置函数式接口供我们使用,使用Lambda表达式的运用更加方便、高效
Lambda表达式一定要配合函数式接口一起使用!
所谓函数式接口,就是接口中只有一个抽象方法的接口就是函数式接口,jdk也内置了函数式接口。

2.函数式接口


接口中只有一个抽象方法的接口就是函数式接口。


可]]></description><category></category></item><item><title><![CDATA[17.多线程(4)]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/109036042</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/109036042</guid><author>wu_intellect</author><pubDate>Mon, 12 Oct 2020 20:25:55 +0800</pubDate><description><![CDATA[13.线程池
1.什么是线程池

一个创建线程的容器,可以通过该容器去创建不同业务场景的线程来完成不同的需求

2.为什么需要线程池


线程缺少统一的管理,占用过多的系统资源


缺乏更多功能.比如定时执行、定期执行等


使用线程池的优势

可以重用存在的线程,减少对象的创建、消亡的开销
有效的控制并发数,提高系统资源的使用率
线程池可以实现定时执行、定期执行等功能.



3.如何创建线程池

线程池所在的包都在java.util.concurrent包下,顶级的接口Executors,真正的线程池接]]></description><category></category></item><item><title><![CDATA[17.多线程(3)]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/109035952</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/109035952</guid><author>wu_intellect</author><pubDate>Mon, 12 Oct 2020 20:23:02 +0800</pubDate><description><![CDATA[11.线程死锁问题
线程死锁是一定要规避的问题!


问题:

两个小孩都喜欢对方的玩具
唐唐:你把你的玩具鸭借我玩,我就把芭比娃娃给你玩
豆豆:你把你的芭比娃娃借给我,我就把玩具鸭借给你
造成了僵局的状态,谁都不把自己的玩具给对方,这就是死锁



案例1


唐唐类
public class TangTang implements Runnable {

	Object babi = new Object();//芭比娃娃
	Object duck = new Object();//玩具鸭
	
	@Ov]]></description><category></category></item><item><title><![CDATA[17.多线程(2)]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/109035830</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/109035830</guid><author>wu_intellect</author><pubDate>Mon, 12 Oct 2020 20:19:17 +0800</pubDate><description><![CDATA[8.定时器
定时器可以用于比如系统每周删除一次日志文件,或者在指定日期关闭系统。


定时器类
import java.util.TimerTask;

/**
 * 	定时器
 * 	用于给线程任务定时操作
 *
 */
public class MyTask extends TimerTask{

	@Override
	public void run() {
		for (int i = 0; i &lt;= 10; i++) {
			System.out.println(Thread.curren]]></description><category></category></item><item><title><![CDATA[17.多线程(1)]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/109035637</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/109035637</guid><author>wu_intellect</author><pubDate>Mon, 12 Oct 2020 20:14:23 +0800</pubDate><description><![CDATA[多线程
1.多线程定义

每一个应用程序开启后都会开启一个进程,一个进程中可以开启多个线程完成不同的功能,比如qq开启一个进程,qq可以同时聊天、听音乐、看qq空间就是开启了多个线程来完成不同的任务。
CPU在某一个时间片只能处理一个任务(线程),如果没有实现多线程,你的qq就应该先执行聊天任务,聊天任务结束才可以听音乐、听音乐任务结束后才可以打开qq空间,我们可以开启多线程,让cpu交替去执行这3个任务,由于cpu计算能力很强,让你感觉这3个任务在同时进行,这样的好处是提高了用户的体验度
总结:有1,2,]]></description><category></category></item><item><title><![CDATA[20.xml解析]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/109035618</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/109035618</guid><author>wu_intellect</author><pubDate>Mon, 12 Oct 2020 20:06:34 +0800</pubDate><description><![CDATA[java的xml解析
1.xml定义

xml(Extensible Markup Language)可扩展标记语言;可以通过xml来存储数据,一般用于项目或者框架的配置信息
特点:

xml与操作系统、编程语言的开发平台无关
实现不同系统之间的数据交换



2.Java中xml的作用

java项目中,xml文件一般都是用来存储一些项目的配置信息,不会键大量数据配置在xml中
在我们后期需要学习的servlet中,我们需要通过配置web.xml文件实现一些任务的调度,或者我们后期需要学习的几乎所有是ja]]></description><category></category></item><item><title><![CDATA[19.反射]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/109035561</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/109035561</guid><author>wu_intellect</author><pubDate>Mon, 12 Oct 2020 20:05:21 +0800</pubDate><description><![CDATA[反射
1.反射定义


反射是框架的灵魂,


什么是框架?

我们之前写一些功能都是通过最底层的代码去实现这些功能,为了提高开发效率,公司里面都是需要用到框架去开发,所谓java框架就是通过java语言给你封装了一个半成品,那你基于这个框架平台去开发能够节省很多的代码提高工作的效率。基本上所有的开发语言都会有不同的框架,比如学习前端我们最底层javascript,基于javascript的框架vue、jquery、bootstrap等等,java的框架比如现在流行的ssm、springboot、sprin]]></description><category></category></item><item><title><![CDATA[16.网络编程]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/109035445</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/109035445</guid><author>wu_intellect</author><pubDate>Mon, 12 Oct 2020 20:03:30 +0800</pubDate><description><![CDATA[网络编程
1.socket定义

旺旺即时通讯工具、QQ、微信、即时通讯大多数都是通过socket网络编程机制实现的,我们想实现网络的通讯,计算机网络编程是一个实现客户端和服务器端通过一个双向链路进行数据交换的复杂的过程,该过程必须经过三块,分别是:客户端、通信链路、服务器端。为了更好的理解该过程,我们可以将该过程比喻成手机和电脑通过USB数据线进行传输数据的过程,客户端相当于手机,数据链路相当于USB数据线,而电脑相当于服务器。
socket也叫套接字,相当于数据线两端的插头,java socket是实现]]></description><category></category></item><item><title><![CDATA[2.js数组,对象,集合和流程控制]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/108629203</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/108629203</guid><author>wu_intellect</author><pubDate>Wed, 16 Sep 2020 19:53:39 +0800</pubDate><description><![CDATA[1.数组
Array可以包含任何的数据类型
var arr = [1,5,7,6,9];//通过下标取值和赋值
arr[0] = 10;



长度
arr.length

注意:如果给arrlength赋值,数组大小就会发生变化,如果赋值过小,元素就会丢失


indexO.通过元素获得下标索引
arr.indexOf(2);
1

字符串的"1"和数字1 是不同的


slice() 截取Array的一部分,返回一个新的数组值,类似于substring
arr.slice(1,3);
5,7



pu]]></description><category></category></item><item><title><![CDATA[14.IO]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/108629158</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/108629158</guid><author>wu_intellect</author><pubDate>Wed, 16 Sep 2020 19:52:46 +0800</pubDate><description><![CDATA[IO流
1.定义:

IO流(input/output):对文件的输入和输出流,从内存写入到磁盘就是输出流,从磁盘的文件写入到内存中就是输入流((以程序为参照物)。

2.File类的操作
import java.io.File;
import java.io.IOException;

public class FileTest {
	public static void main(String[] args) {
		File file = new File("D:\\wu.txt");
		FileT]]></description><category></category></item><item><title><![CDATA[1.js入门]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/108607211</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/108607211</guid><author>wu_intellect</author><pubDate>Tue, 15 Sep 2020 19:27:06 +0800</pubDate><description><![CDATA[入门
1.什么是javaScript

javaScript是世界上最流行的脚本语言
一个合格的后端人员,必须要精通javaScript
ECMAScript可以理解为是JavaScript的一个标准,但实际上后两者是ECMA-262标准的实现和扩展
最新版本已经到es6版本,但大部分浏览器只停留在支持es5代码上,导致开发环境和线上环境版本不一致

2.快速入门
2.1 引入javaScript
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&g]]></description><category></category></item><item><title><![CDATA[12.实用类(总)]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/108602559</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/108602559</guid><author>wu_intellect</author><pubDate>Tue, 15 Sep 2020 16:33:15 +0800</pubDate><description><![CDATA[实用类
1.包装类
1.1 定义

包装类是把基本类型转换为对象,是引用类型

1.2作用

包装类可以有很多操作的方法
之前我们学习的集合比如add(1)在底层中会转换成包装类型integer类型插入到集合容器中,集合里面插入的都是引用类型。

1.3 包装类型继承关系图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YZClMbBi-1600158779378)(D:\downfile\QQ\tu1 (1)].png)
1.4 构造方法创建包装类型


在构造方法中可以将]]></description><category></category></item><item><title><![CDATA[12.常用类之包装类]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/108589352</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/108589352</guid><author>wu_intellect</author><pubDate>Mon, 14 Sep 2020 22:12:55 +0800</pubDate><description><![CDATA[实用类
1.包装类
1.1 定义

包装类是把基本类型转换为对象,是引用类型

1.2作用

包装类可以有很多操作的方法
之前我们学习的集合比如add(1)在底层中会转换成包装类型integer类型插入到集合容器中,集合里面插入的都是引用类型。

1.3 包装类型继承关系图

1.4 构造方法创建包装类型


在构造方法中可以将与之对应的基本数据类型作为构造方法参数,来创建包装类的对象


charcater除外,在构造方法中可将对应的基本类型以字符串类型作为构造方法参数,来创建包装类的对象
/**
 * ]]></description><category></category></item><item><title><![CDATA[11.泛型]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/108589341</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/108589341</guid><author>wu_intellect</author><pubDate>Mon, 14 Sep 2020 22:08:57 +0800</pubDate><description><![CDATA[泛型
1.背景

java推出泛型以前,程序员可以构建一个元素类型为object类型的集合,该集合能够存储任何的数据类型的对象,而在使用该集合的过程中,需要程序员明确知道每个元素的数据类型,否则很容易引发ClassCastException异常,那通过泛型我们就能够约束集合插入的类型,那么该集合的所有元素都必须是此类型,那么就不需要进行object类型转换。

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Li]]></description><category></category></item><item><title><![CDATA[11.集合之总结]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/108554179</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/108554179</guid><author>wu_intellect</author><pubDate>Sat, 12 Sep 2020 20:08:29 +0800</pubDate><description><![CDATA[1 collections工具类


案例1:自然排序
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test {
	public static void main(String[] args) {
		//所有的集合插入的元素必须是引用类型,Integer类型是int类型的包装类,是int类型的引用类型
		List&lt;Integer&gt; lists = ]]></description><category></category></item><item><title><![CDATA[11.集合之map]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/108554131</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/108554131</guid><author>wu_intellect</author><pubDate>Sat, 12 Sep 2020 20:06:28 +0800</pubDate><description><![CDATA[map接口下的集合

map接口下的集合采用键值对Map&lt;k,v&gt;的存储方式,保存具有映射关系的数据。因此map集合里保存两组值,一组用于保存map里的key值,另外一组用于保存map里的value值,key和value可以是任意引用类型的数据。key值不允许重复,键可以为null,如果添加key-value键值对时已经有重复的key,则添加的value会覆盖key原来对应的value值.常用的实现类有HashMap、LinkedHashMap、TreeMap等。
HashMap是以hash算法]]></description><category></category></item><item><title><![CDATA[11.集合之set]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/108554045</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/108554045</guid><author>wu_intellect</author><pubDate>Sat, 12 Sep 2020 20:02:02 +0800</pubDate><description><![CDATA[set


set接口用于存储无序并且元素不可重复的集合,如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3e4grplS-1599911871739)(D:\downfile\QQ\tu2.png)]


set接口常用的实现子类有HashSet、LinkedHashSet、TreeSet类等。


1 HashSet


HashSet是set集合中最常用的实现类,HashSet是按照哈希算法来存储的,因此具有很好的存取和查找性能。


HashSet特点:

无]]></description><category></category></item><item><title><![CDATA[1.单例模式]]></title><link>https://blog.youkuaiyun.com/wu_intellect/article/details/108554023</link><guid>https://blog.youkuaiyun.com/wu_intellect/article/details/108554023</guid><author>wu_intellect</author><pubDate>Sat, 12 Sep 2020 19:56:09 +0800</pubDate><description><![CDATA[单例模式
1.定义


所谓单例,就是整个程序有且仅有一个实例。该类负责创建自己的对象,同时要确保只有一个对象被创建。


好处:就是一个类你只能创建一个实例对象可以节约内存开销,一般常用于在工具类的实现(之前的静态方法也可以用于工具类的实现)。


2.特点

构造器私有
持有自己类的属性
对外提供获取实例的静态方法

一般单例模式分为两大类:懒汉模式,饿汉模式.详细分其实有懒汉,饿汉,双检锁,内部类,枚举。
3.懒汉模式
/**
 * 	懒汉模式，延迟初始化，在调用方法获取的时候才会实例对象
 * 	线]]></description><category></category></item></channel></rss>