自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

哈希马普的博客

虽然不知道最终能否成功,但我还是要努力一下!

  • 博客(79)
  • 资源 (5)
  • 收藏
  • 关注

原创 数据结构基本概念

数据对象-数据元素-数据项(属性),前者由后者组成。2、结构类型(由原子类型组成,例如数组)3、抽象数据类型(例如Java里面的类)定义:按某种关系的数据元素的集合。1、原子类型(例如整型)

2023-09-02 12:46:03 587

原创 Go 错误处理

【代码】Go 错误处理。

2023-04-11 15:52:39 158

原创 解决锁超时Lock wait timeout异常

解决锁超时问题

2022-10-09 22:30:31 4630 1

原创 zookeepper学习笔记

第 1 章 Zookeeper 入门1.1 概述Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目。Zookeeper工作机制Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。1、 服务端启动时去注册信息(创建都是临时节点)2、客户端获取到当前

2022-06-26 12:05:23 400

原创 vue ref属性

定义被用来给元素或者子组件打标识的属性(对应js的id属性)应用场景应用在html标签上,获取的是真实的dom元素:<h1 v-text="msg" ref="title"></h1>应用在组件标签上,获取的是组件实例对象:<School ref="component"/>最佳实践如下代码,点击按钮前的内容是没有设置字体颜色的,现在需求要将字体颜色设置为红色,这时候我们就得使用ref属性。首先在<h1>标签属性上打上ref="title"标

2022-05-01 18:07:42 1055

原创 vue 脚手架文件结构及render函数的作用

vue脚手架文件结构.文件目录├── node_modules├── public│ ├── favicon.ico: 页签图标│ └── index.html: 主页面├── src│ ├── assets: 存放静态资源│ │ └── logo.png│ │── component: 存放组件│ │ └── HelloWorld.vue│ │── App.vue: 汇总所有组件│ └── main.js: 入口文件├── .gitigno

2022-05-01 16:41:29 188

原创 通过天气案例学习vue的计算属性和监控属性

计算属性computed里面可以写一些函数用于处理要显示的动态变化的信息,监控属性watch可以监控某个变量的状态然后再去执行对应的方法。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-e

2022-03-27 13:56:42 876

原创 分析插入排序

题目给你一个n代表有n个数字,然后你需要使用插入排序将这些数字从小到大排好。输入描述:第一行输入一个n,代表有n个数字第二行输入n个数输出描述:输出排序好后的n个数示例1输入44 3 2 1输出1 2 3 4思路1、先把0~1下标的数排序,3比3小交换4和3,结果:3 4 2 12、然后把0~2下标的数排序,2比4小交换2和4,2比3小,交换2和3,发现3和4之前排过序了,所以只需要拿最后一个数一直与前面的数比较,如果小就交换,结果:2 3 4 13、然后把0~3下标的数排序

2022-02-27 12:30:37 438

原创 springboot自动配置原理

注册入口所在包springboot入口代码:@SpringBootApplicationpublic class SpringbootApplication { public static void main(String[] args) { SpringApplication.run(SpringbootApplication.class, args); }}@SpringBootApplication里面是:@SpringBootConfiguratio

2022-02-23 22:49:50 166

原创 时间复杂度和空间复杂度

定义时间复杂度是算法中,描述常数级时间操作数量的指标。计算方法首先列出操作表达式,然后只要高阶项(高阶项系数也去除)。举例N个数从小到大排序,取最坏的情况,N、N-1…4、3、2、1排序,那么先找最小的数需要N次查询和比较,还需要N次更新最小值的下标,就可以把最小值更新到最前面。以此内推,第二个数需要(N-1)次查询、比较和更新…总计aN*N+bN+c次,只留最高阶,即时间复杂度是O(N^2)。熟悉了之后,因为知道表达式是计算等差数列之和且系数会被去掉,所以一开始都是考虑最坏的情况。应用评价一

2022-02-22 17:00:50 330

原创 linux service管理

学韩顺平linux的笔记:定义service本质就是运行在后台监听某个端口的守护进程,比如mysqld、sshdservice管理指令service 名称 [ start | stop | restart | status | reload ]使用虚拟机终端查询有哪些service,关闭其中的network,会发现使用MobaXterm没法输入linux命令并且过会儿超时断开。再通过指令开启,恢复原样。[zxomm@zyc01 init.d]$ ll /etc/init.d/总用量 40-

2021-12-07 23:31:10 364

原创 docker作用及三要素

