JAVA
文章平均质量分 65
Aeolian钦
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Rocket单机启动
下载 官方下载 https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.9.2/rocketmq-all-4.9.2-source-release.zip 上传到Linux服务器 unzip rocketmq-all-4.9.2-source-release.zip cd rocketmq-all-4.9.2/ mvn -Prelease-all -DskipTests clean install -U cd distribution/target/roc原创 2022-02-22 10:59:45 · 1662 阅读 · 0 评论 -
深拷贝和浅拷贝理解和代码实践
基本介绍 浅拷贝:对于基本数据类型和字符串只是将值进行复制,对于引用类型只是指向同一片内存地址,所以在一个对象方式变化时,另外一个也会发生变化 深拷贝:重新创建新的内存地址,存储对应的值 代码 浅拷贝 ShallowTargetClass :目标对象 ShallowClass:拷贝对象 Client:客户端操作 public class ShallowTargetClass implements Serializable,Cloneable { private String className;原创 2021-09-12 19:38:41 · 98 阅读 · 0 评论 -
Collection集合分析之LinkedList
LinkedList 继承AbstractSequentialList 实现List,Dueue,Cloneable,Serializable 由链表实现 三个变量 transient int size = 0; transient Node<E> first; transient Node<E> last; size:节点个数 first:头节点 last:尾节点 两个构造函数 public LinkedList() { } public LinkedList(Col原创 2021-06-06 17:28:45 · 224 阅读 · 0 评论 -
Collection集合分析之ArrayList
ArrayList 基础自AbstractList 实现了List,RandomAccess,Cloneable,Serializable接口 四常量 private static final int DEFAULT_CAPACITY = 10; private static final Object[] EMPTY_ELEMENTDATA = {}; private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA原创 2021-06-05 23:38:15 · 206 阅读 · 0 评论 -
Collection集合分析(1)
前言 集合是我们在日常开发中经常使用,它位于java.util包,顾名思义,他是java的工具类,帮助我们完成各种操作,他充分利用了java的继承来实现他的功能。以下是我画的一个集合的一个继承关系图,主要牵涉到是ArrayList,LinkedList,HashSet,TreeSet这几个集合类,我在这里也是通过这几个集合类来画他的基础关系,真实情况下,他的继承关系还要复杂的多。 Collection 在这一章中,我主要要说的就是这个接口Collection,他定义了集合必须要有的规范,我们可以通过IDE原创 2021-04-23 01:08:42 · 154 阅读 · 0 评论 -
StringBuffer方法分析
类结构原创 2021-04-21 14:44:21 · 247 阅读 · 0 评论 -
Activiti初始化创建表提示表不存在
问题出现背景 在刚接触activiti时,使用ProcessEngineConfiguration的方式进行配置构建ProcessEngine对象时创建表是没问题的,但是在使用spring整合Activiti时,他出现了一个异常 提示表不存在,一般情况下,spring启动时,创建ProcessEngine对象,如果表不存在的,它会出现自动创建表,但是这里直接提示表不存在就感觉很奇怪。 问题解决方法 在数据库url后面拼接nullCatalogMeansCurrent=true ...原创 2021-04-13 21:32:25 · 669 阅读 · 1 评论 -
Springboot整合Redis
介绍 springboot整合redis需要的是spring的另外一个项目 spring data ; 他使用的是RedisTemplate这个类来进行操作 导入依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifact原创 2021-04-12 22:44:53 · 250 阅读 · 1 评论 -
String常用方法解析
String的常用方法解析 String的方法很多,这里只列出常用的几种方法进行查看解析,研究底层 jdk的实现和他的代码编写。 startsWith 和 endsWith startsWith主要是为了判断该String a 对象是是 String b开头。 例如 String a = "ABCD"; String b = "AB"; System.out.println(a.startsWith(b)); 返回的一定是一个true,startsWith 还有一个重写的方法,加了一个int 参数,原创 2021-04-04 22:44:13 · 330 阅读 · 2 评论 -
String的创建方式
String概述 String类型是java的一个最基本的对象,他底层是用char[]实现,是一个不可继承类,即final类。 String是我们平时使用最多的,所以我们要深入理解String类他的实现和底层。 前置:value是字符数组,而且是一个常量不可变,。 hash 默认是0 构造函数 无参构造 String类型的无参构造,他是将空字符串给了char[] public String() { this.value = "".value; } 值得注意的是String new与不new的区别是什原创 2021-04-03 23:39:40 · 1452 阅读 · 1 评论 -
JUC理解(5)
读写锁ReadWriteLock 我们经常会做种操作,在我们对数据进行读的时候,希望大家都能读,而我们对数据进行写的时候,我们希望只能有一个人写。这就是读写锁。 介绍 ReadWriteLock维护一对关联的locks ,一个用于只读操作,一个用于写入。 read lock可以由多个阅读器线程同时进行,只要没有作者。 write lock是独家的。 所有ReadWriteLock实现必须保证的存储器同步效应writeLock操作(如在指定Lock接口)也保持相对于所述相关联的readLock 。 也就是说,原创 2020-12-27 11:31:13 · 166 阅读 · 1 评论 -
二叉排序树理解
什么是二叉树 二叉树(Binary tree)是树型结构中一个非常重要的类型,许多问题抽象出来都是树的形式,二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个结点。 什么是二叉排序树 二叉排序树,是普通二叉树的有序形式 特点: 1.如果左子树不为空,左子树的所有节点都比根节点要小 2.如果右子树不为空,右子树的所有节点都比根节点要大 3.左右子树也分别为二叉排序原创 2020-12-26 17:44:37 · 540 阅读 · 0 评论 -
JUC理解(4)
辅助类 JUC包下,三个辅助类, CountDownLatch, CyclicBarrier, Semaphore CountDownLatch 作用:允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助。 首先看看这个辅助类,从英文字母上理解,这就是一个减法, 这个类只有一个有参构造器,就能得知,这就是个待减数值,根据官方的解释:CountDownLatch用给定的计数初始化。 await方法阻塞,直到由于countDown()方法的调用而导致当前计数达到零,之后所有等待线程被释放,并且任原创 2020-12-26 16:56:31 · 165 阅读 · 0 评论 -
JUC理解(3)
Callable的使用 Callable 是JUC中存在的一个创建线程的接口, Callable接口类似于Runnable ,因为它们都是为其实例可能由另一个线程执行的类设计的。 Runable和Callable的不同之处 1、Runable没有返回值,Callable会定义一个泛型,即他的返回结果类型 2、Runable没有抛出异常,而Callable在计算结果的时候,如果无法得出,会抛出异常 3、方法不同,Runable使用的是run() 方法,而Callable定义的则是call方法 怎么使用原创 2020-12-26 11:50:23 · 171 阅读 · 0 评论 -
JUC理解(2)
集合 在高并发情况下,我们熟知的ArrayList,HashMap等集合类都是现场不安全的, 代码测试: public static void main(String[] args) { List<String> list = new ArrayList<>(); for (int i=0;i <= 10; i++){ new Thread(()->{ list.add(UUID.rand.原创 2020-12-25 23:43:56 · 121 阅读 · 0 评论 -
JUC理解(1)
什么是JUC JUC是Java一个并发工具包,即java.unit.concurrent 并发和并行 说起并发就不可避免的说下并行,有些人可能还不清楚并发和并行 在我看来 并发:多线程操作同一个资源 并行:多个线程一起跑 在CPU的角度看 并发:CPU一核,模拟出多条线程,快速交替 并行:CPU多核,多个线程可以同时执行;线程池 并发编程的本质 充分利用CPU的资源 线程和进程的区别 进程:一个程序,程序的集合,一个进程往往包含多个线程(至少包含一个) 线程:比如我们开启一个Typora,我们在原创 2020-12-25 20:35:31 · 198 阅读 · 0 评论
分享