自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

斌斌(Java)

这是一个俗世行者的空间,这是一个技术交流的平台

  • 博客(229)
  • 资源 (23)
  • 收藏
  • 关注

原创 如何保证数据库、缓存的双写一致?

在我们日常研发过程中,由于数据库的一些限制,我们经常使用缓存(如:Redis)来提升访问速率。此时,数据库和缓存双写数据就存在一致性问题,这个问题跟开发语言无关,在高并发场景下,问题更加严重。另外,在面试、工作中也会经常遇到这个问题。所以这里跟大家一起探讨下数据库和缓存双写一致性问题的解决文案。

2024-04-11 17:22:42 467

原创 mysql笔记:25. docker环境中mysql主从复制、主主复制实操

Docker容器是现在的主流技术,容器提供了细粒度的系统隔离机制,每个容器都完全独立,其中包括了应用以及所有需要的系统依赖,可以把系统中每个服务放入容器,让各个服务都以容器的形式运行,这样就大大简化了系统的部署过程,更加便于维护。

2024-03-27 17:11:49 798

原创 mysql笔记:24. 主从同步环境搭建

MySQL的主从同步(Master-Slave Replication)是一个常用的数据备份和恢复策略,它允许在两个或多个数据库服务器之间实现数据同步。这种方案不仅可以提高数据备份的效率,还可以实现读写分离,从而提高整个系统的性能和可靠性。

2024-03-20 16:30:49 551

原创 mysql笔记:23. 在Mac上安装与卸载MySQL

MySQL对Mac电脑的适配十分强大,再加上Mac本身就是Unix操作系统演化而来的,所以在Mac上安装MySQL的方式有多种。常见的方法有如下三种:DMG、brew、TAR。介绍这些方法前,我们先了解下MySQL安装文件的下载。

2024-03-20 14:25:04 714

原创 mysql笔记:22. 事务隔离级别的一种通俗讲解

事务隔离级别,是为了解决多个并行事务竞争导致的数据安全问题的一种规范。具体来说,多个事务竞争可能会产生三种不同的现象。

2024-03-18 21:01:11 546

原创 mysql笔记:21. 演示脏读、不可重复读和幻读现象

在MySQL中,事务有4种隔离级别,分别为READ UNCOMMITTED(读未提交)、READ COMMITTED(读已提交)、REPEATABLE READ(可重复读)和SERIALIZABLE(串行化)。

2024-03-18 17:35:57 1092

原创 mysql笔记:20. 什么是数据库六大范式

范式(Normal Form,简称NF)是数据库设计时遵循的一种规范,不同的规范要求遵循不同的范式。数据库范式是数据库设计表结构所遵循的规范和指导方法,目的是为了减少冗余,建立结构合理的数据库,从而提高数据存储和使用的性能。这六大范式在数据库设计中是层层递进的,满足更高层次的范式通常意味着数据库的设计更加合理、数据冗余更少、维护更加方便。但在实际应用中,并不是一定要满足所有范式,而是要根据具体的应用场景和需求进行权衡和选择。

2024-03-15 18:32:35 1181 2

原创 mysql笔记:19. 主从复制和主主复制

主从复制(也称AB复制)允许将来自一个MySQL数据库服务器(主服务器)的数据复制到一个或多个MySQL数据库服务器(从服务器)。根据参数文件的配置,可以复制数据库中的所有数据。横向扩展解决方案:在多个从站之间分配负载以提高性能。在此环境中,所有写入和更新都必须在主服务器上进行。但是,读取可以在一个或多个从设备上进行。该模型可以提高写入性能(因为主设备专用于更新),同时显著提高了从设备的读取速度。

2024-03-14 16:19:46 911

原创 mysql笔记:18. 示例数据库

