<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[b183385676的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/b183385676</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; b183385676]]></copyright><item><title><![CDATA[Failed to start bean ‘webServerStartStop‘； nested exception is java.lang.reflect.UndeclaredThrowable]]></title><link>https://blog.youkuaiyun.com/b183385676/article/details/124366526</link><guid>https://blog.youkuaiyun.com/b183385676/article/details/124366526</guid><author>b183385676</author><pubDate>Sat, 23 Apr 2022 17:03:37 +0800</pubDate><description><![CDATA[使用nacos出现报错
org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is java.lang.reflect.UndeclaredThrowableException
	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(Def]]></description><category></category></item><item><title><![CDATA[Socket多线程实现服务端与多个客户端通信以及客户端之间的通信]]></title><link>https://blog.youkuaiyun.com/b183385676/article/details/122629027</link><guid>https://blog.youkuaiyun.com/b183385676/article/details/122629027</guid><author>b183385676</author><pubDate>Fri, 21 Jan 2022 20:42:48 +0800</pubDate><description><![CDATA[使用Socket实现服务端与客户端通信
Socket
socket一般指套接字，将TCP/IP协议封装为几个简单的接口，应用层调用接口就能实现进程间的通信。通信的两个进程各自持有一个socket，双方通过socket提供的接口进行通信，socket是成对出现的。
socket通信实现过程
服务端创建ServerSocket对象，调用accept()方法监听请求，当接收到请求时，返回一个socket对象。
ServerSocket serverSocket = new ServerSocket(8888);/]]></description><category></category></item><item><title><![CDATA[Java笔记-浅析equals()和hashCode()]]></title><link>https://blog.youkuaiyun.com/b183385676/article/details/121723629</link><guid>https://blog.youkuaiyun.com/b183385676/article/details/121723629</guid><author>b183385676</author><pubDate>Sat, 04 Dec 2021 23:18:10 +0800</pubDate><description><![CDATA[浅析equals()和hashCode()
equals()
Object类中定义的equals()
public boolean equals(Object obj) {
        return (this == obj);
    }

因为==是比较地址，所以这个方法只有在比较同一对象的时候才会返回true，当使用自定义的类的对象时，需要重写equals()方法。
hashCode()
public native int hashCode();

hashCode()方法用于计算hash值，返回]]></description><category></category></item><item><title><![CDATA[Java笔记-迭代分形]]></title><link>https://blog.youkuaiyun.com/b183385676/article/details/121570212</link><guid>https://blog.youkuaiyun.com/b183385676/article/details/121570212</guid><author>b183385676</author><pubDate>Fri, 26 Nov 2021 22:53:10 +0800</pubDate><description><![CDATA[迭代分形
分形就是一个图形的组成部分与整体相似，通过递归的形式可以实现。

更多图形可以参考http://paulbourke.net/fractals/ifs/
import java.awt.*;
import java.util.Random;

public class DrawThread extends Thread {

    private String  type;

    private Graphics g;

    public DrawThread(Graphics g){
]]></description><category></category></item><item><title><![CDATA[Java笔记-多边形绘制]]></title><link>https://blog.youkuaiyun.com/b183385676/article/details/121496670</link><guid>https://blog.youkuaiyun.com/b183385676/article/details/121496670</guid><author>b183385676</author><pubDate>Tue, 23 Nov 2021 16:36:12 +0800</pubDate><description><![CDATA[多边形绘制
在界面上任意位置画点，将点连成多边形
实现思路

实现MouseListener接口，触发点击事件画点
定义一个类表示点的信息
定义数组存储所有已绘制的点
遍历所有的点，并记录x和y的最大值和最小值
根据x、y的最大值和最小值确定原点，建立坐标系
计算每个点与原点的角度，根据角度排序
按顺序连接点

完整代码
定义Point类
x、y为鼠标点击的位置，angle为与原点的角度，为了能直接使用sort方法，需要实现Comparable接口
public class Point implements]]></description><category></category></item><item><title><![CDATA[Java笔记-Graphics实现简易画图板]]></title><link>https://blog.youkuaiyun.com/b183385676/article/details/121472657</link><guid>https://blog.youkuaiyun.com/b183385676/article/details/121472657</guid><author>b183385676</author><pubDate>Mon, 22 Nov 2021 15:46:20 +0800</pubDate><description><![CDATA[Graphics实现简易画图板
点击按钮选择图形和颜色，使用鼠标在界面上绘制绘制。
实现思路
UI

使用JFrame创建窗口，设置大小和标题。
添加JButton，分为图形选择按钮和颜色选择按钮。

监听

新建一个DrawListener类实现ActionListener和MouseListener接口
重写ActionListener的actionPerformed方法，为按钮添加监听addActionListener
重写MouseListener的mousePressed和mouseRelease]]></description><category></category></item><item><title><![CDATA[Java笔记-接口]]></title><link>https://blog.youkuaiyun.com/b183385676/article/details/121438007</link><guid>https://blog.youkuaiyun.com/b183385676/article/details/121438007</guid><author>b183385676</author><pubDate>Sat, 20 Nov 2021 13:12:49 +0800</pubDate><description><![CDATA[接口
接口是一系列方法的声明，是一些方法特征的集合，一个 接口只有方法的特征没有方法的实现，因此这些方法可以在不同的地方被不同的类实现，而这些实现可以具有不同的行为（功能）。
为什么需要接口
类是不完全抽象的，相对于对象是抽象的，而类的方法是具体的。类只能抽象属性，不能抽象行为。接口中的方法是完全抽象的，使用类和接口可以实现属性的抽象和行为的抽象。
语法
基本语法
接口中的属性默认由static final修饰，并且需要初始化
接口中的抽象方法，只有声明，没有实现
public interface Inte]]></description><category></category></item><item><title><![CDATA[Java笔记-数据类型及转型和判断]]></title><link>https://blog.youkuaiyun.com/b183385676/article/details/121378522</link><guid>https://blog.youkuaiyun.com/b183385676/article/details/121378522</guid><author>b183385676</author><pubDate>Wed, 17 Nov 2021 14:59:43 +0800</pubDate><description><![CDATA[数据类型及转型和判断数据类型基本数据类型引用数据类型类型判断转型自动转型强制转型
数据类型
java中的数据类型分为基本数据类型和引用数据类型。
首先，对比int与String两个类型的变量
int a = 1;
int b = 1;
a == b;//true

当a、b为int类型时a==b为true。
String a = new String("abc");
String b = new String("abc");
a == b;//false

当a、b为String类型时，a==b为false]]></description><category></category></item></channel></rss>