![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
秋叶清风
IT开发者
展开
-
实现idea远程debug
实现idea远程debug转载 2023-06-06 17:13:53 · 100 阅读 · 0 评论 -
自定义类加载器加载E盘上的.class文件
加载硬盘上的文件原创 2022-09-07 14:33:23 · 205 阅读 · 0 评论 -
java 反射加载E盘上的.class文件
java 反射加载E盘上的.class文件引入依赖:org.xeustechnologiesjcl-core2.8/** * JarClassLoader反射 * path: E:\\classes\\com\\xwl\\hardcommon\\channel\\tcp\\NettyTcpServer.class * name: com.xwl.hardcommon.channel.tcp.NettyTcpServer.class * version: v0 */public vo原创 2020-10-11 12:27:30 · 365 阅读 · 0 评论 -
BIO、NIO、AIO
BIO:属于同步阻塞 IO 模型。NIO: 同步非阻塞 IO 模型。AIO:异步非阻塞 IO 模型。转载 2022-08-02 19:01:01 · 86 阅读 · 0 评论 -
Java的几种常见排序算法
Java的几种常见排序算法转载 2022-07-29 10:54:41 · 301 阅读 · 0 评论 -
java中断一个正在运行中的线程
java中断一个正在运行中的线程转载 2022-06-24 18:57:16 · 176 阅读 · 0 评论 -
JVM学习
JVM转载 2022-06-23 13:36:49 · 65 阅读 · 0 评论 -
虚拟机栈异常
虚拟机异常原创 2022-06-23 11:26:12 · 205 阅读 · 0 评论 -
java内存区域
java内存区域转载 2022-06-17 14:20:14 · 74 阅读 · 0 评论 -
什么是幂等性
参考 什么是幂等性 和 幂等性感谢博主的分享,现整理如下:解决幂等性的方案:数据库唯一主键实现幂等性数据库乐观锁实现幂等性防重 Token 令牌实现幂等性mq如何保证消息的幂等性:1、mq接收生产者传来的消息:mq内部会为每条消息生成一个全局唯一、与业务无关的消息id,当mq接收到消息时,会先根据该id判断消息是否重复发送,mq再决定是否接收该消息。2、消费者消费mq中的消息:也可利用mq的该id来判断,或者可按自己的规则生成一个全局唯一id,每次消费消息时用该id先判断该消息是否已转载 2022-05-07 16:58:28 · 64 阅读 · 0 评论 -
java try catch finally 与 return的关系
java try catch finally 与 return的关系新建 Test03/** * try catch finally */public class Test03 { private static int number = 0; public static void main(String[] args) {// System.out.println(test01());// System.out.println(test02原创 2021-11-16 16:46:32 · 857 阅读 · 0 评论 -
java 集合体系
转载 Java集合框架详解(全)java 集合体系转载 2021-11-16 11:27:31 · 75 阅读 · 0 评论 -
A是B的子类,List<A>并不是List<B>的子类
A是B的子类,List并不是List的子类新建一个 Personpublic class Person { private String name; private int age;}新建 Studentpublic class Student extends Person { private String message;}新建 Testimport java.util.ArrayList;import java.util.List;原创 2021-11-16 11:23:26 · 470 阅读 · 0 评论 -
java 和 scala读取文件的目录
java 版本新建 Test02import java.io.File;/** * 读取文件的目录 */public class Test02 { private static int number; /** * 递归调用文件 * @param file */ public void test(File file){ if(!file.exists()){ System.out.prin原创 2021-11-12 11:18:16 · 848 阅读 · 0 评论 -
java 数组的定义方式
java数组的定义方式方式一 String[] arr = new String[2];方式二 String[] arr = {“张三”, “李四”};方式三 String[] arr = new String[]{“张三”, “李四”};新建 ArrayTest/** * 数组的三种定义方式 * 方式一 String[] arr = new String[2]; * 方式二 String[] arr = {"张三", "李四"}; * 方式三 Strin原创 2021-11-01 16:52:10 · 149 阅读 · 0 评论 -
java instanceof
instanceof 的整理新建 Testpublic class Test { public static void main(String[] args) { Test test = new Test(); test.test01(); test.test02(); test.test03(); } public void test01(){ Student student = new Stu原创 2021-10-27 11:46:06 · 80 阅读 · 0 评论 -
java反射
反射调用方法新建 ReflectTestEntry/** * 用来测试的实体类 */public class ReflectTestEntry { private String name; private int number; public String getName() { return name; } public void setName(String name) { this.name = name;原创 2021-10-26 16:03:21 · 58 阅读 · 0 评论 -
java String + 操作符 的注意事项
+运算的区别 public void test02(){ String x = "abc"; String y = "ab" + "c"; System.out.println(x == y); String c = "ab"; String d = "abc"; // 相当于 String f = new StringBuilder(c).append("c").toString(); .原创 2021-10-26 11:34:00 · 67 阅读 · 0 评论 -
idea maven 父子项目 common模块 打包报错
common 模块Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.1.8.RELEASE:repackage (repackage) on project online-common: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:2.1.8.RELEASE:repackage failed:.原创 2021-10-26 11:20:07 · 928 阅读 · 0 评论 -
java Object
Object类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。构造方法public Object()方法public boolean equals(Object obj) 指示其他某个对象是否与此对象“相等”。此方法经常被重写,用来判断对象的内容是否相等,Integer Double 等重写了此方法,用来判断值是否相等。(请注意 Integer 还有 -128 到 127 == 相比相等的问题,封装类的比价请使用 equal原创 2021-10-26 10:30:41 · 60 阅读 · 0 评论 -
hashCode equals 在集合添加时的区别
hashCode equals 在集合添加时的区别假设我在集合添加的时候,规定相同的内容就不要重复添加了:重写了 equals集合添加的时候,当只重写equals而没有重写 hashCode时,则会出现重复的内容依然会添加到集合中。这是因为添加判断的时候,先调用 hashCode(),再调用 equals来进行判断的import java.util.Collection;import java.util.HashSet;import java.util.Iterator;/** *转载 2021-10-25 11:37:52 · 87 阅读 · 0 评论 -
单例模式之饿汉模式 饱汉模式 双重锁模式
单例模式原创 2021-10-25 10:23:09 · 282 阅读 · 0 评论 -
java 创建线程池
ThreadPoolExecutor的构造函数public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueue workQueue,ThreadFactory threadFactory,RejectedExecutionHandler handler)corePoolSize:核心池的大小maximumPoolSize:线程池最大线程转载 2021-10-22 17:30:48 · 186 阅读 · 0 评论 -
java 交换两个变量的值
java 交换两个变量的值定义临时变量通过算术运算通过位运算符实现新建 ExchangeTest/** * 交换两个数 */public class ExchangeTest { public static void main(String[] args) { ExchangeTest exchangeTest = new ExchangeTest();// exchangeTest.test01();// exchangeT原创 2021-10-21 14:01:20 · 309 阅读 · 0 评论 -
idea debug进入 线程内部
我们一般在调试的时候,debug模式(idea默认的情况下)下,我们调试的时候进入不了线程内部,为了进入线程内部查看具体的执行情况,现整理如下新建 ThreadDebugTest/** * 测试线程的 debug 模式 */public class ThreadDebugTest { public static void main(String[] args) { Thread thread = new Thread(new Runnable() {原创 2021-10-20 09:58:00 · 2731 阅读 · 0 评论 -
springboot 整合 websocket
引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency>新建 websocket 配置类 WebSocketConfig, 如果不配置,则会出现 .原创 2021-10-19 15:21:54 · 466 阅读 · 0 评论 -
Integer == equals
新建 Testimport lombok.extern.slf4j.Slf4j;@Slf4jpublic class Test { public static void main(String[] args) { Test test = new Test(); test.test01(); test.test02(); test.test03(); } /** * Integer作为常量时,对.原创 2021-10-15 17:55:10 · 128 阅读 · 0 评论 -
Java中List集合去除重复数据的五种方法
参考 Java中List集合去除重复数据的六种方法循环list中的所有元素然后删除重复通过 hashset 剔除重复元素删除ArrayList中重复元素,保持顺序把list里的对象遍历一遍,用list.contains(),如果不存在就放入到另外一个list集合中用JDK1.8 Stream中对List进行去重:list.stream().distinct();demo: 新建 Testimport java.util.ArrayList;import java.util.HashSe转载 2021-10-11 16:39:59 · 3192 阅读 · 0 评论 -
java sleep wait 区别
java sleep wait 区别sleep是线程方法,wait是Object方法查看java api可以看出sleep 会释放锁, wait不会释放锁转载 2021-10-09 10:29:09 · 69 阅读 · 0 评论 -
java a+b a+=b的区别
新建 IntTestimport lombok.extern.slf4j.Slf4j;@Slf4jpublic class IntTest { public static void main(String[] args) { IntTest intTest = new IntTest(); intTest.test01(); intTest.test02(); } /** * a + b */原创 2021-09-28 19:29:01 · 314 阅读 · 0 评论 -
java8 新特性之日期时间
新建 NewDateimport lombok.extern.slf4j.Slf4j;import java.time.*;/** * Java 8 日期时间 API * 新的java.time包涵盖了所有处理日期,时间,日期/时间,时区,时刻(instants),过程(during)与时钟(clock)的操作。 */@Slf4jpublic class NewDate { public static void main(String[] args) { Ne转载 2021-09-24 17:53:23 · 161 阅读 · 0 评论 -
java8 新特性之Optional
学习 Java 8 Optional,总结一下,方便自己以后的学习查看新建 OptionalDemo01import lombok.extern.slf4j.Slf4j;import java.util.Optional;/** * Optional 类的引入很好的解决空指针异常。 * ofNullable() * ifPresent() * orElse() * orElseGet() * */@Slf4jpublic class OptionalDemo01 {转载 2021-09-24 16:59:51 · 94 阅读 · 0 评论 -
java8 新特性之stream
学习 Java 8 Stream,总结一下,方便自己以后的学习查看生成流 stream()对流的操作,包括 forEach,map,filter,limit,sorted,Collectors,mapToInt新建 StreamDemo01import lombok.extern.slf4j.Slf4j;import java.util.Arrays;import java.util.IntSummaryStatistics;import java.util.List;import j转载 2021-09-24 15:13:29 · 100 阅读 · 0 评论 -
主线程退出对子线程的影响
新建 DaemonThreadimport lombok.extern.slf4j.Slf4j;/** * 主线程退出对子线程的影响 * 设置守护线程 不设置守护线程 */@Slf4jpublic class DaemonThread { /** * 不设置守护线程 * @param args */// public static void main(String[] args) {// new Thread(new原创 2021-09-24 11:08:17 · 395 阅读 · 0 评论 -
udp tcp demo
udp新建 UDPSocketClietimport java.io.IOException;import java.net.*;/** * udp 客户端 */public class UDPSocketCliet { public static void main(String[] args) throws IOException { // 创建发送端的 socket 对象, DatagramSocket DatagramSocket d原创 2021-09-22 11:57:37 · 106 阅读 · 0 评论 -
java8 新特性之默认方法
新建 Java8Testerimport lombok.Data;import lombok.extern.slf4j.Slf4j;/** * 简单说,默认方法就是接口可以有实现方法,而且不需要实现类去实现其方法。 * * 我们只需在方法名前面加个 default 关键字即可实现默认方法。 */@Data@Slf4jpublic class Java8Tester { public static void main(String args[]){ Vehicl转载 2021-09-18 18:10:09 · 68 阅读 · 0 评论 -
java8 新特性之函数式接口
函数式接口就是一个 有且仅有一个抽象方法,但是可以有多个非抽象方法的接口函数式接口可以被隐式的转换为lambda表达式新建 抽象接口 GreetingService/** * 函数式接口 */@FunctionalInterfacepublic interface GreetingService { void sayMessage(String message);}新建测试类 FunctionInterfaceClass.classimport lombok.e原创 2021-09-18 17:24:26 · 148 阅读 · 0 评论 -
java8 新特性之方法的引用
方法的引用1. 静态方法引用 类名::staticMethod2. 实例方法引用 inst::instMethod3. 构建方法引用 类名::new新建 Person.classimport lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import lombok.extern.slf4j.Slf4j;@Data@Slf4j@NoArgsConstructor@AllArgs原创 2021-09-17 18:53:59 · 107 阅读 · 0 评论 -
java8 新特性之Lambda 表达式
应用场景1. for循环2. 线程中的匿名内部类3. 比较器中的匿名内部类新建 Expression.classimport lombok.extern.slf4j.Slf4j;import java.util.Arrays;import java.util.List;/** * Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,原创 2021-09-17 18:51:16 · 85 阅读 · 0 评论 -
java的异常(try catch throws throw)
java的异常写一个测试类import lombok.extern.slf4j.Slf4j;/** * 测试 try catch throw throws */@Slf4jpublic class ExceptionTest { public static void main(String[] args) { ExceptionTest exceptionTest = new ExceptionTest();// exceptionT原创 2021-09-03 17:41:25 · 125 阅读 · 0 评论