MySQL示例数据库是MySQL官方提供的开源项目,旨在帮助用户学习和实践MySQL数据库。一个示例数据库可以提供真实的数据库环境,一般包含了多个表格,每个表格都有不同的结构和数据。通过使用示例数据库,用户可以通过实际操作来学习和理解MySQL数据库的各种功能和特性。MySQL官方网站提供了以下几个示例数据库:employee、world、sakila、airportdb以及menagerie。这些数据库既可以用于日常学习和测试,也可以作为我们设计数据库时的一个参考。

2024-03-14 14:37:33 921

原创 mysql笔记:17. 数据库编程

自定义函数和存储过程类似,都是存储在数据库中的一段SQL语句集合;区别在于存储过程没有直接返回值,主要用于执行操作,而自定义函数可以通过RETURN语句返回数据。自定义函数创建之后,可以使用SHOW FUNCTION STATUS语句和SHOW CREATE FUNCTION语句分别显示存储过程的状态信息和创建信息,也可以在数据库information_schema的Routines数据表中查询。从语法来看,查看存储过程和自定义函数相似,只是使用的关键字不同。

2024-03-13 17:03:13 474

原创 mysql笔记:16. InnoDB存储引擎

InnoDB是MySQL默认的存储引擎,它主要由三部分组成,分别是存储结构、内存结构和线程结构。

2024-03-13 16:29:22 828

原创 mysql笔记:15. 事务和锁

在MySQL中,事务就是针对数据库的一组操作,它可以由一条或多条SQL语句组成。在程序执行过程中,只要有一条SQL语句执行失败或发生错误,其他语句都不会执行;也就是说,事务中的语句要么都执行,要么都不执行。为数据库的一组操作提供了一个从失败中恢复到正常状态的途径,同时保证了数据库即使在异常状态下也仍能保持数据的一致性。当多个应用程序并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。

2024-03-12 19:45:01 899

原创 mysql笔记:14. 权限管理

在实际生产中,为了保证数据的安全,数据库管理人员需要为不同的操作人员分配不同的权限,限制登录MySQL服务器的用户只能在其权限范围内操作。同时管理员还可以根据不同的情况为用户授予权限或收回权限,从而控制操作人员的权限。

2024-03-12 12:25:17 1120

原创 mysql笔记:13. 用户管理

MySQL是一个多用户数据库管理系统,不同的用户分配不同的权限,其用户大致分为root用户和普通用户。root用户是超级管理员,拥有所有权限,如创建用户、删除用户、管理用户等。普通用户只有被授予的指定权限。在校学习和日常开发的时候,为了方便,一般都可以通过root用户登录数据库进行相关的操作;但生产环境为保证数据库的安全,需要对不同用户的操作权限进行合理的管理,让用户只能在指定的权限范围内操作。

2024-03-11 17:42:16 1115

原创 mysql笔记:12. 数据备份与还原

在操作数据库时,难免会发生一些意外情况造成数据丢失。为了确保数据的安全,需要定期对数据库中的数据进行备份,这样当遇到数据库中数据丢失或出错的情况时,就可以将数据还原,从而最大限度地降低损失。

2024-03-11 15:42:54 579

原创 mysql笔记:11. 性能优化

性能优化是通过合理安排资源,调整系统参数使MySQL运行更快、更节省资源。主要包括查询速度优化、更新速度优化、MySQL服务器优化等。

2024-03-08 19:38:54 1147

原创 mysql笔记:10. 日志

MySQL日志主要分为四类。错误日志:记录服务的启动、运行或停止MySQL服务时出现的问题。查询日志:记录建立的客户端连接和执行的语句。二进制日志:记录所有更改数据的语句,可以用于数据复制。慢查询日志:记录所有执行时间超过long_query_time的所有查询或不使用索引的查询。在默认情况下,所有日志创建于MySQL数据目录中。通过刷新日志,可以强制MySQL关闭和重新打开日志文件。当执行一个FLUSH LOGS语句或执行或时,将刷新日志。

2024-03-08 18:04:40 1269

原创 mysql笔记:9. 数据查询

