合集-JAVA

摘要:1、自增 public class ZiZeng { public static void main(String[] args) { int i = 1; i = i++;//运行此行后,此时i=1 int j = i++; int k = i + ++i * i++; System.out.pr 阅读全文
posted @ 2021-02-23 17:43 DHaiLin 阅读(163) 评论(0) 推荐(0)
摘要:1、Spring Bean的作用域之间有什么区别? 在spring中,可以在<bean>的scope属性设置bean的作用域,以决定这个bean是单实例的还是多实例的; 默认情况下,spring只为每个ioc容器声明的bean创建唯一一个实例,整个ioc容器范围内都能共享这个实例,所有后续的getB 阅读全文
posted @ 2021-02-24 14:29 DHaiLin 阅读(128) 评论(0) 推荐(0)
摘要:1、redis持久化 Redis提供了两种不同的持久化方式: RDB(Redis DataBase): 在指定的时间间隔内将内存中的数据集快照写入磁盘,恢复时将快照文件读到内存里; 备份是如何执行的: Redis会单独创建一个子进程(fork)来进行持久化,会先将数据写入到一个临时文件中,待持久化过 阅读全文
posted @ 2021-02-24 16:45 DHaiLin 阅读(120) 评论(0) 推荐(0)
摘要:JUC: 指java中java.util.concurrent包;(concurrent:并发) JUC分类: java.util.concurrent java.util.concurrent.atomic(atomic:原子性) java.util.concurrent.locks(locks: 阅读全文
posted @ 2021-02-25 18:01 DHaiLin 阅读(109) 评论(0) 推荐(0)
摘要:1、CAS: > compareAndSet(期望值,修改值) 比较并交换; /** * CAS: > compareAndSet() * 比较并交换 */ public class CASDemo { public static void main(String[] args) { AtomicI 阅读全文
posted @ 2021-02-26 13:58 DHaiLin 阅读(121) 评论(0) 推荐(0)
摘要:ArrayBlockingQueue:由数组结构组成的有界阻塞队列; LinkedBlockingQueue:由链表结构组成的有界阻塞队列(但大小默认值为:Integer.MAX_VALUE); PriorityBlockingQueue:支持优先级排序的无界阻塞队列; DelayQueue:使用优 阅读全文
posted @ 2021-03-10 09:03 DHaiLin 阅读(1355) 评论(0) 推荐(0)
摘要:枚举类 @Getter public enum CountryEnum { ONE(1, "燕"), TWO(2,"赵"), THREE(3,"韩"), FOUR(4,"魏"), FIVE(5,"齐"), SIX(6,"楚"); private Integer code; private Strin 阅读全文
posted @ 2021-03-05 10:56 DHaiLin 阅读(122) 评论(0) 推荐(0)
摘要:1、公平锁和非公平锁 公平锁:是指多个线程按照申请锁的顺序来获取锁,类似于排队打饭,先来后到; 非公平锁:是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁,在高并发的情况下,有可能或造成优先级反转或者饥饿的情况; 公平/非公平 在并发包ReentrantLo 阅读全文
posted @ 2021-03-04 17:37 DHaiLin 阅读(75) 评论(0) 推荐(0)
摘要:1、ArrayList /** * 集合类不安全问题 * 1、故障现象: * java.util.ConcurrentModificationException(并发修改异常) * 2、解决方案 * 3.1、new Vector<>(); * 3.2、Collections.synchronized 阅读全文
posted @ 2021-02-26 16:27 DHaiLin 阅读(101) 评论(0) 推荐(0)
摘要:基本概念: 两个或两个以上的类相互引用、互相依赖; Java使用构造器不能解决循环依赖问题; Java可以使用setter解决循环依赖问题; Spring中: 内部通过三级缓存来解决循环依赖问题(DefaultSingletonBeanRegistry) 只有单例的 bean 会通过三级缓存提前暴露 阅读全文
posted @ 2021-04-20 11:09 DHaiLin 阅读(90) 评论(0) 推荐(0)
摘要:AQS:抽象的队列同步器 是用来构建锁或者其它同步器组件的重量级基础框架及整个UC体系的基石,通过内置的FO队列来完成资源获取线程的排队工作,并通过一个int类型变量表示持有锁的状态; AQS为什么是JUC内容中最重要的基石? 在juc下countDownLatch、Semaphore、Cyclic 阅读全文
posted @ 2021-04-19 10:05 DHaiLin 阅读(83) 评论(0) 推荐(0)
摘要:java.util.concurrent.locks.LockSuport 用于创建锁和其他同步类的基本线程阻塞原语。 这个类与每个使用它的线程相关联,一个许可证(在Semaphore类的意义上)。 如果许可证可用,则呼叫park将park返回,在此过程中消耗它; 否则可能会阻止。 致电unpark 阅读全文
posted @ 2021-04-15 14:34 DHaiLin 阅读(153) 评论(0) 推荐(0)
摘要:int corePoolSize:线程池中常驻的核心线程数; int maximumPoolSize:线程池中能够容纳同时执行的最大线程数,此值必须大于等于1; long keepAliveTime:多余的空闲线程的存活时间,当前线程池数量超过corePoolSize的时候, 当空闲时间达到keep 阅读全文
posted @ 2021-03-11 16:53 DHaiLin 阅读(155) 评论(0) 推荐(0)
摘要:2、线程池的使用方式 常见三种方式(重要) Executors.newFixedThreadPool(int);//创建一个线程池,该线程池重用固定数量的从共享无界队列中运行的线程。 Executors.newSingleThreadExecutor();//创建一个使用从无界队列运行的单个工作线程 阅读全文
posted @ 2021-03-11 11:37 DHaiLin 阅读(131) 评论(0) 推荐(0)
摘要:import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; class MyThread3 implements Callable<Integer>{ @Override public Integer c 阅读全文
posted @ 2021-03-10 16:58 DHaiLin 阅读(117) 评论(0) 推荐(0)
摘要:1、原始构成 synchronized是关键字,属于JVM层面; monitorenter(底层是通过monitor对象完成,其实wait / notify等方法也依赖 monitor对象,只有在同步块或方法中才能调用wait / notify等方法); monitorexit Lock是具体的类( 阅读全文
posted @ 2021-03-10 09:33 DHaiLin 阅读(298) 评论(0) 推荐(0)
摘要:1、强引用(默认使用) //强引用 public class StrongReferenceDemo { public static void main(String[] args) { Object obj1 = new Object();//这样定义的,默认就是强引用 Object obj2 = 阅读全文
posted @ 2021-03-18 10:09 DHaiLin 阅读(123) 评论(0) 推荐(0)
摘要:1、java.lang.StackOverflowError 2、java.lang.OutOfMemoryError:java heap space 3、java.lang.OutOfMemoryError:GC overhead limit exceeded 4、java.lang.OutOfM 阅读全文
posted @ 2021-03-25 17:39 DHaiLin 阅读(94) 评论(0) 推荐(0)
摘要:== 和 equals的区别 ==:比较的是对象地址; equals的分析: Integer:会先判断当前传入的Object类型的对象是否是Integer类型, 如果不是则返回 false,如果是则将其强转成Integer类型、并判断两个Integer值是否相同、并返回; String:先判断传入的 阅读全文
posted @ 2021-06-09 21:03 DHaiLin 阅读(113) 评论(0) 推荐(0)
摘要:/** * 缓冲区(Buffer):在java NIO 中负责存储数据;缓冲区就是数组,存储不同类型的数据; * * 根据不同的类型(boolean类型除外),提供了相应类型的缓冲区; * ByteBuffer * CharBuffer * ShortBuffer * IntBuffer * Lon 阅读全文
posted @ 2021-05-20 16:48 DHaiLin 阅读(73) 评论(0) 推荐(0)
摘要:GC的作用域 GC分类: 次数上频繁收集的Young区(新生代):Minor GC 次数上较少收集Old区(老年代):Full GC 基本不动Perm区(永久代),在java8后更改为Metaspace(元空间) 1、垃圾回收四大算法 1.1、引用计数法:有对象被引用了,则GC不进行垃圾回收; 1. 阅读全文
posted @ 2021-03-25 17:38 DHaiLin 阅读(76) 评论(0) 推荐(0)
摘要:Java8以后的JVM 1、JVM调优和参数配置,查看JVM系统默认值; 1.1、JVM参数类型: 标配参数 -version -help -showversion X参数(了解) -Xint 解释执行 -Xcomp 第一次使用就编译成本地代码 -Xmixed 混合模式(先编译再执行) XX参数 b 阅读全文
posted @ 2021-03-23 10:37 DHaiLin 阅读(84) 评论(0) 推荐(0)
摘要:1、饿汉式 /** * 饿汉式:直接创建对象,不管你是否需要,都会创建这个对象; * * 1、构造器私有化 * 2、自动创建,并且用静态保存 * 3、向外提供这个实例 * 4、强调这是一个单利模式,可以用final修饰 */ public class Singleton1 { private Sin 阅读全文
posted @ 2021-12-21 21:38 DHaiLin 阅读(40) 评论(0) 推荐(0)
摘要:maven依赖 <!-- https://mvnrepository.com/artifact/io.netty/netty-all --> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <ve 阅读全文
posted @ 2022-01-11 14:50 DHaiLin 阅读(523) 评论(0) 推荐(0)
摘要:maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> WebSocket服务 impo 阅读全文
posted @ 2022-01-11 14:50 DHaiLin 阅读(571) 评论(0) 推荐(0)
摘要:1、环境配置 java串口通讯需要依赖两个dll文件 rxtxParallel.dll、rxtxSerial.dll,以及第三方sdk(RXTXcomm.jar); 博客园下载:https://files-cdn.cnblogs.com/files/blogs/666773/rxtx-win-x64 阅读全文
posted @ 2021-12-03 13:44 DHaiLin 阅读(1075) 评论(0) 推荐(0)
摘要:1、引入第三方jar包 jacob.jar 2、将第三方依赖 dll文件 置于jdk安装目录下(JAVA_HOME\bin) /** * 一个用java代码实现 语音播报示例 */ //如此处报错,可能是jar的问题 可能要到网上下一个jacob试试 import com.jacob.activeX 阅读全文
posted @ 2022-01-07 15:29 DHaiLin 阅读(875) 评论(0) 推荐(0)
摘要:ProGuard工具 :是一个免费的 Java类文件的压缩,优化,混肴器。它删除没有用的类,字段,方法与属性。使字节码最大程度地优化,使用简短且无意义的名字来重命名类、字段和方法 。 下载地址:https://sourceforge.net/projects/proguard/files/ 文件下载 阅读全文
posted @ 2021-11-17 17:42 DHaiLin 阅读(240) 评论(0) 推荐(0)
摘要:参考文档:https://www.springcloud.cc/spring-security.html#overall-architecture 一、入门案例 当前案例pom.xml配置 <parent> <groupId>org.springframework.boot</groupId> <a 阅读全文
posted @ 2021-12-01 09:46 DHaiLin 阅读(127) 评论(0) 推荐(0)
摘要:mq安装 https://blog.csdn.net/hzw19920329/article/details/53156015 mq安装:https://blog.csdn.net/2401_84911346/article/details/138773135 1.Windows下安装RabbitM 阅读全文
posted @ 2021-10-26 17:28 DHaiLin 阅读(269) 评论(0) 推荐(0)
摘要:相关面试题 1、什么是spring? Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。 2、使用Spring框 阅读全文
posted @ 2021-06-22 20:31 DHaiLin 阅读(91) 评论(0) 推荐(0)
摘要:Window启动命令:java -jar D:\jeecg-boot-module-system-2.0.0.jar Linux下后台进程启动命令:nohup java -jar jeecg-boot-module-system-2.0.0.jar >catalina.out 2>&1 & 关掉项目 阅读全文
posted @ 2021-06-11 19:59 DHaiLin 阅读(96) 评论(0) 推荐(0)
摘要:IOC Ioc:控制反转,把对象的创建和对象之间的调用过程交给spring进行管理; 使用 Ioc 的目的:解耦(降低耦合度); ioc底层原理: xml解析、工厂模式、反射; ioc过程: ioc(接口): 1、ioc思想基于ioc容器完成、ioc容器底层就是对象工厂; 2、spring提供了io 阅读全文
posted @ 2021-06-02 21:07 DHaiLin 阅读(71) 评论(0) 推荐(0)
摘要:SQL 一、数据源的自动配置 HikariDataSource 1、导入jdbc使用场景 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artif 阅读全文
posted @ 2021-05-27 16:46 DHaiLin 阅读(98) 评论(0) 推荐(0)
摘要:将多个Long类型用逗号拼接的字符串转换成List<Long> String orderDetailIds = "1593507066795622400,1593507066795622401,1593507066795622402"; List<Long> orderDetailIdList = 阅读全文
posted @ 2023-12-28 16:10 DHaiLin 阅读(444) 评论(0) 推荐(0)
摘要:Collections 为 List、Set、Map 等集合类定义了相应的空集合常量 // 空 List Collections.emptyList(); // 空 Set Collections.emptySet(); // 空 Map Collections.emptyMap(); 一个元素的集 阅读全文
posted @ 2023-12-28 10:29 DHaiLin 阅读(155) 评论(0) 推荐(0)
摘要:为什么日期有Date了,还在JDK8中推出了LocalDateTime、LocalDate呢? 非线程安全的方法 Date类的大部分方法都不是线程安全的,比如setYear()、setMonth()、setDate()、setHours()、setMinutes()、setSeconds()等方法。 阅读全文
posted @ 2023-12-27 16:14 DHaiLin 阅读(147) 评论(0) 推荐(0)
摘要:1、接口中默认方法修饰为普通方法2、lambda表达式3、函数式接口4、方法与构造函数引用 语法结构: 类名称::方法名称 (lambda表达式更加简洁的写法)5、Stream流接口6、Optonal类 接口中默认方法修饰为普通方法 在jdk8之前,interface之中可以定义变量和放法,变量必须 阅读全文
posted @ 2022-07-09 14:44 DHaiLin 阅读(48) 评论(0) 推荐(0)
摘要:前言:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一 阅读全文
posted @ 2021-12-27 14:39 DHaiLin 阅读(46) 评论(0) 推荐(0)
摘要:1、在当前 service层标注注解 @EnableScheduling 用来开启定时功能 2、在指定当方法上标注注解 @Scheduled 则当前方法会按照指定规则运行 3、在 @Scheduled注解中添加属性,用来表明执行规则 @EnableScheduling public class Sy 阅读全文
posted @ 2021-09-19 18:18 DHaiLin 阅读(320) 评论(0) 推荐(0)
摘要:1、在RabbitMQ的管理后台新建交换机(exchange); 名称(Name): **ParkingExchange** 类型(Type): **fanout** 持久化(Durability): **Durable** 2、在RabbitMQ的管理后台新建队列(queue); 名称(Name) 阅读全文
posted @ 2024-08-28 11:55 DHaiLin 阅读(61) 评论(0) 推荐(0)