自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

尽量致力于发表微服务、中间件和算法等原创作品。

尽量致力于发表微服务、中间件和算法等原创作品。

  • 博客(8)
  • 资源 (14)
  • 收藏
  • 关注

原创 基于Sharding Sphere 4.1.1生产过程中动态建表并自动刷新Node

本文基于JDK17和sharding sphere 4.1.1版本实现,主要解决sharding sphere不提供动态建表功能,需要事先创建好所有的分表。如果数据库存在大量无用的空表,在SQL无法命中分表字段的前提下sharding会触发所有分表查询,这样是程序上和效率上都是无法接受的。如果不事先建立分表,查询命中未建立的分就会报数据库异常。diss死他,sharding缺少这样的功能实在是太难受了。

2023-06-14 17:06:52 2191 9

原创 Java基于数据库表的ID生成序列

客户端获取ID时先判断本地内存是否有足够生成ID个数,如果有就在ID池中获取一个,否则从数据中批量取出一部分到本地内存,然后在取出一个提供给相应业务使用。考虑到在多线程和分布式集群环境下,需要做到高性能、高可靠性和ID生成不重复,就需要结合本地锁和分布式锁来保证。使用本地电脑测试100线程循环100次,大概1秒可生成3W个ID。Oracle和Postgresql等数据库都有主键序列生成功能,但存在一定局限性,例如:每条数据生成都需要查询一次序列、没有其它业务属性、过度依赖特定数据库环境等。

2023-01-18 10:14:41 1236 1

原创 数据库事物隔离级别

数据库事务的隔离级别有4个,由低到高依次为Read uncommitted(读未提交) 、Read committed(读已提交) 、Repeatable read(重复读) 、Serializable(序列化) ,这四个级别可以逐个解决脏读 、不可重复读 、幻读这几类问题。而事务1,继续执行在旧版本的数据上。整个事务过程中,对同一笔数据的读取结果是相同的,不管其他事务是否在对共享数据进行更新,也不管更新提交与否。一个事务的更新操作结果只有在该事务提交之后,另一个事务才可以的读取到同一笔数据更新后的结果。

2023-01-17 16:40:21 2619

转载 MySQL索引-B+树(讲得通透)

索引这个词,相信大多数人已经相当熟悉了,很多人都知道MySQL的索引主要以B+树为主,但是要问到为什么用B+树,恐怕很少有人能把前因后果讲述的很完整。本文就来从头到尾介绍下数据库的索引。索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在[1,2,3,4]中找到4这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。索引在mysql数据库中分三类:B+树索引、Hash索引、全..

2021-06-17 16:07:59 10682 14

转载 平衡二叉树详解

平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。这个方案很好的解决了二叉查找树退化成链表的问题,把插入,查找,删除的时间复杂度最好情况和最坏情况都维持在O(logN)。但是频繁旋转会使插入和删除牺牲掉O(logN)左右的时间,不过相对二叉查找树来说,时间上稳定了很多。平衡二叉树大部分操作和二叉查找树类似,主要不同在于插入删除的时候平衡二叉树的平衡可

2021-06-17 10:53:20 43159 2

原创 JAVA多线程执行结果汇总,多线程执行,将结果汇总后返回给主线程

