自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BarryLee的博客

每一个优秀的人背后都有一段默默努力的时光

  • 博客(470)
  • 资源 (9)
  • 收藏
  • 关注

原创 生成图、表示图的一个强大方法

图的表示一般是可以使用邻接表、邻接矩阵……来表示的,网上大把,这里介绍的是一种更为强大的方式,基本上可以应对所有的关于图的算法,例如拓扑排序、深搜、广搜、Kruskal、Prim、Dijkstra。创建图的时候是传递一个二维数组过来,matrix[i][0]是权重,matrix[i][1]是起始点的值,matrix[i][2]是终止点的值,最后返回一张图。public class GraphGen...

2018-03-26 15:26:49 3077

原创 ACM中java如何快速输入输出

今天又遇到java做ACM超时的问题。然后网上找了好多方法,最后总结出自己的。java的Scanner 比较慢(出了名的了),但是ACM的要求有比较高。java其实有别的解决方案,就是使用StreamTokenizer与PrintWriter。也有大神有人使用别的方法,但我觉的都太麻烦了。首先是定义:StreamTokenizer in = new StreamTo

2017-11-27 19:42:57 7304 4

原创 HDOJ(航电)题目分类大全

杭电里面有很多题目,如果你需要从简单的做起或者专注与某一类题目,可以从这里开始基础题:1000、1001、1004、1005、1008、1012、1013、1014、1017、1019、1021、1028、1029、1032、1037、1040、1048、1056、1058、1061、1070、1076、1089、1090、1091、1092、1093、1094、1095、

2017-10-08 22:13:52 3967

原创 DFA敏感词算法

然而,DFA算法的构建过程比较耗时,因为需要预先构建状态转换表和敏感词字典树,但这个过程通常在系统启动时进行,不会影响到实际的匹配性能。DFA算法的核心是构建一个有限状态自动机,该自动机由一个有限数量的状态和状态之间的转换构成。在字符串匹配过程中,算法会从字符串的开头开始,根据字符逐步转移到下一个状态,直到匹配完整个模式或者无法继续匹配。在状态转换表中,每个状态代表当前匹配到的字符串前缀,表格中的每一项表示在当前状态下,接受某个字符后转移到的下一个状态。本文代码基于Spring Boot。

2023-07-03 16:02:49 1269

原创 【Redis-入门阶段】基本数据结构

学习Redis支持的数据结构,包括字符串、列表、哈希、集合和有序集合,并了解如何进行基本的操作,如增删改查等

2023-02-25 10:49:11 479

原创 【Redis-入门阶段】背景和用途,以及上手安装

Redis是一款高性能的键值数据库,主要用于缓存和持久化数据,支持多种数据结构和高级功能。在实际的应用场景中,Redis常常被用来作为数据缓存和分布式锁的解决方案。本篇博客将介绍Redis的背景和用途,以及如何安装和使用Redis

2023-02-25 10:00:52 483

原创 简单总结一下分布式锁

MySQL等数据库做分布式锁锁表的设计:主键、要锁定的资源字段(唯一索引)、有效开始时间、有效结束时间,flag(锁是否有效)加锁,就是插入一条记录,如果要锁定的资源已经上锁了,肯定是插不了记录的,因为有唯一索引解锁,就是把数据删掉定时任务,定时去检查锁是否过期,过期修改flagRedis做分布式锁1.单点Redis分布式锁redis指令为:setnx [key] [value] ex 1010秒,ex要放到同一个指令,保证原子性存在的问题:如果业务时间比较长,可能10秒到了,锁过期了

2021-03-27 22:39:48 240

原创 连儿笔记 MVCC多版本并发控制

1、MVCC​ MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。 MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能,用更好的方式去处理读写冲突,做到即使有读写冲突时,也能做到不加锁,非阻塞并发读。2、当前读​ 像select lock in share mode(共享锁), select for update ; up

2021-03-25 23:01:51 230

原创 Java集合的快速失败机制 “fail-fast”

快速失败是java集合的一种错误检测机制,当多个线程对集合进行结构上的改变的操作 时,有可能会产生 fail-fast 机制。例如:假设存在两个线程(线程1、线程2),线程1通过Iterator在遍历集合A中 的元素,在某个时候线程2修改了集合A的结构(是结构上面的修改,而不是简 单的修改集合元素的内容),那么这个时候程序就会抛出ConcurrentModificationException 异常,从而产生fail-fast机制。原因:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 mo