数据库管理系统的一个最重要功能就是数据查询,数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选,以及确定数据以什么样的格式显示。MySQL提供了功能强大、灵活的语句来实现这些操作。

2024-03-08 16:52:42 979

原创 mysql笔记:8. 视图

数据库中的视图是一个虚拟表。同真实的表一样,视图包含一系列带有名称的列和行数据。行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成。

2024-03-08 12:27:36 934

原创 mysql笔记:3. 表数据更新

存储在系统中的数据是数据库管理系统(DBMS)的核心,数据库被设计用来管理数据的存储、访问和维护数据的完整性。那么,数据库和表创建完成后,应该如何使用呢?

2024-03-07 20:45:16 524

原创 mysql笔记:5. 运算符

在MySQL中,运算符是指在执行特定算术或逻辑操作时用到的符号。常用的运算符有算术运算符、比较运算符、逻辑运算符、位运算符等。

2024-03-07 20:00:52 844

原创 mysql笔记:4. 数据类型

数据库中的表由多列字段构成,每一个字段指定了不同的数据类型。指定字段的数据类型之后,也不决定了向字段插入的数据内容,不同的数据类型也决定了MySQL在存储数据时的使用方式。MySQL支持多种数据类型,包括数值类型、浮点型、日期/时间类型和字符串类型等。

2024-03-07 18:43:32 981

原创 mysql笔记:7. 索引

在关系数据库中,索引是一种可以加快数据检索速度的数据结构,主要用于提高数据库查询数据的性能。在MySQL中,一般在基本表上建立一个或多个索引,从而快速定位数据的存储位置。

2024-03-06 19:40:40 1127

原创 mysql笔记:2. 表操作

数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位。数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的。每一行代表一条唯一的记录,每一列代表记录中的一个域。

2024-03-06 18:33:42 437

原创 mysql笔记:6. 存储引擎

InnoDB存储引擎为事务弄数据库的首选引擎,支持事务安全表,支持行锁和外键。MySQL 5.5.5后,它也是默认存储引擎。具有提交、回滚和崩溃恢复能力的事务安全性,其锁定在行级并且也在SELECT语句中提供一个类似Oracle的非锁定读。在SQL查询中,可以自由将InnoDB类型的表与其他类型的表混合起来。它是为处理巨大数据量的最大性能设计。其CPU效率可能是其他基于磁盘的关系数据库引擎所不能匹敌的。它完全与MySQL服务器整合,在主内存中缓存数据和索引而维持其自己的缓冲池。

2024-03-06 17:12:05 1213

原创 mysql笔记:1. 数据库创建与删除

可以使用show databases语句来查看当前所有存在的数据库。其中,mysql用来描述用户访问权限。

2024-03-06 16:16:01 414

原创 Bloom过滤器

Bloom过滤器是一个允许用户描述特定的关键词组合而不必精确表述的基于概率的过滤方法。它能让用户在有效搜索关键词的同时保护他们的隐私。1970年,它由布隆提出的。实际上它是由一个很长的二进制向量和一系列随意映射函数组成。它是一种基于概率的数据结构,主要用来判断某个元素是否在集合内,它具有运行速度快(时间效率),占用内存小的优点(空间效率),但是有一定的误识别率和删除困难的问题。它能够告诉你某个元素一定不在集合内或可能在集合内。

2023-12-23 23:36:23 976 1

原创 java版本转换小工具

【代码】java版本转换小工具。

2023-11-09 17:14:09 200

原创 idea环境下如何打包可运行jar?

工作中有时候偶尔写一些工具类、小程序,可是java程序员制作一个可运行jar实在折腾,利用idea开发环境,可以快速打包自己的可运行jar。具体怎么操作呢?

2023-09-27 15:02:29 934

原创 查看kafka版本信息

2.12是scala版本,2.5.1为kafka版本。

2023-04-07 15:25:45 2633 3

原创 centos中安装运行docker和docker-compose

centos中安装运行docker和docker-compose。

2023-03-27 14:53:32 124

