- 博客(11)
- 收藏
- 关注
原创 打卡第十天 Java 动态代理
1.加载类用来承载也就是jazailei,class.getClassLoader(),传入代理的类对象(new Class[]{daily.class}),最后就是new InvocationHandler()实现方法其中用匿名内部类声明三个参数Object proxy, Method method, Object[] args,第二个参数为方法,第三个为返回类型。需要准备三个东西一个为明星类(被代理的类),再就是daili类,其次就是加载类。代理就相当与经纪人和明星之间的关系,可以调用明星的方法。
2024-11-21 19:49:31
172
原创 打卡第九天 java
然后利用classname加载类,getDeclaredConstrctor()来获取无参构造方法创造一个对象,利用紧接着利用method获取成员方法,接着用Method对象方法的invoke()方法进行执行方法。如果想要调用其他类的方法,只需要改动配置文件中的类名·和方法名就可以直接调用。然后用缓冲流包裹字符流运用增强型循环写入文件a.txt, newline()方法的调用。通过读取类中的成员变量和成员变量所对应的值来写入文件,好像json形式。练习2:通过配置文件动态的调用不同类的方法。
2024-11-21 19:44:39
150
原创 打卡第八天java 反射获取成员方法和成员变量
获取单一方法,用getDeclaredMethods(),其中第一个参数传入方法的名字二个参数传入方法的参数,比如参数类型为String,则传入String.class返回类型为Method.对象名为c。2.c.getParameterTypes()是获取方法的参数类型,返回类型还是Class数组,还可以通过getExceptionTypes()来获取方法中抛出的异常的类型。1. a.getDeclaredMethods()获取类中所有的方法,返回类型为Class数组。
2024-11-20 11:48:30
301
原创 打卡java 反射 第七天
2.利用获得到的构造方法对象可以构造新的对象,利用newInstance方法传入有效参数。如果想要获取单个构造方法那只要调用getDeclaredConstructor方法其中传入相对应的参数,比如想要获得参数为String 的构造方法就需要传入String的字节码文件就可。其中用Class对象的getConstructors方法返回其中不加修饰词的方法。有三种方法,第一种用Class.forname(传入包名及类名),也是最常用的。首先反射就是来获取类中的各种东西,比如构造方法,方法中的各种参数的类型。
2024-11-17 00:05:45
333
原创 打卡Java tcp第六天
然后还了解线程池的知识,线程池是用来存储线程的容器,用ExcutorService来声明线程池对象,它为Excutors的newCachedTreadPool方法的返回对象。这个方法可以看做成无上限个数的线程池,这紧接着用pool的sumbit方法传入参数new的线程,如果线程过多超过线程池会等待前方线程执行完毕在执行。newFixedThreadPool(number)这个方法内部传入的容器要容纳的线程的个数,其余执行方法差不多,最后要调用pool的shutdown方法关闭线程池。
2024-11-16 23:50:08
1267
原创 打卡第五天,Java tcp
服务端:照常声明Socket对象:输入地址和端口,然后用高级流BufferedInputStream将inputStream包裹加快读取速率,然后生命一个字节数组1024个字节,加快读取速率,再声明一个高级输出流,写到本地文件,高级输出流对象的参数传入的是本地的路径,这个路径要注意一定要将精确到具体的文件,其中高级输出流对象所调用的write传入的参数为字节数组,0,长度。其中长度为高级输入流对象读取的长度,高级输入流对象的read方法传入的参数为一个字节数组。
2024-11-12 17:06:54
784
原创 tcp协议 打卡第四天
在数据处理和关闭时,运用了四次挥手协议,其中io流是在socket中写入读取的所以最后关闭socket对象就行,io流关不关都行,四次挥手指的是客户端发送断开请求,服务端接受到请求并发送稍等一下的反馈,等数据处理完毕后在发送反馈,然后紧接着客户端确定断开连接。还学习了一下其中的细节,在客户端连接服务端时,使用了三次握手协议,三次握手指的是,客户端发送连接请求,服务端发送反馈,客户端确定连接。所以服务端每次都先运行。
2024-11-10 00:17:39
391
原创 第三天打卡 tcp协议基础
服务端:创建Serversocket对象接受端口对象,接着创建一个socket对象用来监听客户端的连接,接着用InputStream对象in1接受socket对象的getInputStream对象,接着用int类型的b变量接受in1的读取对象,用一个while循环直到读取不到数据。创建socket对象,其中传入要传入的地址及端口,接着创建OutputStream对象out接受socket对象的getoutputstream方法的返回的对象,运用其中的write方法传输数据,最后释放资源。
2024-11-08 23:28:12
219
2
原创 第二天打卡,udp协议的三种通信方式。
2.组播,发送端:需要用MulticastSocket对象的send方法。组播地址:224.0.0.0到239.255.255.255。接收端:需要把自己端口的对象添加到组播地址中,用MulticastSocket对象中的joinGroup方法,从而接受到信息。其中224.0.0.0到224.0.0.225为预留的组播地址。1.单播就用DatagramSocket对象传输数据。广播就是传入广播地址255.255.255.255。
2024-11-06 23:27:31
232
原创 第一天打卡,udp协议
参数(比喻一下,要确定是一个快递员),不然传不进来,然后定义接受的快递,用DatagramPacket对象充当,然后用ds对象receive方法接受dp包裹,其次接受过来要想打印,需要解析,定义一个字节数组data来接受ds的getdata方法返回类型,最后定义一个字符串类型str,用new String 方法将字节数组转换成字符串赋给str,进行打印。其中的参数值分别为为。今天学了udp协议基础,udp协议是一种无连接的网络协议,提供一种简单的方式来输送数据。发送用ds对象send方法传递打包对象dp。
2024-11-05 22:33:12
885
原创 计算最小步数。
每一步可以将当前位置增加或减少,且每步的增加或减少的值必须是连续的整数(即每步的移动范围是上一步的 -1,+0 或 +1)。根据我的理解,首先这道题应用贪心算法,尽可能达到最后位置,两种特殊情况一个距离为1一个距离为0,然后有三种情况,第一种是正好递增到一半时,sum*2等于距离,这时候就是对称的,则最小步数为(t-1)/2。第二种情况是在递增到一半时,sum*2-(t-1)正小于距离的情况,这时候最好步数也为(t-1)*2,从打草稿(45-34得出)// sum 表示累计的步长和,t 为步长。
2024-11-02 18:40:09
681
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