- 博客(11)
- 收藏
- 关注
原创 微服务-分布式锁(三)-Zookeeper方案
1 Apache-Curator如上借助于临时顺序节点,可以避免同时多个节点的并发竞争锁,缓解了服务端压力。这种实现方式所有加锁请求都进行排队加锁,是公平锁的具体实现。Apache-Curator中提供的常见锁有如下:InterProcessMutex:就是公平锁的实现。可重入、独占锁InterProcessSemaphoreMutex:不可重入、独占锁InterProcessReadWriteLock:读写锁InterProcessSemaphoreV2:共享信号量InterProcess
2021-07-26 09:17:48 132
原创 微服务-分布式锁(二)-Redis方案
1 LUA+SETNX+EXPIRE先用setnx来抢锁,如果抢到之后,再用expire给锁设置一个过期时间,防止锁忘记了释放。setnx(key, value)setnx 的含义就是 SET if Not Exists,该方法是原子的。如果 key 不存在,则设置当前 key 为 value 成功,返回 1;如果当前 key 已经存在,则设置当前 key 失败,返回 0。expire(key, seconds)expire 设置过期时间,要注意的是 setnx 命令不能设置 key 的超
2021-07-26 09:15:27 250
原创 微服务-分布式锁(一)-MySQL方案
1 基于唯一索引(insert)实现记录锁的乐观锁方案。基于数据库的实现方式的核心思想是:在数据库中创建一个表,表中包含方法名等字段,并在方法名字段上创建唯一索引,想要执行某个方法,就使用这个方法名向表中插入数据,成功插入则获取锁,执行完成后删除对应的行数据释放锁。1.1 优缺点优点实现简单、易于理解缺点没有线程唤醒,获取失败就被丢掉了没有超时保护,一旦解锁操作失败,就会导致锁记录一直在数据库中,其他线程无法再获得到锁这把锁强依赖数据库的可用性,数据库是一个单点,一旦数据库挂掉,会导致
2021-07-26 09:09:33 335
原创 Java矩阵的加减乘法
import java.util.Scanner; public class matrix { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入选择:1 或 2 或 3"); ...
2014-08-16 21:34:42 916
原创 Java实现数据压缩---ZLib压缩工具
package cn.wiki.openapi.lry.tool;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.zip.Deflater;im...
2014-08-16 21:34:26 458
原创 Java实现128进制加密数据
package cn.wiki.openapi.lry.tool;import java.util.HashMap;/** * 128进制加解密, 一个符号可表示7个bit * 可以自定义符号表, 符号不能重复 * @author lry * */public class MyBASE128 { public static final c...
2014-08-14 12:26:54 1480
原创 Java验证码生成器
import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.ByteArrayInputStream;import java.io.FileOutputStream;import java....
2014-07-27 08:29:41 292
原创 Java实现逆向最大匹配中文分词算法
写道//Java实现逆向最大匹配中文分词算法public class SplitChineseCharacter { public static void main(String[] args) { String input = "太好了,今天是星期六啊"; // 要匹配的字符串 new Split(input).start(); }}class Split { private Strin...
2014-07-27 08:07:36 566
原创 java读取ORACLE数据库表字段信息以及注释信息
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.HashM...
2014-07-27 08:01:43 3357
原创 封装JPA动态查询(CriteriaQuery)
JPA动态查询(CriteriaQuery)封装的一段代码:package com.platform.framework.dao.jpa;import java.io.Serializable;import java.util.ArrayList;import java.util.Collection;import java.util.Date;import ...
2014-07-16 12:06:42 3036 1
原创 利用Java将Oracle数据表生成JPA实体对象
package cn.lry.iteye.jpa.tool;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.DatabaseMet...
2014-07-14 13:44:27 545
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人