原创 docker-compose部署kafka服务时如何同时允许内外网访问?

最近在学习kafka相关知识,需要搭建自己的kafka环境。综合考虑后决定使用docker-compose来管理维护这个环境。怎么让docker-compose管理的kafka服务同时允许内外网访问呢?

2023-03-08 22:52:57 2470 1

原创 idea 2020 常用配置

本机环境信息如下:

2023-03-07 21:49:54 406

原创 docker常用命令

Docker是一个开源的容器引擎,诞生于 2013 年初,最初是一个开源的 PAAS 服务 (Platform as a ServiceService )。它基于 Google 公司的 Go 语言实现,后来加入了 Linux 基金会,遵从 Apache 2.0 协议。Docker本质上是宿主机上的一个进程,通过namespace实现资源隔离,通过cgroup实现资源限制,通过写时复制技术(copy-on-write)实现了高效的文件操作。

2023-02-26 12:12:34 481 1

原创 Linux tcpdump

tcpdump - 转储网络上的数据流。是不是感觉很懵?

2023-02-13 16:34:31 498

原创 kafka部署与使用

kafka必须使用JDK8+

2023-02-06 16:45:19 146

原创 java Stream

java Stream常用操作

2022-03-26 16:35:32 201

转载 #比特币系列# 四、中央系统虚拟货币的比特村

张洋:一个故事告诉你比特币的原理及运作机制又过了几年,老村长由于每天都要核对大量的旧纸币,写新的纸币,还要把各种账目仔细做好记录。一来二去,老村长操劳过度不幸驾鹤西去了。比特村再次召开全体大会,讨论应该怎么办。此时老村长的儿子二狗子自告奋勇接过了父亲的笔,承担起货币发行的责任。这个年轻的村长二狗子很聪明,他做了几天,发现好像也不用真的写那么多纸。完全可以这样:村民把纸币都交上来,销毁,但是二狗子会记录下每户上交的纸币数量。以后如果要进行付钱,例如老张要拿一克金子向老李换一只羊,就一起给二狗子打个电话.

2021-12-16 16:05:40 6675

转载 #比特币系列# 三、符号货币的比特村

张洋:一个故事告诉你比特币的原理及运作机制好景不长,过了一段时间,实物货币的弊端也出现了。因为比特村附近金矿并不多,开采和冶炼金子太费时费力了。而随着使用,金子总是不断会因为磨损、丢失或有人故意囤积而发生损耗。全村人又一次坐在了一起,开始商讨对策。此时有人说,其实大家也不必一定要真的用黄金啊,随便找张纸,写上“一克黄金”,只要全村人都认同这张纸就等于一克黄金,问题不就解决了。其他人纷纷表示认同,但同时也有了新的问题:真实的黄金是需要开采和冶炼的,金矿有限,开采和冶炼也需要成本,所以没有人可以短期凭空制.

2021-12-16 16:02:23 7012

转载 #比特币系列# 二、实物货币的比特村

张洋:一个故事告诉你比特币的原理及运作机制终于有一天,村民觉得一直这样以物易物实在太不方便了,于是村子全员开会,讨论如何解决这个问题。有人提议,以便于分割且稀有的东西,例如黄金,作为一般等价物,把其它物品和黄金的对应关系编成一张表格,例如一克黄金对应一只羊,一克黄金对应一袋面粉等等,此时老张再也不用扛着一袋面粉气喘吁吁的去老李家换羊了,他只要从家里摸出一克金子,就可以去老李家牵回一只羊,而老李拿着这一克黄金可以从任何愿意出让面粉的人那里换回一袋面粉,当然也可以换取任何和一克黄金等值的物品。此时比特村.

2021-12-16 15:39:40 7709

Hyperledger Fabric kafka配置

Hyperledger Fabric默认使用solo共识,实际上它早就已经支持kafka共识,只是配置相对复杂点儿。该资源就是使用kafka共识的多orderer集群环境下的网络所需要使用的配置文件。你也可以参考下文帮您理解:http://blog.csdn.net/binbinxyz/article/details/79491254

