自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (3)
  • 收藏
  • 关注

原创 类加载机制和双亲委派

Overridetry {//name:类名 data:字节数组(字节码文件)//初始化自定义类加载器,会先初始化父类ClassLoader,其中会把自定义类加载器的父加载//器设置为应用程序类加载器AppClassLoader// /Users/wq/study/jvm下创建 com.wq.ha.User1几级目录,将User类的复制类User1.class丢入该目录。

2024-09-13 19:59:06 799

原创 7.Redis数据类型(Bitmap)

它通常用于处理大规模数据集中每个元素的状态,比如用户的在线/离线状态(每个用户对应一个位,表示在线(1)或离线(0))、用户签到情况(每天对应一个位,用户当天签到则将该位设为 1)、消息的去重等等。bitmap是属于redis的string数据类型,Redis中一个字符串类型的值最多能存储512MB 的内容,每个字符串由多个字节组成,每个字节又由8个Bit 位组成,上限为2。统计key的位上为1的数量,通过指定额外的 start 或 end 参数,可以让计数只在特定的位置上进行。返回值: 统计为1的数量。

2024-08-08 15:59:03 1279

原创 6.Redis数据类型(ZSET)

对有序集合中指定成员的分数加上增量 increment,可以通过传递一个负数值 increment ,让分数减去相应的值,比如 ZINCRBY key -5 member ,就是让 member 的 score 值减去 5。下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置上。返回有序集中,成员的分数值。

2024-08-07 15:41:43 476

原创 5.Redis数据类型(四)

redis set使用

2024-08-07 10:35:32 1224

原创 4.Redis数据类型(三)

对字段值增加,如果指定的字段不存在,那么在执行命令前,字段的值被初始化为 0。如果哈希表的 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。HMSET key field value [field value ...] 设置指定哈希表中指定字段的值。hset设置指定哈希表中指定字段的值,该命令覆盖散列中存在的指定字段的值。hget获取指定哈希表中指定字段的值。查看指定哈希表中指定的字段是否存在。用于为哈希表中不存在的的字段赋值.获取知道哈希表多个字段的值。获取指定哈希表中所有的键值对。

2024-08-06 16:44:20 304

原创 1.RocketMQ简单使用(一)

本次使用的是rocketmq4.3.0版本,新建maven项目导入依赖。

2024-08-06 09:27:11 357

原创 3.Redis数据类型(二)

lrange key start stop 获取元素(前闭后闭),超过范围的话,只会返回范围内的元素,不会报错。rpop key [count] 删除并返回列表的右端元素。lpop key [count](删除并返回列表的左端元素)可以设置取出的元素个数。lrem key count(要删除的数量) element(要删除的值)移除列表的最后一个元素,并将该元素添加到另一个列表并返回。lpush 插入一个或多个元素到列表的左端。rpush 插入一个或多个元素到列表的右端。获取列表中元素的个数。

2024-08-05 16:17:29 433

原创 2.Redis数据类型(一)

SETRANGE命令我们可以从索引index开始,用你想写入的value值替换掉给定键key所存储的字符串中的部分,这里只接受正数索引。PXAT unix-time-milliseconds:设置以毫秒为单位的unix时间戳对应的时间为过期时间。GETRANGE 获取位于start和end两个索引之间的内容,左右都是闭区间。EXAT unix-time-seconds :设置以秒为单位的unix时间戳对应的时间为过期时间。EX seconds: 以秒为单位设置过期时间。NX: 健不存在的时候设置键值。

2024-08-05 14:33:35 202

原创 1.redis7安装

安装:本次使用的版本为7.0.0.下载上传到 /opt/redis 目录,tar -zxvf redis-7.0.0.tar.gz 解压缩cd redis-7.0.0 执行make执行make install.默认会安装到 /usr/local/bin拷贝 /opt/redis/redis-7.0.0下面的redis.conf 到 /opt/redis下面进入 /opt/redis/redis-7.0.0, cp redis.conf ../redis7.conf。

2024-08-05 10:26:07 349

原创 MAC 启动不了mysql。

【代码】MAC 启动不了mysql。

2024-07-14 14:46:25 128

原创 mongo 安装和启动

2.启动mogoshell。该版本需要自己下载shell。

2023-08-01 20:05:29 204

原创 easyexcel写入门(1)

easyexcel

2023-02-16 20:42:32 178 1

原创 2.redis配置文件

1. 安装见1 ,将/usr/local/temp/redis-5.0.5的redis.conf复制到安装路径下面bin的同级目录下。进入到 /usr/local/temp/redis-5.0.5 目录下 cp redis.conf /usr/local/anzhuang/redis如图:2.查看文件less - mNredis.conf (-m 显示类似more命令的百分比...

2019-11-04 23:58:22 178

原创 1.redis在liunx下的安装

1.下载redisredis官网下载https://redis.io/ 我下载的为redis-5.0.5.tar.gzredis 是c语言开发的,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境。如果没有gcc环境,需要先安装gcc环境2.安装gcc保证root登录和linux能连外网yum -y install gcc automake autoconf...

2019-11-02 00:20:17 190

原创 求2个数以及多个数的最大公约数

直接贴代码 辗转相除法public class Ab { public static void main(String[] args) { int gcd = gcd(49, 91); System.out.println("2个数最大公约数:"+gcd); int gcd2 = gcd(26460, 12375); ...

2019-07-31 12:09:22 199

转载 10 disruptor并发框架

1.简介  参照http://ifeve.com/disruptor/文档 2.helloworld//自己定义的public class LongEvent { private long value; public long getValue() { return value; } public void setV...

2019-01-09 19:31:59 562

转载 9.concurrent.util包2个工具类以及重入锁,读写锁

1.常用工具类(1)countDownLatch

2019-01-08 18:21:25 168

原创 8.线程池

2018-12-28 20:06:11 141

原创 6.queue讲解

并发的queue 1.ConcurrentLinkedQueue 代码实例:package com.wq.队列;import java.util.concurrent.ConcurrentLinkedQueue;/** * @author wangqiang * @date 2018/12/19 18:28 */public class UseQueue {...

2018-12-27 13:35:27 161

原创 7.多线程的设计模式

1.Future模式说明:例子://主函数public class Main { public static void main(String[] args) throws InterruptedException { FutureClient fc = new FutureClient(); Data data = fc.request("请求参数"); ...

2018-12-26 19:54:45 228

原创 5.同步类容器和并发类容器

1.同步类容器都是线程安全的,但在某些场景下可能需要加锁来保护复合操作。复合类操作如:迭代(反复访问元素,遍历完容器中所有的元素)、跳转(根据指定的顺序找到当前元素的下一个元素)、以及条件运算。这些复合操作在多线程并发地修改容器时,可能会表现出意外的行为,最经典的便是 ConcurrentModificationException ,原因是当容器迭代的过程中,被并发的修改了内容,这是由于早期迭代器...

2018-12-19 09:01:40 85

原创 4.单例和多线程

1ThreadLocal.概念:ThreadLocal概念:线程局部变量,是一种多线程并发访问变量的解决方案。与synchronized等加锁的方式不同,ThreadLocal完全不提供锁,而使用以空间换时间的手段,为每个线程提供变量的独立副本,以保障线程安全。从性能上来说,ThreadLocal不具有绝对的优势,在并发不是很高的时候,加锁的性能会更好,但作为一套与锁无关的多线程并发访问变...

2018-12-18 19:03:45 103

原创 3.用wait/notufy模仿 queue队列

 直接列代码package com.wq.队列;import com.sun.corba.se.spi.ior.ObjectKey;import java.util.LinkedList;import java.util.concurrent.atomic.AtomicInteger;/** * @author wangqiang * @date 2018/12/17 19...

2018-12-17 20:14:52 179

原创 2.线程之间的通信wait/notify

1.wait/notify都是Object的方法,java为所有的对象都提供了这两个方法。2.wait和notify必须配合synchronized关键字使用3.wait方法释放锁,notify方法不释放锁最开始不用wait/notify的实现,线程t1加元素,t2检测到t1的元素长度为5的时候停止t2线程。package com.wq.线程间通信;import java.u...

2018-12-17 19:23:21 132

原创 1.volatile关键字

1.volatile关键字 线程变量共享 /** * @author * @date 2018/10/30 20:36 */public class RunThread extends Thread{ private volatile boolean isRunning =true; private void setRunning(boolean isRunni...

2018-12-13 20:12:34 118

原创 基于springboot发邮件

1.添加pom对邮件的支持<dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-mail</artifactId> </dependency>2...

2018-09-13 15:56:10 207

原创 Annotation简要用法(Java反射)

package cn.mldn.test;import cn.mldn.annotation.MyAnnotation;import cn.mldn.vo.Student;import java.lang.annotation.Annotation;import java.lang.annotation.Retention;import java.lang.annotation.Re

2017-09-24 19:14:43 190

原创 了解代理模式

1.建立一个接口类和实现类package cn.mldn.dao;import cn.mldn.vo.User;import java.util.List;/** * Created by wq on 2017/9/18. */public interface IUserDAO { public void doCreate(User vo) throws

2017-09-24 11:37:59 159

原创 java反射模仿struts和spingmvc,自动封装值到实体类

1。工具类package com.util;import com.entity.Student;import javax.servlet.ServletRequest;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.text.SimpleDateFormat;import ja

2017-09-06 20:22:23 456

转载 MySQL数据库将多条记录的单个字段合并成

测试用表结构:CREATE TABLE IF NOT EXISTS `tet` (    `id` int(11) NOT NULL,    `name` varchar(255) NOT NULL,    `url` varchar(255) NOT NULL  ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 转存表中的数据 `tet`IN

2017-08-24 14:10:29 695

原创 关于类的反射相关学习

一 怎么获取类的实例1.例子package com.reflet;/** * Created by wq on 2017/8/18. */class Student{ private String name; private Integer age;/* public Student(String name,Integer age){

2017-08-18 21:57:53 178

翻译 阿里巴巴java开发手册的建议 集合为什么不能 remove

阿里巴巴java开发手册的建议在看阿里巴巴Java开发手册时,有一条建议是这样的。【强制】不要在foreach循环里进行元素的remove/add操作。remove元素请使用Iterator方式,如果并发操作,需要对Iterator对象加锁。反例: ListString> a = new ArrayListString>(); for (String tem

2017-06-12 10:25:01 543

canal1.7安装包,以及支持镜像库源数据库和目标数据库名不一致的同步

canal本身不支持镜像模式,源数据库和目标数据库名不一致。修改后可支持。比如从数据库A同步到A_1这种。

2024-08-09

mongodb6.0.8 ubuntu arch64 mongoshell

https://www.mongodb.com/try/download/community-kubernetes-operator

2023-07-27

disruptror的jar包和例子

disruptor3.3.2的jar包 和一个简单实用disruptor的例子

2019-01-09

springboot发送邮件

基于springboot发送邮件,包括发送简单文本邮件,发送带html的邮件,发送带有附件的邮件,和thymeleaf集成模板邮件等

2018-09-13

代理模式所用jar包

资源包含cglib-2.1.3.jar和asm.jar的jar包,为了改善代理模式只能传入接口的不足,引入cglib可以解决这个问题

2017-09-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除