- 博客(15)
- 收藏
- 关注
转载 rocketMQ的安装以及示例代码-转载
本篇文章转载至-点击这里一、安装及启动1、将zip文件上传到linux的~下,然后解压:执行:unzip rocketmq-all-4.4.0-bin-release.zip,若unzip命令不存在,执行:yum install -y unzip zip2、移动并重命名执行:mv rocketmq-all-4.4.0-bin-release /usr/local/rocketmq3、进入/usr/local/rocketmq/bin目录下执行:cd /usr/local/rocketmq/bi
2022-01-05 11:09:08 512
原创 ArrayBlockingQueue
ArrayBlockingQueue是阻塞队列中的一个有界队列,当队列满时,再有数据入队列,将会抛出异常。本篇主要介绍该类的相关方法。该阻塞队列使用可重入锁ReentrantLock实现同步。一、相关方法ArrayBlockingQueue(int capacity);ArrayBlockingQueue(int capacity, boolean fair)ArrayBlockingQueue(int capacity, boolean fair, Collection<? extend
2021-12-15 17:37:30 612 1
原创 HashMap的方法(一)
先解释一下相关的位操作符:&:按位与,同1为1,否则为0|:按位或,有1为1,否则为0^:按位异或,不同为1,否则为0‘>>’:有符号右移,即从右到左,高位补0,低位抛弃‘<<’:有符号左移,即从左到右,低位补0,高位抛弃,一、resize()resize方法源码注释定义为初始化或者扩容方法。当表数组为空或者长度为0,则为初始化。若表实际的数据长度大于 负载因子(loadFactory * 定义数据长度),则为扩容方法final Node<K,V>
2021-11-15 17:34:36 408
原创 Mybatis的工作流程及原理
Mybatis可以说是Java开发在实际中用到的最多的ORM框架了。我们只需要引入Mybatis,配置好mybatis-config.xml文件,在实际开发的时候,写一个接口dao层,再写一个对应的xml文件,就可以了。最最主要的是上手真的很简单方便,相比于hibernate而言,学习成本要低很多。既然是用的最多的,那么对于它的相关工作流程以及原理我们肯定是需要掌握的,要知其所以然,刨根问底才是一个好的程序员应有的品质。一、工作流程1.开始@Test public void MybatisT
2021-10-22 15:24:59 2367 2
原创 Java中的动态代理
代理模式是常用的设计模式之一,使用代理我们可以在执行被代理类的方法时对其进行增强,比如说被代理类的方法执行的是去访问数据库的数据,但是对于访问者的身份没有做判断,我们可以在代理类中对其进行增强,执行当前方法前判断访问者身份,达到安全的目的。代理模式又分静态代理和动态代理。我们主要说动态代理。Java中一般有两种动态代理方式,一种是jdk自带的JDK动态代理、还有一个是引用第三方库的CGLIB动态代理一、JDK动态代理1.1相关介绍JDK动态代理使用java.lang.reflect.Invocat
2021-09-18 10:41:11 611 1
原创 Redis持久化
Redis的持久化众所周知,Redis的数据都是在内存中的,这也是Redis快的原因之一。但是内存的数据的生命周期机器本次开机到下次关机,当机器宕机的时候,内存中的数据会全部丢失,所以Redis需要一种机制来保存数据,保证下次机器恢复的时候,源数据能迅速的恢复至宕机前的状态。Redis的持久化有两种方式,RDB快照、AOF日志。快照是内存数据的二进制序列化的形式,在RDB文件中存储排列非常紧密。而AOF是记录修改数据的命令文本,随着时间的延长,AOF日志文件会变得非常庞大,所以要求定期对AOF文件进行重
2021-09-16 18:12:57 97 1
原创 堆排序的简单描述(实现)
一、需要了解的基本概念大顶堆:在一棵二叉树中,根节点一定大于其左右子节点的值小顶堆:在一棵二叉树中,根节点一定小于其左右子节点的值二叉树和数组的转换:假设根节点在数组中的位置为n,那么它的左子节点的位置为2n+1,右子节点的位置为2n+2最后一个非叶子结点的位置:假设数组的长度为len,则最后一个非叶子节点的位置为(len / 2) - 1二、堆排序的思想了解了上述的基本概念之后,来说一下堆排序的基本思想顺序,以大顶堆(升序)为例1、从最后一个非叶子结点开始,依次将非叶子结点与它的左右子
2021-09-08 17:04:29 189
原创 AQS(AbstractQueuedSynchronizer)
一、先了解一下AQS队列同步器(AQS)是java中用来构建锁或者其他同步组件的基础框架,它使用了一个int类型的成员变量state来表示同步状态。并且通过内置的FIFO(先进先出)队列来完成线程的排队工作。 /** * The synchronization state. */ private volatile int state;有的同学可能去看AbstractQueuedSynchronizer.java源码的时候并没有看到有个队列的成员变量,但是有一个静态内部类N
2021-09-06 11:09:54 110 1
原创 Java关于字符串转成时间的一个小问题
最近一次将字符串转成时间的时候,应该使用yyyy-MM-dd HH:mm:ss,但是被使用成了yyyy-MM-dd hh:mm:ss,使得发现了一个小问题:1、yyyy-MM-dd HH:mm:ss表示的是24小时制的2、yyyy-MM-dd hh:mm:ss表示的是12小时制的,在实际使用过程中发现,只会将xxxx-xx-xx 12:xx:xx,小时为12小时的转化成0时的。大于12小时的不会进行变化。 public static void main(String[] args) {
2021-06-18 11:05:06 152
原创 Java给图片加上水印(图片或者文字都可)
最近有一个任务,是将微信返回的小程序码加上相应的标识,以此直观看出当前小程序码的归属。Java中对图片进行操作需要通过Image类,该类有一个实现类BufferedImage,通过BufferedImage我们可以获得当前缓存图片的画笔工具,对当前图片进行操作,比如将另一张图片放在当前图片上加水印,或者在当前图片上加文字水印。话不多说,直接上代码实例,写的不好请见谅1、大多数时候我们都是获取到的图片(小程序码/二维码)的文件流,因为我这里是获得流。 //获取缓冲图片 Buff
2020-09-27 15:46:10 1311
原创 FTP的文件上传到阿里云OSS存储服务器
FTP的文件上传到阿里云OSS存储服务器作为一名实习生,在公司只能是做简单的工作,但是简单的工作只是做过之后才觉得简单,第一次做的时候还是碰了很多壁的,在此记录一下!!首先,连接FTP服务器:public FTPClient initFtpClient() throws IOException { FTPClient ftpClient = new FTPClient();...
2019-12-16 15:37:24 3080 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人