2018-03-09

纯JavaScript实现的复制/剪切库

纯JavaScript实现的复制/剪切库

2015-10-08

java记事本

java版记事本(含源码)。仿照windows系统记事本,实现了标题栏、菜单栏、状态栏等的UI。功能上实现了文件、编辑、格式、查看、帮助菜单。该记事本具体功能有:文件的新建、打开、保存、另存功能,退出功能,撤消、恢复功能,剪切、复制、粘贴、删除功能,跳转到指定行功能,全选、日期时间功能,自动换行功能,查看行号、状态栏、全屏功能,以及查找、替换、字体功能(未实现)。注意:已实现复制、粘贴、剪切功能,已实现撤消、恢复功能,已实现状态栏显示光标行列信息功能,已实现显示行号、全屏功能。欢迎大家下载、体验,随时欢迎各位与我沟通、交流。

2015-09-30

js版俄罗斯方块

俄罗斯方块,一个精典又好玩的游戏。这是一个javascript版本的俄罗斯方块。多浏览器支持(兼容IE,360,火狐等)。

2014-03-17

FilterAndInterceptor

本资源是包含过滤器、拦截器的一个完整的MyEclipse项目。下载后可以直接导入MyEclipse中部署运行。 关于过滤器和拦截器: 过滤器--是在java web中,提前过滤掉一些信息或者提前设置一些参数,然后再传入servlet/struts的 action进行业务逻辑处理。比如过滤掉非法url或者在传入servlet/struts的action前统一设置字符集,或者去除掉一些非法字符等; 拦截器--它由spring管理,只对action起作用,不能拦截jsp页面、图片等其他资源。执行顺序:过滤前 - 拦截前 - Action处理 - 拦截后 - 过滤后

2013-08-20

WebService开发入门(XFire)

网上有很多Web Service开发相关的资料,但java方面的不多,完整的项目示例更少。我整理了一下使用XFire1.2.6进行Web Service开发的思路,尝试完成了一个入门实例(完整的MyEclipse项目)。如果你正在学习Web Service或者对这个有兴趣,你可以下载该附件,导入MyEclipse中运行以查看示例效果。希望对你有用!如果有兴趣,也可以查看我的相关博文http://blog.csdn.net/binbinxyz/article/details/8906990

2013-05-09

jQuery 1.4.1 速查表

jQuery 文档XML文件内英文及代码部分版权归原官方wiki所有,中文部分分属为之漫笔, Shawphy and Cloudream所有。欢迎转载、替换其他XSL样式或其他形式的转载,但必须保证XML文件原样转载,保留署名以及不可用于商业用途。本文档仅供参考,出于方便学习的目的而分发。使用者必须自行承担风险,因使用此文档造成的任何损失或者潜在的损失,译者均不为其负责。

2013-04-28

经典游戏-俄罗斯方块(二)

个人原创代码,js版经典游戏——俄罗斯方块。该游戏经过版本升级,重构后的代码更加优质,修复了1.0版本中出现的多个BUG。该版本加入游戏说明、游戏级别、方块颜色等功能

2013-03-27

经典游戏-俄罗斯方块

个人原创代码,js版经典游戏——俄罗斯方块

2013-03-18

SSI框架整合开发

基于SSI的框架整合开发Demo。该Demo是一个完整的MyEclipse项目,可以直接导入运行。注意:该demo连接oracle数据库,所以需要相应用户及权限。如有必要可以直接修改%项目%/src/jdbc.properties。版本说明:Struts2.1-spring2.5-ibatis2.3。

2013-01-05

struts2_validation