/*** 多线程执行结果汇总工具** @author 张帅* @date 2021年05月20日 11时28分02秒* @version V1.0** @param <T>*/@Slf4jpublic class MultiFutureThread<T> { // 总线程数量 private int threadSize; // 单次执行多少次线程 private int singleSize; ...

2021-06-01 11:58:05 9163 2

原创 定时删除Map中的元素 -- Map中的元素自动过期

不会写博客,就简介绍一下吧。主要功能是定时删除Map中的元素,类似于redis中的get和set,是增强型HashMap,在put时可为每个KEY增加一个过期时间,如果没有设置过期时间那这个key是永久的,忙写的没经过测试,如果有问题请自行解决,谢谢!import java.util.HashMap;import java.util.Map;import java.util.Timer;...

2020-03-21 18:04:09 8113 8

原创 还原卡破解原理~!

本方法引用于《电脑爱好者》--由0晋升为200%防黑高手       硬盘保护卡的运行原理是抢夺操作系统引导权,将原来的0磁头0磁道1扇区的引导信息保存到其它的扇区上并将自己的代码写入到0磁头0磁道1扇区中,从而在操作系统之前得到操作权,这一点与引导病毒有些相似。保护卡的运行原理:        1、拦截所有INT13H(中断向量)对硬盘0磁头0磁道1扇区的操作;        2

2007-04-03 17:34:00 795

张孝祥正在整理Java就业面试题大全

张孝祥正在整理Java就业面试题大全.doc

2015-04-22

云计算资料大全

01_云计算资料大全(了解云计算者必读).pdf

2015-04-22

2009年8月最新全国邮编区号数据库.rar

2009年8月最新全国邮编区号数据库.rar

2009-09-04

java用网址抓取网页内容

java用网址抓取网页内容,可用作Ajax+jsp跨域访问

2009-09-04

servlet.chm

servlet.chm 帮助文档 api手册

2009-09-04

数据库四个级别 详解

数据库四个级别详解 数据库四个级别详解.doc

2008-12-23

MySQL真分页(JSP修正版)

修正版 以前有几处错误,现已经改正,并增加了几个功能,在此万分的报欠 用法:不用写连接数据库等多余代码(在ConnLink.java文件中修改一下相关属性就可以了,如果不想写分页,在ConnLink.java文件中DBlink()方法可以返回一个Statement对象,然后就可以利用这个返回值去写你想要的代码了),只要建立一个Page对象,调用SelectRS()方法,将SQL语句当前页码和每页要显示的条数正确的写入。SelectRS()会自动返回一个结果集rs,然后用rs遍历输出结果。用getFrist()、getBack()、getLast()、getNext()等方法进行取得上一页的页码,下一面的页码就可以了。 看了之后是不是很心动呢~~~ HOHO~~其实我的代码有很多不足,例如:是不是可以做成通用的分页?也可以把DBlink()中的conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jiuzhou","root","123456");用的连接参数写在xml中生成一个JAR包,这样才更有扩展性,你说呢~~。希望高手能继续改良,让这段代码更精一些。HOHO~~~~改完之的一定要发到网上供大家参考和使用,HOHO,千万另忘了告诉我呀,我的QQ:153815077

2008-10-01

JSP版MySQL真分页

用法:不用写连接数据库等多余代码(在ConnLink.java文件中修改一下相关属性就可以了,如果不想写分页,在ConnLink.java文件中DBlink()方法可以返回一个Statement对象,然后就可以利用这个返回值去写你想要的代码了),只要建立一个Page对象,调用SelectRS()方法,将SQL语句当前页码和每页要显示的条数正确的写入。SelectRS()会自动返回一个结果集rs,然后用rs遍历输出结果。用getFrist()、getBack()、getLast()、getNext()等方法进行取得上一页的页码,下一面的页码就可以了。 看了之后是不是很心动呢~~~ HOHO~~其实我的代码有很多不足,例如:是不是可以做成通用的分页?也可以把DBlink()中的conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jiuzhou","root","123456");用的连接参数写在xml中生成一个JAR包,这样才更有扩展性,你说呢~~。希望高手能继续改良,让这段代码更精一些。HOHO~~~~改完之的一定要发到网上供大家参考和使用。

2008-10-01

MySQL真分页(jsp版)

用法:不用写连接数据库等多余代码(在ConnLink.java文件中修改一下相关属性就可以了,如果不想写分页,在ConnLink.java文件中DBlink()方法可以返回一个Statement对象,然后就可以利用这个返回值去写你想要的代码了),只要建立一个Page对象,调用SelectRS()方法,将SQL语句当前页码和每页要显示的条数正确的写入。SelectRS()会自动返回一个结果集rs,然后用rs遍历输出结果。用getFrist()、getBack()、getLast()、getNext()等方法进行取得上一页的页码,下一面的页码就可以了。 看了之后是不是很心动呢~~~ HOHO~~其实我的代码有很多不足,例如:是不是可以做成通用的分页?也可以把DBlink()中的conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jiuzhou","root","123456");用的连接参数写在xml中生成一个JAR包,这样才更有扩展性,你说呢~~。希望高手能继续改良,让这段代码更精一些。HOHO~~~~改完之的一定要发到网上供大家参考和使用。 刚刚才发现Page.java文件是空的,在这里我就加上吧!实在是不好意思了 package com.SpreadPage; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import com.DateBase.*; public class Page extends ConnLink{ private Statement stmt=null; private ResultSet rs=null; private int row=0; private int num=0; private int page=0; private int list=0; //搜索去向 搜索条件 当前第几页 每页条数 public ResultSet SelectRS(String select,int page_num,int page) { this.num=page_num; this.page=page; String sql=select+" limit "+(page_num*page)+","+(page_num*page+page); //System.out.println(sql); try { stmt=DBlink(); rs=stmt.executeQuery(select); rs.first(); rs.last(); this.row=rs.getRow(); System.out.println(sql); if(rs!=null) { rs.close(); } if(stmt==null) { System.out.println("Stmt无连接"); return null; } rs=stmt.executeQuery(sql); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return rs; } //获得总记录数 public int getRow() { return row; } //第一页 public int getFrist() { return 0; } //最后一页 public int getBack() { if(getRow()%page==0) { return getRow()/page; } return (getRow()/page)+1; } //上一页 public int getLast() { if(num<=0) { return 0; } return (num-1); } //下一页 public int getNext() { int back=getBack(); if(num>=back) { return num; } return (num+1); } //当前页的条数 public int getNow() { try { rs.first(); rs.last(); list=rs.getRow(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } //当前第几页 public int getPage() { int sum=(num*page-page)+1; if(getRow()<sum) return 0; return sum; } }

2008-09-30

夏昕.深入浅出Hibernate.PDF

夏昕.深入浅出Hibernate.PDF

2008-09-30

JSP MySQL真分页.rar

我的名字叫张帅,我很喜欢JSP。刚刚毕业,还没有找到工作,心里是郁闷的很呀~~~,想在网上找点项目去做,可是网上的大团队都很多,所JSP的项目很难找。 我们欧尚团队一共有四个人。一个美工,三个程序员,曾在东北做过《黑龙江食品质量监督网》、《黑龙江燃油补贴网》等网站,现在正做一个关于网络电影、音乐和MTV的一个音像网站(注:其采用struts2、hibernate、spring等框架技术。这是一个开源的,可供下载原码,这是为了宣传我们团队的一种办法)。 我的QQ是:982670932 希望大家能和我们团队一起学习和交流 在此我们团队有信心有实力承接各种项目。 用法:不用写连接数据库等多余代码(在ConnLink.java文件中修改一下相关属性就可以了,如果不想写分页,在ConnLink.java文件中DBlink()方法可以返回一个Statement对象,然后就可以利用这个返回值去写你想要的代码了),只要建立一个Page对象,调用SelectRS()方法,将SQL语句当前页码和每页要显示的条数正确的写入。SelectRS()会自动返回一个结果集rs,然后用rs遍历输出结果。用getFrist()、getBack()、getLast()、getNext()等方法进行取得上一页的页码,下一面的页码就可以了。 看了之后是不是很心动呢~~~ HOHO~~其实我的代码有很多不足,例如:是不是可以做成通用的分页?也可以把DBlink()中的conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jiuzhou","root","123456");用的连接参数写在xml中生成一个JAR包,这样才更有扩展性,你说呢~~。希望高手能继续改良,让这段代码更精一些。HOHO~~~~改完之的一定要发到网上供大家参考和使用,HOHO,千万另忘了告诉我呀,我的QQ:153815077

2008-09-30

恢复SSDT源码

恢复SSDT源码恢复SSDT源码恢复SSDT源码恢复SSDT源码

2008-03-21

恢复SSDT源码

恢复SSDT源码恢复SSDT源码恢复SSDT源码恢复SSDT源码

2008-03-21

空空如也

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

TA关注的人

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