docker作用1、解决不同环境部署的问题2、解决集群部署的问题,一次镜像构建,处处运行(war包——》镜像)docker定义解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术docker优势1、更轻量:仅包含业务运行所需runtime环境,CentOS/Ubuntu基础镜像仅170M;宿主机可部署100~1000个镜像2、更高效:无操作系统虚拟化开销docker三要素1、镜像:打包好的运行环境,是容器的模板2、容器:容器是镜像创建运行的实例。3、仓库:

2021-09-21 19:23:28 465

原创 python编程 cs61A笔记01-02

What is Computer Science?什么问题用计算可以解决?如何用技术高效解决那些问题? content = "ada asdfsf sdfasdfs asdfasdfawsf wwwsadfwww abwwwba" test = content.split() words = set(test) var = {w for w in words if w == w[::-1] and len(w) > 5} print(var)输出:{'ab

2021-09-20 22:53:38 344

原创 多线程知识脑图

链接: 多线程知识脑图高清地址.

2021-02-09 23:16:45 148 1

原创 如何保证分布式系统接口幂等?

为什么要保证接口幂等这是实战经常遇到的一个问题,举个例子:我们系统的开票接口受理对方系统的报文(结算单号settleNo+开票单号ticketNo)由于网络抖动或者前端提交多次导致同一笔重复请求,如果不设置幂等,我们系统就会受理多笔相同的请求,最终可能导致多次重复开票的问题。所以我们要保证接口幂等,使得重复请求只会成功一次。同步锁synchronized可行吗同步锁synchronized只能解决单机Jvm的接口幂等,由于分布式系统有很多台机器,该方法无法应对。如何保证分布式接口幂等mysql唯

2021-01-15 22:47:51 247

原创 查询隧道数据里面的字段的值

隧道数据里面存放了{“incomeType”,“2423423”}这样的字符串,使用REPLACE(JSON_EXTRACT(e.TUNNELDATA, ‘$.incomeType’),’"’,’’)求得“2423423”select b.BP_NO, REPLACE(JSON_EXTRACT(e.TUNNELDATA, '$.incomeType'),'"','') AS INCOME_TYPE, REPLACE(JSON_EXTRACT(e.TUNNELDATA, '$.

2020-10-28 02:58:00 183

原创 only_full_group_by bug

sql执行报错: select DATA_TYPE as taskType, BP_NO as bpNo , MAIN_COMPANY_CODE as mainCompanyCode, TRANDATE as transDate, FILE_BATCH_NO as fileBatchNo from cs_settle_detail where DATA_TYPE= #{dataType,jdbcType=VARCHAR}

2020-10-28 01:48:43 116

原创 Mysql 34道经典试题答案及解析

首先初始化数据:drop table if exists dept;drop table if exists salgrade;drop table if exists emp; create table dept( deptno int(10) primary key, dname varchar(14), loc varchar(13) ); create table salgrade( grade int(11), losal int(11), hisal

2020-09-10 22:43:02 2460

原创 mycat水平拆分——按用户ID分表

为什么要分表当订单表的订单数达到上千万时,查询效率就会变慢,于是就需要分表。为什么按照用户ID分表订单表如果按照主键ID分表的话,那么同一个用户的订单可能分布在不同的机器节点上,查询起来效率不如同一个节点的。所以最好按照用户ID分表。server.xml主要用于定义用户以及系统相关变量,如端口等。这里为了与mysql作区分,name取用户名mycat,另外设置逻辑库名。<user name="mycat"> <property name="pas

2020-08-30 18:25:37 1245

原创 linux启动mycat遇到各种报错,踩坑艰难爬出

1、linux到mycat下的bin文件,执行客户端启动命令:./mycat console,却发现没有权限,于是chmod 777 具体文件,给各个文件都加上操作权限。2、继续执行./mycat console,报错:wrapper | Launching a JVM...wrapper | JVM exited while loading the application.jvm 5 | Java HotSpot(TM) Server VM warning: ignoring optio

2020-08-23 22:36:54 4397 6

原创 mysql思维导图

processon高清地址:mysql思维导图

2020-08-15 07:41:20 701 1

原创 sql分组函数

分组函数:count、max、min、avg、sum分组函数自动忽略null,null与任何值运算,结果都为null分组函数不可直接在where子句中使用!因为分组函数是在group by后面执行的,而group by又在where后面执行。所以where 后面不能是分组函数。分组函数通常与group by一起使用,按照某个字段分组。如果没有group by,则自成一组count(*)是记录包含null的总条数,count(字段名)是记录不含null的总条数分组函数也叫多行处理函数,意思是多条记录

2020-07-20 23:46:51 356

原创 循环依赖报错 Requested bean is currently in creation: Is there an unresolvable circular reference?

原因今天做项目遇到了这个坑,字面上看是触发了循环依赖,由于我使用的是构造器注入,所以遇到循环依赖就会导致报错。如图所示,我的依赖链形成了一个环路。为什么构造器注入不行因为要实现循环依赖就得在A调用B,B再调用A的时候,A提前放入singletonFactories三级缓存,否则A和B都没法实例化。而加入singletonFactories三级缓存的前提是执行了构造器,所以构造器注入的循环依赖没法解决,它使用了自己的构造器。spring源码如下: // Eagerly cache singleton

2020-06-29 20:03:40 14843 1

原创 mysql索引总结

索引的本质索引是为了高效获取数据排好序的数据结构索引的目的如果没有索引,那么你是通过全表查询查找数据的,因为数据分散在磁盘的各个地方,所以会没有顺序的查很多次,而且每次查询都是一次磁盘IO交互,可想而知数据越来越多,查询速度会越来越慢。如图所示,通过排好序的数据结构,获取数据会更高效。当然索引底层并不是二叉树,这里只是大致做个形象的对比。为什么数据结构不用二叉树呢?因为二叉树在index一直递增的情况下,由于后面一个总是比前面的大,数据是单边查询的,效率也不高。...

2020-06-14 22:22:23 135

原创 Spring扩展

Spring实例化流程要想对Spring进行扩展,首先得先了解Spring实例化流程。如下UML图所示,像普通Java类一样,运行Main方法后,JVM将类文件加载到方法区。public class Test { public static void main(String[] args) { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); //S

2020-05-31 18:07:46 540

原创 基于UML图对比Java类的实例化与Spring实例化

2020-05-28 23:44:39 443

原创 Spring的循环依赖

Spring的两个Bean可以循环依赖吗?我们首先在一个Spring项目里面准备两个Bean,让它们互相依赖注入:@Componentpublic class IndexService { @Autowired private UserService userService; public IndexService() { System.out.println("from IndexService"); } public void getUserService() { user

2020-05-27 23:58:19 436

原创 OpenJdk源码阅读——Object

wait public static void main(String[] args) throws InterruptedException { Object o = new Object(); o.wait();}报错:在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,当前线程等待。 换句话说,此方法的行为就好像它仅执行wait(0) 调用一样。当前线程必须拥有此 对象监视器 。该线程发布对此监视器的所有权并等待 ,直到其他线

2020-05-25 13:01:12 243

原创 Web项目动态部署

Web项目为什么要动态部署因为我们测试环境与生产环境的很多配置不尽相同,比如FTP上传或下载路径等。我们通过动态部署就可以根据不同环境发布不同的配置。动态部署如何实现步骤一:如下图所示,spring启动时,applicationContext.xml里面的propertyConfigurer复制加载文件配置,比如这里先到/WEB-INF目录下以键值对的形式加载application.properties的内容到内存,比如此处ip.ftp.proxyFtpConfig是key,/proxy/是value

2020-05-22 13:04:19 473

原创 单元测试错误Mock了Mapper对象导致invocationtargetexception

今天在别人写了一半的单元测试基础上准备覆盖下剩下的,于是写下如下测试代码:@Mockprivate FcoCertMapper fcoCertMapper; PowerMockito.when(fcoCertMapper.selectCertInfoList(Mockito.any(CertQueryDto.class))).thenReturn(infoVos); certManageServiceImpl.selectCertInfoList(dto);执行后报错

2020-05-18 12:36:29 2245

原创 JDK源码学习范围和顺序

Java源码下面主要学习如下7个包io math lang net nio time util最先学lang,lang里面先学散列在包中的各个类,再学里面的reflect、annotation包然后学util,util里面先学散列在包中的各个类,再学里面的concurrent、function、stream包接着学io、time、nio、math、net这几个包优先级详见:猴子哥哥1024的总结...

2020-05-17 16:10:22 396

原创 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

系统报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.XXX.frids.mapper.FridsUserLoginInfoMapper.insert定位问题报错提示mybatis无效的绑定,Mapper与xml文件没有绑定好,FridsUserLoginInfoMap...

2020-04-28 17:02:19 124

原创 maven安装jar包到本地仓库并且跳过单元测试

首先通过命令行进入到Pom文件所在文件目录,然后输入命令:mvn clean install -Dmaven.test.skip=true

2020-04-26 20:44:22 312

原创 mybatis插入数据后返回自增主键

场景我们在插入数据后经常需要返回自增主键的值方法在xml文件的insert标签中加入keyProperty=“id” useGeneratedKeys=“true” <insert id="insert" keyProperty="id" useGeneratedKeys="true" parameterType="com.suning.frids.dmo.FridsUserLog...

2020-04-26 19:20:23 191

原创 受理接口流程及常用工具包总结

一、应用场景上游通过RPC调用我们的系统,我们首先通过API层受理,然后API层调用BIZ层处理业务逻辑。二、受理接口步骤1、参数转换将Map<String, Object>类型的入参转为我们接口文档定好的对象,通常使用fastJson来处理。 FridsUserLoginInfoDto dto = JSON.parseObject(JSON.toJSONString(pa...

2020-04-26 14:28:14 184

原创 Spring揭秘——什么是IOC和DI

一、IoC的基本概念IoC全称Inversion of Control,即控制反转。它的核心技术是DI (Dependency Injection),即依赖注入。什么是IOC?打个比方,我们要做一个系统,为客户提供股票新闻。通常我们需要从不同的新闻社订阅新闻来源,然后通过批处理程序定时到指定的新闻服务器抓取最新的股票新闻,接着保存数据库,最后在前端显示。代码如下:public class F...

2020-02-23 22:39:43 206

原创 Effective Java 第一章——引言

本书大多数规则都源于以下几条基本原则:1、清晰性和简洁性:模块用户不该被模块行为迷惑2、代码应该被重用而不是被拷贝3、模块之间的依赖应尽可能最小4、错误应该尽早被检测出,最好是编译时Java支持四种类型1、接口2、类3、数组4、基本类型注意:前三种通常被称为引用类型,类的实例和数组是对象,而基本类型不是对象。...

2020-02-12 22:03:36 149

原创 Spring实战笔记之装配Bean

任何一个成功的应用都是由多个为了实现某一个业务目标而相互协作的组件构成的。例如:在一个在线购物系统中,订单管理组件需要和产品管理组件以及支付组件协作。在Spring中,对象无需自己查找或创建与其关联的其他对象,容器负责把需要相互协作的对象引用赋予各个对象。创建应用对象之间协作的关系的行为通常称为装配,这也是依赖注入的本质。Spring装配bean的可选方案1、在XML中进行显示配置2、在...

2020-01-31 21:48:38 188

原创 Spring实战笔记之依赖注入

Spring的作用Spring是为了简化企业级应用开发而创建的。Spring是如何简化Java开发的它采取了以下4种关键策略:1、基于POJO的轻量级和最小侵入性编程2、通过依赖注入和面向接口实现松耦合3、基于切面和惯例进行声明式编程4、通过切面和模板减少样板式代码基于POJO的轻量级和最小侵入性编程Spring竭力避免因自身的API而弄乱应用代码,最多使用下Spring的注解。...

2020-01-30 22:07:00 290

原创 Spring官方文档总结(持续更新)

Spring IoC容器和bean的介绍这是一个对象定义他们的依赖的过程,容器在创建bean时注入这些依赖。因为不再是自己new依赖,让spring控制,所以也叫做控制反转(IoC)。BeanFactory接口提供了配置框架和基本功能。ApplicationContext是BeanFactory的子接口,它提供更多企业级应用的相关功能。容器概述org.springframework.con...

2020-01-17 20:12:03 515

spring-framework-5.1.x.zip

spring源码 The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.

2020-01-09

servlet_java_idea_demo.rar

从零开始基于IDEA和独立的Tomcat构建servlet 因为使用IDEA的WEB模板构建项目会省去很多细节,所以为了更加了解servlet项目结构,我们采用IDEA最基本的JAVA项目来构建。

2019-11-29

tomcat_80.rar

1. 移除了对换变量中配置的CATALINA_HOME和CATALINE_BASE的依赖,运行startup.bat就一定是启动当前的tomcat。 2. 删除了webapps里的所有文件夹,避免未删除的ROOT目录与server.xml中的context配置发生冲突可能导致的错误

2019-11-23

stm32ADC采集

用寄存器程序写的基于stm32的ADC采集程序,程序非常规范合理,非常有用。

2014-05-17

矩阵键盘中断扫描程序

名称:矩阵键盘依次输入控制 使用行列逐级扫描 中断方式 内容:如计算器输入数据形式相同 从右至左 使用行列扫描方法 中断方式可以有效提供cpu工作效率,在有按键动作时才扫描,平时不进行扫描工作

2013-06-04

空空如也

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

TA关注的人

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