一个健壮的Web应用程序必须确保用户输入是合法的。例如,在把用户输入的信息存入数据库之前,通常需要进行一些检查以确保用户选择的口令不少于n个字符、用户的出生日期不晚于今天,等等。Struts2提供了一些基于XWork Validation Framework的内建验证程序,它们大大简化了输入验证工作。 使用这些验证程序不需要编程,程序员只需要在一个XML文件里对验证程序应该如何工作做出声明就行了。需要声明的内容包括:哪些字段需要进行验证,在验证失败时应该把什么样的出错消息发送到浏览器,等等。 该资源就是完成该示例的一个完整项目,基于MyEclipse完成的。如有兴趣,请下载查看详细内容。

2012-12-24

MD5校验工具

MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。

2012-04-24

ecside_1.30_full

EC Side是一个开源的列表组件。 他源自著名开源列表组件 eXtremeComponents (http://www.extremecomponents.org), 但现在已经脱离eXtremeComponents,独立发展(仍有大量代码来自 eXtremeComponents)。 “做最实用易用的列表组件”是ECSide最终的目标。

2012-03-29

ECSide官方文档

ECSide官方文档 ECSide应用在WEB程序 1 项目说明 1.1 项目模块组成 本项目是结合了ECSide(JSP列表组件)完成了列表的显示,以及单表的增删改查。ECSide是一个开源的列表组件。他源自著名开源列表组件eXtremeComponents(http://www.extremecomponents.org),但现在已经脱离eXtremeComponents,独立发展(仍有大量代码来自eXtremeComponents)。 此项目实现了: 1. 实现了批量增加,批量修改,批量删除 2. 利用ECSide组件实现了列表的分页,排序,查询,修改列宽。其中分页、排序、查询都是基于数据库开发的,对于数据量大的情况下也有非常好的性能。 ……

2012-03-29

使用ant从多个SourceFolder的项目中导出jar包的测试项目

有些项目中存在多个SourceFolder,而我们可能需要从其中一个SourceFolder中导出jar包。使用ant进行简单的编译打包已经不能满足该需求。笔者经过细心研究,找到了一种可行的解决方案。详情请参考该完整的java项目,或者笔者博文《如何使用ant从多个Source Folder的项目中导出jar包? 》(地址:http://blog.csdn.net/binbinxyz/article/details/7361376)

2012-03-19

数字转换成中文大写

在做商业领域中,开发票、支票等与金钱相关的项目时通常会遇到要求把数字转换成中文大写。诸如“壹拾圆陆角玖分”。借鉴网友成熟的想法,再加上我周密的思考,最终形成此代码。压缩包中仅包含一个java文件,里面仅有的一个方法就是转换的方法。该方法经过我多次测试均能正常工作,但我不能保证它不会出现问题。如果你发现了其中的BUG,欢迎留言或邮件通知我。我也会及时更新该代码。

2012-03-15

功能强大的java版代码行数统计程序

一个功能十分强大的java版代码行数统计程序,可以用来统计.java .htm .html .jsp .xml等格式的文件的代码行数。如有需要,可以对本程序稍加扩展,以支持其他格式文件(如.css .js .php等)的代码统计

2012-02-21

java版日历

java版日历,可以查询某一年所有月份的日历,也可以查询某一个指定月份的日历。

2012-02-20

spring参考文档

spring官方参考文档,PDF电子书格式的。 spring-framework-reference.pdf

2012-02-08

testproject

web项目中在jsp页面从文件中读取信息或者向文件中写入信息时文件路径的处理方法

2011-05-26

delphi版的简易计算器程序

一个简易计算器程序,完成了正负整数、小数的加减乘除基本运算。

2010-10-31

java版的时钟应用程序【可直接运行】

一个java版时钟应用程序,可以显示出当前系统的日期和时间。 时针、分针和秒针都会随着时间走动。

2010-10-31

点灯——好玩的java小游戏【免费】

点灯 属性:精彩而又富有挑战性的益智类java小游戏 版本:1.4 自己和同学一块编写了一个小游戏,后来我又抽空进行了修改完善。不会让您失望的!

2010-07-21

空空如也

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

TA关注的人

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