解决idea创建springboot项目载入配置过慢问题

其实很简单,不使用默认的start.spring.io,而选择Custom,再填入阿里云的:https://start.aliyun.com即可

JAVA实现收发UDP请求

Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。发送import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;/* * 实现UDP协议的发送端: * 实现封装数据的类 java.net.DatagramPacket 将你的数据包装 * 实现数据传输类 java.net.DatagramSocket 将数据包发出去 * * 实现步骤: * 1.创建DatagramPacket对象,封装数据,接收的地址和端口 * 2.创建DatagramSocket对象, * 3.调用DatagramSocket类的方法send,发送数据包 * 4.关闭资源 * * DatagramPacket构造方法: * DatagramPacket(byte[] buf,int length,InetAddress address,int port) * * DatagramSocket构造方法: * DatagramSocket()空参数 * 方法:send(DatagramPacket d) * * */public class UDPSendTest { public static void main(String[] args) throws Exception {//创建发送端Socket对象 DatagramSocket ds = new DatagramSocket();//创建数据并打包 String s = "My name is happywindman"; byte[] bytes = s.getBytes(); int length = s.length(); InetAddress ip = InetAddress.getByName("127.0.0.1");//根据自己主机的ip地址或者主机名 int port = 10086; DatagramPacket dp = new DatagramPacket(bytes, length, ip, port);//发送数据 ds.send(dp);//释放资源 ds.close(); }}接收import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;/* * 实现UDP接收端 * 实现封装数据包java.net.DatagramPacket 将数据接收 * 实现输出传输 java.net.DatagramSocket 接受数据包 * * 实现步骤: * 1.创建DatagramSocket对象,绑定端口号 * 要和发送数据端口号一致 * 2.创建字节数组,接受发来的数组 * 3.创建数据包对象DatagramPacket * 4.调用DatagramSocket对象方法 receive(DatagramPacket dp) * 接受数据,数据放在数据包中 * 5.拆包 * 发送的IP地址 * 数据包对象DatagramPacket()方法getAddress()获取的是发送端的IP地址对象 * 接受到的字节个数 * 数据包对象DatagramPacket()方法getLength() * 发送方的端口号 * 数据包对象DatagramPacket()方法getPort() * 6.关闭资源 */public class UDPReceiveTest { public static void main(String[] args) throws Exception {//创建接收端Socket对象 DatagramSocket ds = new DatagramSocket(10086);//接收数据 byte[] bytes = new byte[1024]; int length = bytes.length; DatagramPacket dp = new DatagramPacket(bytes, length); ds.receive(dp); //解析数据 获取地址 带斜杠 InetAddress address = dp.getAddress(); //获取发送端的IP地址对象 String ip = address.getHostAddress(); //获取发送的端口号 int port = dp.getPort(); byte[] data = dp.getData(); int len = dp.getLength();//输出数据// System.out.println(address); System.out.println(String.format("发送方地址:%s:%s", ip, port)); System.out.println(new String(data, 0, len)); System.out.println(new String(bytes, 0, len)); ds.close(); }}

Java设置/获取系统剪切板/剪贴板

非常简单,调用jdk内部封装方法即可设置剪切板 public static void setClipboardString(String text) { // 获取系统剪贴板 Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); // 封装文本内容 Transferable trans = new StringSelection(text); // 把文本内容设置到系统剪贴板 clipboard.setContents(trans, null); }获取剪切板内容public String getFromClipboard() { Transferable transferable = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null); if (transferable != null && transferable.isDataFlavorSupported(DataFlavor.stringFlavor)) { try { return (String) transferable.getTransferData(DataFlavor.stringFlavor); } catch (Exception e) { return ""; } } return "";}

Java获取本机本地IP地址

可显示本地IP,例如192.168.0.1public static InetAddress getLocalHostLANAddress() throws Exception { try { InetAddress candidateAddress = null; // 遍历所有的网络接口 for (Enumeration ifaces = NetworkInterface.getNetworkInterfaces(); ifaces.hasMoreElements(); ) { NetworkInterface iface = (NetworkInterface) ifaces.nextElement(); // 在所有的接口下再遍历IP for (Enumeration inetAddrs = iface.getInetAddresses(); inetAddrs.hasMoreElements(); ) { InetAddress inetAddr = (InetAddress) inetAddrs.nextElement(); if (!inetAddr.isLoopbackAddress()) {// 排除loopback类型地址 if (inetAddr.isSiteLocalAddress()) { // 如果是site-local地址,就是它了 return inetAddr; } else if (candidateAddress == null) { // site-local类型的地址未被发现,先记录候选地址 candidateAddress = inetAddr; } } } } if (candidateAddress != null) { return candidateAddress; } // 如果没有发现 non-loopback地址.只能用最次选的方案 InetAddress jdkSuppliedAddress = InetAddress.getLocalHost(); return jdkSuppliedAddress; } catch (Exception e) { e.printStackTrace(); } return null;}