<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chenyang1010的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chenyang1010</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chenyang1010]]></copyright><item><title><![CDATA[springboot-websocket使用]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/100188084</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/100188084</guid><author>chenyang1010</author><pubDate>Sun, 01 Sep 2019 21:41:46 +0800</pubDate><description><![CDATA[A. 在pom文件中添加依赖
&lt;dependency&gt;
	&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
	&lt;artifactId&gt;spring-boot-starter-websocket&lt;/artifactId&gt;
&lt;/dependency&gt;

B. 定义ServerEndPoint
...]]></description><category></category></item><item><title><![CDATA[java8接口函数]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/100185250</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/100185250</guid><author>chenyang1010</author><pubDate>Sun, 01 Sep 2019 17:18:19 +0800</pubDate><description><![CDATA[函数
说明




Function&lt; T, R &gt;
接收一个参数，并返回一个值


Consumer&lt; T &gt;
接收一个参数，没有返回值


Supplier&lt; R &gt;
没有参数，返回一个值


Predict&lt; T &gt;
接收一个参数，并返回一个布尔类型的值



...]]></description><category></category></item><item><title><![CDATA[springboot-thymeleaf的使用（2）]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/99701392</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/99701392</guid><author>chenyang1010</author><pubDate>Sun, 18 Aug 2019 10:20:51 +0800</pubDate><description><![CDATA[themeleaf高级标签的使用
A. url标签的使用
使用@{}来表示url，(type=${type})表示路径参数，用来替换路径参数
&lt;a  th:href="@{http://www.baidu.com/{type}(type=${type})}"&gt;
link1
&lt;/a&gt;

或者使用@{${}}这样直接传参
&lt;div th:style="'backgroun...]]></description><category></category></item><item><title><![CDATA[springboot-thymeleaf的使用（1）]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/99617701</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/99617701</guid><author>chenyang1010</author><pubDate>Wed, 14 Aug 2019 23:09:56 +0800</pubDate><description><![CDATA[标题springboot-thymelead的使用介绍
1）pom文件中引入thymeleaf所依赖的组件
&lt;dependency&gt;
	&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
	    &lt;artifactId&gt;spring-boot-starter-test&lt;/artifactId&gt;
	&l...]]></description><category></category></item><item><title><![CDATA[springboot-支持jsp]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/99614066</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/99614066</guid><author>chenyang1010</author><pubDate>Wed, 14 Aug 2019 22:05:16 +0800</pubDate><description><![CDATA[将Springboot工程打城war部署到web容器
1）pom文件中需要“一排二增”
A. 需要将tomcat从web组件中排除：
&lt;dependency&gt;
    &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
	&lt;artifactId&gt;spring-boot-starter-web&lt;/artifac...]]></description><category></category></item><item><title><![CDATA[springboot-web支持]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/99486374</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/99486374</guid><author>chenyang1010</author><pubDate>Tue, 13 Aug 2019 23:03:30 +0800</pubDate><description><![CDATA[1）关于配置文件
可以在resource文件夹下面生成除了application.propertites之外的其他配置文件。
比如other.properties.
但是other.properties文件默认不会加载，所以在java的bean文件想引用该配置文件里面的属性，必须加注解@PropertySource(“classpath:other.properties”)
@PropertySo...]]></description><category></category></item><item><title><![CDATA[maven之依赖范围]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/89460066</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/89460066</guid><author>chenyang1010</author><pubDate>Mon, 22 Apr 2019 20:26:28 +0800</pubDate><description><![CDATA[依赖范围scope与classpath的关系
maven的依赖范围决定了不同的classpath。不同的依赖范围决定了该依赖是否出现的对应的classpath中。classpath分编译classpath，测试classpath，运行时classpath。




scope
编译classpath
测试classpath
运行classpath
典型例子




compile
yes
yes
...]]></description><category></category></item><item><title><![CDATA[java线程中timed和blocked两种状态的区别]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/89280785</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/89280785</guid><author>chenyang1010</author><pubDate>Sat, 13 Apr 2019 12:39:45 +0800</pubDate><description><![CDATA[今天出去参加一个卖货公司的interview，抱着学习的态度去看了一下，interviewer还是不错的，
问的问题都在点上，让平时对java语言很自信的我，发现自己有些方面，其实理解有严重误区。希望
这篇帖子能给到大家帮助。

java线程的几种状态：new，runnable，running，blocked，waiting，timed_waiting，dead
好了，问题来了，blocked和w...]]></description><category></category></item><item><title><![CDATA[java 泛型详解]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/89153331</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/89153331</guid><author>chenyang1010</author><pubDate>Tue, 09 Apr 2019 16:24:19 +0800</pubDate><description><![CDATA[本文转自：https://blog.youkuaiyun.com/s10461/article/details/53941091

概述
泛型在java中有很重要的地位，在面向对象编程及各种设计模式中有非常广泛的应用。
什么是泛型？为什么要使用泛型？

泛型，即“参数化类型”。一提到参数，最熟悉的就是定义方法时有形参，然后调用此方法时传递实参。那么参数化类型怎么理解呢？顾名思义，就是将类型由原来的具体的类型...]]></description><category></category></item><item><title><![CDATA[java之注解Annotation]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/89104550</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/89104550</guid><author>chenyang1010</author><pubDate>Mon, 08 Apr 2019 19:52:32 +0800</pubDate><description><![CDATA[什么是java注解
java注解是java代码的元数据，用来声明或者配置java代码，而不影响java代码的正常的运行逻辑。java注解的本质是一种特殊类型的接口，该接口继承Annotation接口。
注解的分类
java注解分为两种类型：元注解和自定义注解。
元注解
用来注解注解的注解，主要包含四个，@Target，@Retention，@Documented，@Inherited。
@Docu...]]></description><category></category></item><item><title><![CDATA[Spring bean 中 constructor-arg属性]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/89042267</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/89042267</guid><author>chenyang1010</author><pubDate>Fri, 05 Apr 2019 12:53:00 +0800</pubDate><description><![CDATA[1、说明
constructor-arg：通过构造函数注入。
property：通过setter对应的方法注入。
2、constructor-arg的使用示例
(1)、Model代码：
public class Student {
private Integer id;
private String name;
private List dream;
private Map&lt;String, ...]]></description><category></category></item><item><title><![CDATA[java8之工具类边角料工具]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/88914078</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/88914078</guid><author>chenyang1010</author><pubDate>Sat, 30 Mar 2019 16:07:04 +0800</pubDate><description><![CDATA[public class OtherTools {

	// java8支持Nashorn JavaScript引擎
	// java8程序中执行js脚本
	@Test
	public void test1() throws Exception {
		ScriptEngineManager manager = new ScriptEngineManager();
		ScriptEngine e...]]></description><category></category></item><item><title><![CDATA[java8之工具类Stream]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/88913572</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/88913572</guid><author>chenyang1010</author><pubDate>Sat, 30 Mar 2019 15:44:23 +0800</pubDate><description><![CDATA[Stream的出现是为了让java支持函数式编程，从而使得写出的代码更加的紧凑可读。
public class MyStream {

	//stream的中间处理函数和终极处理函数
	//stream的中间处理函数会继续返回stream
	//stream的终极处理函数会处理集合里面的数据，返回最终的结果
	@Test
	public void test1() {
		final Collect...]]></description><category></category></item><item><title><![CDATA[java8之工具类Optional]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/88911970</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/88911970</guid><author>chenyang1010</author><pubDate>Sat, 30 Mar 2019 14:23:38 +0800</pubDate><description><![CDATA[Optional工具类产生的意义
java代码中最常见的异常就是空指针异常NullPointException，为了防止空指针异常的出现，
会在代码里面做大量的判空处理，这样写出来的代码会显得很丑。java8提供Optional工具类，可以解决判空的问题，同时还还能让代码显得优雅。
Optional工具类，在我看来就是一个单元素的容器，泛型化处理，内部封装了一些方法，可以让你自己决定空处理流程，同...]]></description><category></category></item><item><title><![CDATA[java8之类型推断与参数名称]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/88854785</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/88854785</guid><author>chenyang1010</author><pubDate>Wed, 27 Mar 2019 20:37:07 +0800</pubDate><description><![CDATA[类型推断与参数名称
public class MyTypePredict {
	
	@Test
	public void test1 () {
		Package&lt;String&gt; p1 = new Package&lt;&gt;();
		p1.getOrDefault("goodPack1", Package.getDefaultValue());
		// 在jdk7及以下，需要使...]]></description><category></category></item><item><title><![CDATA[java8之重复注解]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/88854734</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/88854734</guid><author>chenyang1010</author><pubDate>Wed, 27 Mar 2019 20:35:04 +0800</pubDate><description><![CDATA[重复注解
/**
 * 重复注解：同一个地方可以多次使用的注解，@Repeatable
 * @Repeatable 的参数是一个注解容器，该容器用来存放自己的实例
 * 注解类型基本包罗了java的任意地方
 */
public class MyRepeatAnnotation {
	
	@Target(ElementType.TYPE)
	@Retention(RetentionPolicy....]]></description><category></category></item><item><title><![CDATA[java8之方法引用]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/88854713</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/88854713</guid><author>chenyang1010</author><pubDate>Wed, 27 Mar 2019 20:34:17 +0800</pubDate><description><![CDATA[方法引用
public class MyMethodInterfer {
	
	@Test
	public void test1 () {
		Car car = Car.create(Car::new);
		
		List&lt; Car &gt; cars = Arrays.asList( car );
		
		//调用静态方法：Class::static_method，接受一个参数
		...]]></description><category></category></item><item><title><![CDATA[java8之接口默认方法和静态方法]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/88854687</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/88854687</guid><author>chenyang1010</author><pubDate>Wed, 27 Mar 2019 20:32:45 +0800</pubDate><description><![CDATA[静态方法和默认方法
/**
 * 静态方法和默认方法
 * 
 * 默认方法：默认方法使用关键字default修饰方法
 *                默认方法使得开发者可以在 不破坏二进制兼容性的前提下，往现存接口中添加新的方法，
 *                即不强制那些实现了该接口的类也同时实现这个新加的方法，默认方法不需要实现
 *                默认方法会被实现...]]></description><category></category></item><item><title><![CDATA[java8之Lambda表达式]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/88854651</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/88854651</guid><author>chenyang1010</author><pubDate>Wed, 27 Mar 2019 20:31:14 +0800</pubDate><description><![CDATA[基本用法
public class MyLambda1 {
	
	@Test
	public void test2() {
		//Arrays.asList( "a", "b", "d" ).forEach( ele -&gt; System.out.println(ele));
		Arrays.asList( "a", "b", "d" ).forEach((String ele) -&gt...]]></description><category></category></item><item><title><![CDATA[java8之时间处理类]]></title><link>https://blog.youkuaiyun.com/chenyang1010/article/details/88673472</link><guid>https://blog.youkuaiyun.com/chenyang1010/article/details/88673472</guid><author>chenyang1010</author><pubDate>Tue, 19 Mar 2019 21:13:02 +0800</pubDate><description><![CDATA[java8之前我们使用Date，Calendar等类处理时间和日期，这两个类很不好用，而且属于线程非安全类。从java开始，jdk提供了三个新的用来处理时间和日期的类：LocalDate,LocalTime,LocalDateTime,下面让我们一起来学习一下如何使用这三个类。

LocalDate
LocalDate仅仅是时间再数字上的显示，和实际的时间本质不同，即使指定了时区，得到的时间也仅...]]></description><category></category></item></channel></rss>