2021-03-19 09:30:28 249

原创 Linux内核发家史

Kernel:操作系统内核fd:文件描述符,Linux一切皆文件,不管是文本文件还是网络 Socket 都有其文件描述符。其实就是文件的一个索引值,任何一个进程都有文件描述符一、BIO客户端连接过来,假设是文件描述符 fd 8,用户空间的一个线程过去read fd 8 阻塞等着处理,有数据就处理,没数据就阻塞等待;这个弊端很明显,线程很可能空闲着,浪费资源。socket 在这个时期是 blocking 的[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vKmRhfzB-

2021-03-08 23:51:54 205

原创 分布式事务两阶段提交

分布式CAP回顾一致性 Consistency: 在分布式系统中数据往往存在多个副本,一致性描述的是这些副本中的数据在内容和组织上的一致可用性 Availability: 描述系统对用户的服务能力,所谓可用是指在用户能够容忍的时间范围内返回用户期望的结果分区容错性 Partition Tolerance: 分布式系统通常由多个节点构成,由于网络是不可靠的,所以存在分布式集群中的节点因为网络通信故障导致被孤立成一个个小集群的可能性,即网络分区,分区容错性要求在出现网络分区时系统仍然能够对外提供一致性的

2020-12-17 16:20:52 256 2

原创 Dubbo隐式传参-Dubbo RpcContext的使用

package com.ght.park.biz.api.filter;import com.alibaba.fastjson.JSON;import com.ght.park.biz.api.shiro.JwtUtil;import com.ght.park.web.constants.ShiroConstants;import com.ght.park.web.dto.LoginUser;import org.apache.dubbo.common.extension.Activate;i

2020-10-20 21:05:30 1743

原创 SpringBoot json不返回空

配置文件加上这几句就可以了spring: jackson: default-property-inclusion: non_null

2020-10-15 20:46:46 771

原创 我们为什么需要SpringCloud

大家都在用,我也用?一般的想法就是:项目过大,需要拆服务,服务之间需要互相调用、协调,所以使用SpringCloud。但是,这写功能 Soap / Dubbo 都可以,而且SpringCloud的使用更麻烦。。。所以真正的原因是: 生态,spring老大哥,啥都有,注册中心、网关、熔断、降级等等全家桶 异构,通过http,可以调不同语言的平台,比如支付宝微信等等 可插拔 --- http 无状态,效率比dubbo长连接要低,A服务调用B服务不是强依赖,可以调这个B,也可以调

2020-06-15 23:14:19 395

原创 使用Spring Boot2.x Actuator监控应用并控制UP/DOWN

SpringCloud的Admin监控组件基于ActuatorActuator通过服务的心跳向注册中心(比如Eureka)上报健康状况服务添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>.

2020-06-14 17:42:54 917

原创 SpringCloud入门篇笔记

Spring CloudSpring Cloud 自 2016 年 1 月发布第一个 Angel.SR5 版本,到目前 2020 年 3 月发布 Hoxton.SR3 版本,已经历经了 4 年时间。这 4 年时间里,Spring Cloud 一共发布了 46 个版本,支持的组件数从 5 个增加到 21 个。Spring Cloud 在 2019 年 12 月对外宣布后续 RoadMap:下一个版本 Ilford 版本是一个大版本。这个版本基于 Spring Framework 5.3 & Sp

2020-06-13 20:41:22 445

原创 Eureka高可用集群手把手搭建

手把手项目搭建选择镜像写mvn配置选择Eureka Server单节点搭建在启动类加上@EnableEurekaServer注解package com.bl.eureka;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.clou

2020-06-07 22:14:17 486

原创 从字节码文件聊到 i=i++

看这里https://segmentfault.com/a/1190000021522701,也是我的博客本来在 CSDN 写的,但是 CSDN 的图片上传简直不能看

2020-01-08 12:34:13 184

原创 spring整合junit4

import com.bl.spring8.bean.Account;import com.bl.spring8.config.SpringConfiguration;import com.bl.spring8.service.IAccountService;import org.junit.Before;import org.junit.Test;import org.junit.r...

2019-11-17 09:38:25 208

原创 封装继承多态还是封装抽象继承多态

一直觉得很奇怪,为啥我们讲到面向对象的时候总会有两种说法一种是三大特性,一种是说四大特性,原因如下抽象这个概念是一个非常通用的设计思想,并不单单用在面向对象编程中,也可以用来指导架构设计等。而且这个特性也并不需要编程语言提供特殊的语法机制来支持,只需要提供“函数”这一非常基础的语法机制,就可以实现抽象特性,所以,它没有很强的“特异性”,有时候并不被看作面向对象编程的特性之一。什...

2019-11-15 15:04:53 354

原创 mybatis -- 插入数据并获取自增长Id

xml 方式: <insert id="insertUserAndGetId" parameterType="com.bl.crud01.mapper.User"> <selectKey keyProperty="id" keyColumn="id" resultType="int" order="AFTER"> select last_inse...

2019-11-11 22:25:16 254

原创 自定义一个简单的MyBatis -- XML -- queryAll

为了使用起来和mybatis是一样一样的,名字也跟mybatis一样,先出一个xml版本的查询pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20...

2019-11-10 22:58:06 1087

原创 Establishing SSL connection without server's identity verification is not recommended.

错误:Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if e...

2019-10-29 10:30:36 161

原创 QUARTZ入门Demo

quartz下载地址:http://www.quartz-scheduler.org/downloads/package quartz.example1;import static org.quartz.DateBuilder.evenMinuteDate;import static org.quartz.DateBuilder.evenSecondDateAfterNow;imp...

2019-10-23 21:05:25 124

原创 ObjectInputStream java.io.EOFException解决

Exception in thread "main" java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2681) at java.io.ObjectInputStream$BlockDataInputStream.readShort(Objec...

2019-10-20 21:19:23 3977

原创 Java BIO的几个简单练习

package grammar2;import java.io.*;import java.nio.charset.StandardCharsets;/** * @Deacription IO 相关几个练习 * @Author BarryLee * @Date 2019/10/20 8:48 */public class G03IOPractice { public st...

2019-10-20 10:07:42 256

原创 Java中的序列化

序列化将一个对象存放到某种类型的永久存储器上称为保持。如果一个对象可以被存放到磁盘或磁带上,或者可以发送到另外一台机器并存放到存储器或磁盘上,那么这个对象就被称为可保持的。(在Java中,序列化、持久化、串行化是一个概念。)java.io.Serializable接口没有任何方法,它只作为一个“标记者”,用来表明实现了这个接口的类可以考虑串行化。类中没有实现Serializable的对象不...

2019-10-19 22:31:31 133

原创 解决Frame闪烁问题(双缓冲)

与paint方法同级,加上这段代码就OK了private Image offScreenImage = null; public void update(Graphics g) { if(offScreenImage == null) { //这是游戏窗口的宽度和高度 offScreenImage = this.createImage(Constant.G...

2019-10-16 10:50:18 699 2

原创 策略模式简述

我觉得设计模式这东西,最好还是反复看看书,推荐Head First我也是看这个的(https://pan.baidu.com/s/1x0aiZHEz_UMa_fKa8QNWbg ---- njh1)嗯,不用谢。标准的定义是:策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户简单来讲就是有好几个算法,他就是用来决定使用哪一...

2019-09-22 17:01:20 315

原创 用Java实现一个最简单的番茄钟

我只想要一个最简单最纯粹的番茄钟,奈何找不到。。。好吧,自己写呗,代码真的很简单,我就弹个框就得了哈哈哈import javax.swing.*;/** * @Deacription 一个简单的番茄钟 * @Author BarryLee * @Date 2019-7-6 23:02 */public class Main { public static void ...

2019-07-08 00:03:03 1213

原创 Android studio新建的空白项目报错

File -> sync project with gradle file然后ctrl + f9 (make project)一下,再run ,就OK了

2019-06-03 12:25:35 1421

原创 pre标签溢出解决

pre { word-wrap: break-word; white-space: pre-wrap;}

2019-05-26 20:42:41 1628 1

原创 Java 延时执行任务

本意是做验证码有效时长的,记录一下new Timer().schedule(new TimerTask() { @Override public void run() { // todo } }, 10*60*1000);

2019-05-25 12:39:51 737

原创 ES6 - 简单介绍代理(Proxy)

学Java的时候学过,所以没感觉到什么神奇的,就是提取一个通用的做法,比如读取一个对象中的某个属性的时候需要判空,每次都需要这么做,这可以使用代理来做,当然,如果只是判空就没意思了,这是用来处理更复杂的业务逻辑的,比如数据库操作需要连接数据库或者处理异常,可以考虑使用代理来一段简单的let person = { name: "barry"};// Proxy对象,第一个参数为被...

2019-04-08 20:15:06 296

原创 JS Set遍历

JavaScript的Set只有键名,或者是说键和值一样顺便提一下,JS可以使用这个在线编辑调试,非常棒https://blog.csdn.net/qq_38238041/article/details/88869133const set = new Set(['aa','bb','cc']);// 获取所有keyfor(let key of set.keys()) { ...

2019-03-28 15:35:46 8102

原创 JS 数组去重、字符串去重

let arr = [1,2,3,4,4,3,3,6];let str = 'ababaddde';let res1 = [...new Set(arr)];console.log(res1); // [1, 2, 3, 4, 6]let res2 = [...new Set(str)].join('');console.log(res2); // "abde"数组去重的另一...

2019-03-28 14:54:25 418

原创 推荐一个在线编写js、html、css神器

JS Bin - Collaborative JavaScript Debugging

2019-03-28 14:53:25 2846

原创 JS 一句话获取数组最大值

通常情况下我们会使用第一种方法,但是有一种非常简单的方法:Math.max.apply(null,arr)const arr = [16,2,4,32,6,7];function max(arr) { let maxVal = arr[0]; for(let i of arr) { maxVal = maxVal>i?maxVal:i; } return m...

2019-03-28 14:14:08 1444

原创 我目前在工作中常用的git指令

先讲一下:这篇文章适合有一点点git基础并且电脑安装好了git,刚刚到职场有点蒙蔽的的同学看,因为我就是这么一个个坑爬过来的,然后推荐廖雪峰的git教程,个人觉得不错,我自己还没看完,大家共勉git的安装就不讲了1.你去到一家公司,要使用到git,首先是安装好git,然后第二步是知道怎么将远程的项目clone下来指令是git clone [路径]2.你克隆下来的是mas...

2019-03-19 13:38:19 1097 2

原创 npm install 报错 - code EINTEGRITY sha1

npm ERR! code EINTEGRITYnpm ERR! sha1-F8b22R2owVwncEo+OIM9Z1kqOVk= integrity checksum failed when using sha1: wanted sha1-F8b22R2owVwncEo+OIM9Z1kqOVk= but got sha1-65zsXJnJjAVIDtOI25R7Koa2940=. (592...

2019-02-20 13:34:41 2323

jdk8中文帮助文档.rar

这个文档是java8的中文帮助文档,由google翻译进行翻译的。个人决定还OK

2019-05-31

winrar 5.61 32位 64位 破解版

winrar5.61经典解压缩软件,包含32位,64位的中文版,经过本人测试,win7,8,10都是支持的,注意,解压后的 .key 文件与安装路径一致

2019-02-09

jquery中英文手册、js

有些同学确实不会怎么找到jQuery的中文手册,这里分享一下。当然这里还有英文的手册,还有js源码:jquery-1.4.4.js、jQuery1.6-apiEN、jquery1.7CH.chm、jquery-1.8.1.js、jquery-3.3.1.js、就不一 一列举了

2018-10-15

spring-security-core-3.1.0.RELEASE

spring-security-core-3.1.0.RELEASE,使用这个工具包可以不用自己写MD5加密了

2018-10-01

贪吃蛇源码

一个简单的贪吃蛇小程序,提供源码、素材及解析,值得注意的是,需要修改包名和代码中的图片的位置

2017-11-13

Java连接数据库的工具类

本资源是java开发的常用工具类,包括01.DTD约束文档,02.Schema约束文档,c3p0,commons-dbutils-1.6,commons-io-2.4,commons-pool-1.5.6,mysql-connector-java-5.1.37

2017-11-10

2016年软件设计师真题及答案

本资源为2016年软件设计师考试真题及答案,包括上半年下半年的上午题及下午题。答案有比较详尽的解析,可以作为考前复习之用

2017-11-09

java 基本功训练题及参考答案

如果你在学java的路上,那么这些题目会让你走的更快。

2017-10-03

课程设计之推箱子

你可能需要一个完整的推箱子源码来进行学习,这个源码具有十分完整的注释,还有经过优化的界面和背景音乐

2017-10-03

空空如也

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

TA关注的人

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