<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[gycaaa的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/gycaaa</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; gycaaa]]></copyright><item><title><![CDATA[Filter 过滤器]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130463211</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130463211</guid><author>gycaaa</author><pubDate>Tue, 02 May 2023 14:04:58 +0800</pubDate><description><![CDATA[这里我们讲解Filter的执行流程，从下图可以大致了解到，当客户端发送请求的时候，会经过过滤器，然后才能到我们的servlet，当我们的servlet处理完请求之后，我们的response还是先经过过滤器才能到达我们的客户端，这里我们进行一个代码的演示，看看具体执行流程。首先给出一个图。这里我们通过实现Filter接口，来进行定义过滤器类，通过注解来配置该过滤器拦截的路径。// 对request对象的请求进行处理System.out.println("处理了request请求");]]></description><category></category></item><item><title><![CDATA[反射课后练习]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130354055</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130354055</guid><author>gycaaa</author><pubDate>Mon, 24 Apr 2023 23:10:55 +0800</pubDate><description><![CDATA[File构造器：public java.io.File(java.lang.String,java.lang.String)File构造器：private java.io.File(java.lang.String,java.io.File)File构造器：public java.io.File(java.io.File,java.lang.String)File构造器：private java.io.File(java.lang.String,int)* 2.在控制台打印 File类的所有构造器。]]></description><category></category></item><item><title><![CDATA[通过反射创建对象]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130343111</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130343111</guid><author>gycaaa</author><pubDate>Mon, 24 Apr 2023 18:21:44 +0800</pubDate><description><![CDATA[invoke的运行类型：class java.lang.String。]]></description><category></category></item><item><title><![CDATA[获取类结构信息]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130347994</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130347994</guid><author>gycaaa</author><pubDate>Mon, 24 Apr 2023 17:37:30 +0800</pubDate><description><![CDATA[【代码】获取类结构信息。]]></description><category></category></item><item><title><![CDATA[类加载过程]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130323532</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130323532</guid><author>gycaaa</author><pubDate>Sun, 23 Apr 2023 17:39:29 +0800</pubDate><description><![CDATA[JVM在该阶段的主要目的是将字节码从不同的数据源（可能是 class文件、也可能是 jar包，甚至网络）转化为二进制字节流加载到内存中，并将这些静态数据转换成方法区的运行时数据结构，然后生成一个代表这个类的java.lang.Class对象。反射机制是Java实现动态语言的关键，也就是通过反射实现类动态加载。]]></description><category></category></item><item><title><![CDATA[演示哪些类型有 Class对象 和 获取Class对象的六种方式]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130320590</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130320590</guid><author>gycaaa</author><pubDate>Sun, 23 Apr 2023 14:52:48 +0800</pubDate><description><![CDATA[【代码】演示哪些类型有 Class对象 和 获取Class对象的六种方式。]]></description><category></category></item><item><title><![CDATA[反射-Class类分析]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130315042</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130315042</guid><author>gycaaa</author><pubDate>Sun, 23 Apr 2023 11:00:47 +0800</pubDate><description><![CDATA[Class也是类,，因此也继承Object类Class类对象不是new出来的，而是系统创建的对于某个类的Class类对象，在内存中只有一份，因为类只加载一每个类的实例都会记得自己是由哪个Class 实例所生成通过Class可以完整地得到一个类的完整结构,通过一系列APIClass对象是存放在堆的类的字节码二进制数据，是放在方法区的，有的地方称为类的元数据 (包括方法代码,变量名，方法名，访问权限等等）]]></description><category></category></item><item><title><![CDATA[ExecutorService 线程池详解]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130297972</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130297972</guid><author>gycaaa</author><pubDate>Fri, 21 Apr 2023 22:26:15 +0800</pubDate><description><![CDATA[经常创建和销毁、使用量特别大的资源，比如并发情况下的线程，对性能影响很大。：提前创建好多个线程，放入线程池中，使用时直接获取，使用完放回池中。可以避免频繁创 建销毁、实现重复利用。类似生活中的公共交通工具。提高响应速度（减少了创建新线程的时间)降低资源消耗（重复利用线程池中线程，不需要每次都创建)便于线程管理(....)]]></description><category></category></item><item><title><![CDATA[多线程练习]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130297087</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130297087</guid><author>gycaaa</author><pubDate>Fri, 21 Apr 2023 21:42:19 +0800</pubDate><description><![CDATA[Thread-0取出1000，当前余额：9000。Thread-0取出1000，当前余额：8000。Thread-1取出1000，当前余额：7000。Thread-1取出1000，当前余额：6000。Thread-1取出1000，当前余额：5000。Thread-1取出1000，当前余额：4000。Thread-1取出1000，当前余额：3000。Thread-1取出1000，当前余额：2000。Thread-1取出1000，当前余额：1000。Thread-1取出1000，当前余额：0。]]></description><category></category></item><item><title><![CDATA[线程同步机制与互斥锁]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130290993</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130290993</guid><author>gycaaa</author><pubDate>Fri, 21 Apr 2023 16:56:35 +0800</pubDate><description><![CDATA[synchronized(对象) { //得到对象的锁，才能操作同步代码。2、synchronized 还可以放在方法声明中，表示整个方法—为同步方法。//需要被同步代码;//需要被同步的代码。]]></description><category></category></item><item><title><![CDATA[线程七大状态]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130286637</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130286637</guid><author>gycaaa</author><pubDate>Fri, 21 Apr 2023 13:52:49 +0800</pubDate><description><![CDATA[线程在Ready状态下等待的时间取决于操作系统的调度算法，一旦被分配到CPU资源，线程就会进入Running状态，并开始执行线程的run()方法。在这个状态下，线程等待一定的时间，或等待其他线程调用notify()或notifyAll()方法，或等待一定条件的发生。等待状态（Waiting）：当Java线程需要等待其他线程执行某些操作时，它会进入等待状态。在这个状态下，线程等待某些条件的发生，例如等待其他线程调用notify()或notifyAll()方法，或等待一定时间。]]></description><category></category></item><item><title><![CDATA[用户线程和守护线程]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130285778</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130285778</guid><author>gycaaa</author><pubDate>Fri, 21 Apr 2023 13:17:25 +0800</pubDate><description><![CDATA[注意：当主线程结束时，子线程不会结束。]]></description><category></category></item><item><title><![CDATA[线程常用方法]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130282582</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130282582</guid><author>gycaaa</author><pubDate>Fri, 21 Apr 2023 12:02:23 +0800</pubDate><description><![CDATA[【代码】线程常用方法。]]></description><category></category></item><item><title><![CDATA[线程基础知识]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130184743</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130184743</guid><author>gycaaa</author><pubDate>Mon, 17 Apr 2023 23:08:16 +0800</pubDate><description><![CDATA[并发:同一个时刻，多个任务交替执行，造成一种“貌似同时”的错觉，简单的说，单核cpu实现的多任务就是并发。当启动一个进程，进程会启动一个主线程，主线程里面会开启若干子线程，当主线程和所有子线程都结束时，进程结束。并行:同一个时刻，多个任务同时执行。多核cpu可以实现并行。并发和并行可以同时存在。是为完成特定任务、用某种语言编写的一组指令的集合。简单的说：就是我们写的代码。]]></description><category></category></item><item><title><![CDATA[泛型的继承和通配符]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130167317</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130167317</guid><author>gycaaa</author><pubDate>Sun, 16 Apr 2023 16:19:13 +0800</pubDate><description><![CDATA[【代码】泛型的继承和通配符。]]></description><category></category></item><item><title><![CDATA[自定义泛型方法]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130166420</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130166420</guid><author>gycaaa</author><pubDate>Sat, 15 Apr 2023 10:55:52 +0800</pubDate><description><![CDATA[修饰符 <T,R...> 返回类型 方法名(参数列表) { }]]></description><category></category></item><item><title><![CDATA[自定义泛型接口]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130150608</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130150608</guid><author>gycaaa</author><pubDate>Fri, 14 Apr 2023 23:16:37 +0800</pubDate><description><![CDATA[interface 接口名 <T,R...> { }]]></description><category></category></item><item><title><![CDATA[自定义泛型]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130148661</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130148661</guid><author>gycaaa</author><pubDate>Fri, 14 Apr 2023 11:43:10 +0800</pubDate><description><![CDATA[基本语法class 类名 <T, R...> { //...表示可以有多个泛型成员注意细节普通成员可以使用泛型(属性、方法)使用泛型的数组，不能初始化静态方法中不能使用类的泛型泛型类的类型，是在创建对象时确定的(因为创建对象时，需要指定确定类型)如果在创建对象时，没有指定类型，默认为Object举例说明//1、Tiger后面泛型，所以我们把Tiger就称为自定义泛型类//2、T，R，M 泛型的标识符，一般是单个大写字母//3、泛型标识符可以有多个·]]></description><category></category></item><item><title><![CDATA[泛型练习题]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130141588</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130141588</guid><author>gycaaa</author><pubDate>Thu, 13 Apr 2023 22:13:20 +0800</pubDate><description><![CDATA[1)该类包含:private成员变量 name,sal,birthday,其中 birthday为 MyDate类的对象;* 排序方式:调用ArrayList的sort方法，传入 Comparator对象[使用泛型]，先按照name排序，* 5)创建该类的3个对象，并把这些对象放入ArrayList 集合中(ArrayList 需使用泛型来定义),* 3)重写toString方法输出name, sal, birthday。* 有一定难度，比较经典泛型使用案例。====对雇员进行排序====]]></description><category></category></item><item><title><![CDATA[Java—泛型]]></title><link>https://blog.youkuaiyun.com/gycaaa/article/details/130132108</link><guid>https://blog.youkuaiyun.com/gycaaa/article/details/130132108</guid><author>gycaaa</author><pubDate>Thu, 13 Apr 2023 17:45:15 +0800</pubDate><description><![CDATA[泛型又称参数化类型，是Jdk5.0出现的新特性,解决数据类型的安全性问题2)在类声明或实例化时只要指定好需要的具体的类型即可。Java泛型可以保证如果程序在编译时没有发出警告，运行时就不会产生ClassCastException异常。同时，代码更加简洁、健壮泛型的作用是:可以在类声明时通过一个标识表示类中某个属性的类型，或者是某个方法的返回值的类型,或者是参数类型。举例说明/*可以这样理解，上面的 ss 类，相当于class ss{String s;]]></description><category></category></item></channel></rss>