- 博客(599)
- 收藏
- 关注
原创 Go实现生产者消费者模型
Go实现生产者消费者模型基于同步锁实现import ( "fmt" "sync")var ( productCount = 5 mutex sync.Mutex cond = sync.NewCond(&mutex))type producer struct {}func (r *producer) produce() { for { cond.L.Lock() if productCount < 10 { productCount++ fmt
2021-06-10 16:00:27
461
原创 Go语言入门
Go语言入门安装Go环境安装集成开发环境语法基础包包的声明包的导入导出名函数函数定义参数列表简化多返回值返回值的命名变量变量的初始化短赋值语句基本数据类型整型浮点型布尔型其他数字类型零值分支结构forifswitchdefer指针结构体数组切片安装Go环境安装包下载地址:https://golang.org/dl/,打不开可以在https://studygolang.com/dl下载。下载安装完成后可打开Win+R进入cmd查看是否安装成功,输入go version 成功显示版本号则安装成功安装
2021-06-09 15:50:19
407
2
原创 datagrid调用getEditor为null?这样你试过了吗?
解决easyui的datagrid调用getEditor获取为null的方法前言问题引入问题解决方案一方案二前言 在使用easyui的datagrid时遇到了这么一个问题,使用getEditor获取editor的结果为空,记录一下解决过程。问题引入 var row = $('#tt').datagrid('getSelected'); var rowIndex = $('#tt').datagrid('getRowIndex',row); let ed ed = $('#tt
2020-05-28 08:34:31
1331
原创 MyBatis报错分析There is no getter for property named 'XXX' in 'class XXX'
There is no getter for property named 'XXX' in 'class XXX'前言问题描述问题分类前言 今天遇到一个比较常见的问题,但因为出错原因不止一种,所以还是可以总结一下的。问题描述 当我们使用Mybatis时可能会经常看到类似这样的报错信息There is no getter for property named ‘XXX’ in ‘cla...
2020-01-22 14:02:58
7402
原创 机器学习中的假设检验
机器学习中的比较检验前言假设检验前言 在前文中,我们了解了实验模型的评估方法和性能度量,看起来就能够对学习器进行评估比较了:先使用某种评估方法测得学习器的某个性能度量结果,然后对这些结果进行比较。那么如何作比较呢?是直接取得性能度量的值然后比“大小”吗?但实际上没有这么简单,因为我们希望比较的是泛化性能,但通过实验的方法我们能获得的只是测试集上的性能,两者未必相同,其次,由于测试集选择的不同...
2020-01-20 08:02:43
3616
7
原创 机器学习中的性能度量指标
机器学习中的性能度量指标前言概念引入分类中的性能度量错误率与精度查准率与查全率PR图F1与FβROC与AUC代价敏感错误率与代价曲线前言 前文中我们了解了几种机器学习中模型评估的方法,但在实际应用中对学习器的泛化性能进行评估,不仅仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评估标准,这就是本文中要了解的性能度量。概念引入 性能度量反映了任务需求,在对比不同模型的能力时,使用...
2020-01-18 18:11:45
729
原创 机器学习模型的评估与选择
机器学习模型的评估与选择前言概念引入评估方法留出法交叉验证法自助法总结前言 在上一篇文章中,我们主要了解了什么是机器学习,机器学习的范围,应用方式和一些常用的概念。在本文中,我们将来了解机器学习中模型的评估与选择。概念引入 先来明确几个概念:通常我们把分类错误的样本数占总样本总数的比例称为“错误率”,即如果在m个样本中有a个样本分类错误,则错误率E=a/m;对应的,1-a/m称为精度,...
2020-01-18 11:01:56
698
原创 机器学习基础概念指北
机器学习基础概念指北前言什么是机器学习机器学习的方法监督式学习无监督式学习监督式学习中的泛化与拟合前言 机器学习正在迅速的改变着我们的世界,我们生活中的方方面面都在被机器学习所改变。当我们在淘宝或是京东上购物时,当我们使用百度或谷歌等搜索引擎时,当我们在浏览抖音和快手时,就已经触碰到了机器学习的应用。使用这些服务的用户会产生数据,这些数据会被收集,进行预处理后用来训练模型,而这些模型会通过这...
2020-01-14 19:38:10
399
原创 关于HashMap,这些你了解吗
关于HashMap,这些你了解吗前言关于数据结构关于源码前言 在面试中,只要涉及了Java基础,HashMap几乎是逃不过的,关于HashMap能考的东西有很多,那么你都了解了吗,本文中就将带大家认识什么是HashMap。关于数据结构 最基础的问题,什么是HashMap,它的数据结构又是怎样的?首先所有的Map都是由key-value的键值对组成的,这样的键值对在Java1.7之前的H...
2020-01-09 18:37:02
327
原创 log4j日志配置详解
log4j日志配置详解log4j是由apache提供的一个开源的轻量级日志管理框架。主要由三个重要部分构成:日志的输出格式,优先级以及输出目的地。1.日志信息的优先级用来指定这条日志信息的重要程度;2.日志信息的输出目的地指定了日志将打印到控制台还是文件中(或其它组件中);3.输出格式则控制了日志信息的显示内容 。日志级别:Log4j的日志级别总共七种:OFF,FETAL,ERROR,...
2019-12-31 18:12:21
375
1
原创 ServletContextListener使用详解
ServletContextListener使用详解 在servlet-api中有一个ServletContextListener接口,跟接口名描述的一致,它是用来监听ServletContext的生命周期的,也就是监听Web应用的生命周期。ServletContext是一个为整个Web应用提供共享的内存的对象,任何请求都可以访问里面的内容。 ServletContextListener接...
2019-12-30 19:00:55
657
原创 解决Spring对静态变量无法注入问题
解决Spring对静态变量无法注入问题问题引入解决方案问题引入今天遇到了一个问题一个注入的URL一直为NULL,原来是因为static关键字,Spring并不支持对静态成员变量注入,所以光使用@Autowired肯定是不行的,那么该如何解决这个问题呢。解决方案通过Set方法注入,但需要注意的是,静态变量生成的set方案仍然带有static关键字,需要去掉才能成功注入 @Autowired...
2019-11-20 18:50:26
549
原创 Kano模型
Kano模型简介图示使用方法总结简介 KANO 模型是东京理工大学教授狩野纪昭(Noriaki Kano)发明的对用户需求分类和优先排序的有用工具,以分析用户需求对用户满意的影响为基础,体现了产品性能和用户满意之间的非线性关系。 根据不同类型的质量特性与顾客满意度之间的关系,狩野教授将产品服务的质量特性分为五类:基本(必备)型需求——Must-beQuality/ Basic Qua...
2019-10-30 08:25:49
5606
原创 问题解决:VARCHAR类型数据排序
问题描述 在开发过程中,我们经常会遇到需要对数据排序的操作,但数据在库中的存储类型不一定是支持排序的,比如VARCHAR就不支持,那么如果和VARCHAR类型的数值进行排序呢。解决方案 cast(value as decimal),使用cast函数将VARCHAR类型的value字段转为decimal类型就可以排序了。其中CAST函数可转换的类型是有限制的,只能转成如下类型:二进制...
2019-10-24 07:43:41
731
原创 Linux系统的五种IO模型
Linux系统的五种IO模型概述阻塞IO模型非阻塞IO模型信号驱动IO模型多路复用IO模型异步IO模型五种IO模型对比概述在Linux系统中,共有5种IO模型,它们分别是:阻塞IO模型,非阻塞IO模型,信号驱动IO模型,多路复用IO模型和异步IO模型执行IO操作的过程分为两个步骤:数据准备和数据拷贝阻塞IO模型进程或线程等待某个条件,如果条件不满足,一直等下去;如果条件满足,进行下一步操...
2019-10-24 07:36:36
945
原创 LeetCode-整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。...
2019-10-24 07:35:01
187
原创 【问题解决】This scheduler instance is still active but was recovered by another instance in the cluster.
报错信息WARN org.quartz.impl.jdbcjobstore.JobStoreSupport.findFailedInstances(JobStoreSupport.java:3396) This scheduler instance (XXX) is still active but was recovered by another instance in the cluster...
2019-10-15 08:27:37
33886
5
原创 麦肯锡七步成诗法
麦肯锡七步成诗法解决问题的七个步骤界定问题分解问题问题排序分析议题关键分析归纳建议交流沟通内涵场景解决问题的七个步骤界定问题可用Smart方法:(1)specific(具体而不空泛)(2)Measurable(可以衡量的,可定量的)(3)Attainable(可实现的,以行动为导向的)(4)Relevant(相关的)(5)Time-outband(有时限性的)分解问题 主要使...
2019-10-02 16:27:02
1846
原创 MECE分析法
MECE分析法特点相互独立 Mutually exclusive完全穷尽 Collectivelt exhaustive五大优势内涵场景特点相互独立 Mutually exclusive不重叠分清完全穷尽 Collectivelt exhaustive无遗漏分尽五大优势条理清晰全面周密穷根究底分析透彻便于检验内涵 对重大议题,进行不重叠、不遗漏的分类,有效把握问题核...
2019-10-02 16:06:03
3751
原创 常见字符转义
XML和HTML常用转义字符XML和HTML中都有一些特殊的字符,这些字符在XML和HTML中是不能直接使用的,如果必须使用这些字符,应该使用其对应的转义字符。XML常用转义字符|字符|转义字符|描述||–|--|| | |HTML常用转义字符...
2019-09-28 09:14:43
2083
原创 Node-sass安装失败的坑
Node-sass安装失败的坑问题描述在引入Vue项目,执行npm run dev时报错,显示node-sass安装失败,一般来说是越少了某项依赖环境引起的解决方案根据报错信息找到缺少的依赖并配好环境,后执行以下操作npm install -g node-gypnpm install --global --production windows-build-toolsnpm insta...
2019-09-24 21:18:52
567
原创 金字塔原理
金字塔原理特征内涵图示特征1.结构必定只支持一个思想,这个思想将概括各级各组思想2.任何一个层次的思想都必须是下一层思想的概况3.每组中的思想必须属于同一范畴4.每组中的思想必须按照逻辑顺序组织内涵结论先行,中心思想在最开头以上统下,上层思想是下层的概况归纳分组,每一组思想属于同一的范畴逻辑递进,每一组思想有一定的逻辑顺序图示...
2019-09-20 08:35:43
825
1
原创 使用MockMvc进行单元测试
使用MockMvc进行单元测试 在前后端分离的项目中,我们经常需要测试接口,除了使用第三方工具或是接口文档进行测试,我们还可以在测试代码中使用MockMvc进行单元测试。首先创建一个被测试的接口@RestControllerpublic class HelloController { @GetMapping("/hello") public String hello()...
2019-09-13 21:15:15
622
原创 Cron表达式
Cron表达式简介简介Cron的语法格式Cron表达式中每个时间元素的说明Cron格式中特殊字符的说明简介Cron表达式是一个字符串,包括6~7个时间元素,可以用于指定任务的执行时间。Cron的语法格式Seconds Minutes Hours DayofMonth Month DayofWeekCron表达式中每个时间元素的说明时间元素可出现的字符有效数值范围S...
2019-09-08 08:39:43
258
原创 找不到org.apache.commons.pool2.impl.GenericObjectPoolConfig的解决方法
异常记录Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletEndpointRegistrar' defined in class path resource [org/springframework/boot/actuate/aut...
2019-09-07 14:30:12
5118
原创 五种常用线程池的特征和作用
五种常用线程池的特征和作用newCachedThreadPoolnewFixedThreadPoolnewSingleThreadExecutornewScheduledThreadnewSingleScheduledThreadnewCachedThreadPool作用:创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们,并在需要时使用提供的 ThreadFactor...
2019-09-06 10:45:28
420
原创 问题解决:Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for co
问题Mybatis配置出错 Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.XXX.BaseResultMap原因在启动项目时提示已存在结果集异常,该错误是因为一个xml文件命名空间下中同时存在两个一样名称的结果集。主要出现这个异常是在使用逆向工...
2019-09-05 16:23:12
9641
原创 Spring实现批处理任务
Spring实现批处理任务前言创建业务数据编写SQL脚本创建实体类创建一个中间处理器前言本文主要讲述基本的批处理任务的解决方案。创建业务数据手动创建一个文件来模拟业务数据src/main/resources/sample-data.propertiesJill,DoeJoe,DoeJustin,DoeJane,DoeJohn,Doe编写SQL脚本接下来写一个sql脚本创建...
2019-09-04 11:17:37
682
原创 Scheduled实现定时任务
Scheduled实现定时任务前言创建项目创建一个定时任务类开启定时任务测试前言本文主要讲解如何使用Spring实现定时任务调度。在读完这篇文章后,你将会了解到如何使用@Sheduled注解实现每隔一段时间执行任务。创建项目首先创建一个Spring Boot工程,无需导入任何依赖创建一个定时任务类每5秒打印一次时间package com.yjn.schedule;import o...
2019-09-04 10:14:32
537
原创 Spring 5新特性
Spring 5 新特性前言运行环境核心修改前言Spring当前的版本已经到了5.1.9,本文主要介绍Spring 5中的新特性。运行环境Spring 5.0正常运行时,需要以下环境:JDK 8或以上版本支持JDK 9相关特性需要Java EE 7 API支持Servlet3.1、Bean Validation 1.1、JPA 2.1 、JMS 2.0 、Tomcat 8.5+、...
2019-09-04 09:06:42
274
原创 Eureka注册服务提供者
Eureka注册服务提供者本文主要介绍如何创建服务提供者和向服务中心注册创建Spring Boot工程创建工程时选中Web添加Eureka依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3....
2019-09-03 16:37:45
253
原创 Eureka搭建服务注册中心
Eureka搭建服务注册中心前言创建服务注册中心创建一个普通的Spring Boot工程添加Eureka依赖启动一个服务注册中心配置服务注册中心测试前言 Spring Cloud是一个一站式分布式框架,为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以...
2019-09-02 17:10:40
220
原创 SpringCloud问题解决:spring-cloud-eureka启动出错Cannot execute request on any known server
场景在启动eureka server时,出现以下错误:com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connectcom.netflix.discovery.shared.transport.TransportException: Cannot...
2019-09-01 14:46:20
512
原创 Spring Cloud简介
Spring Cloud简介分布式框架的发展历程第一代服务框架第二代服务框架第三代服务框架Spring Cloud概述Spring Cloud的特点Spring Cloud中的核心子项目分布式框架的发展历程第一代服务框架代表:Dubbo(Java)、Orleans(.Net)等特点:和语言联系紧密第二代服务框架代表:Spring Cloud现状:适合混合式开发(例如借助Steelto...
2019-08-31 19:25:21
393
原创 秒杀业务解决方案
秒杀业务解决方案概述秒杀业务背后的技术挑战业务高并发,服务高负载业务耦合度高如何解决秒杀瓶颈秒杀架构设计思路前端方案后端方案控制器层服务层数据库层总结概述 秒杀业务是互联网公司电商项目中的标志性业务,是典型的高并发场景。秒杀业务主要的问题是大量用户短时间内涌入,导致瞬时流量巨大,对于数据库、缓存的性能是一个巨大考验。秒杀业务背后的技术挑战业务高并发,服务高负载 我们通常衡量一个服务器...
2019-08-30 10:16:51
1611
原创 从单体到微服务
从单体到微服务什么是单体单体架构的好处分层架构六边形架构SOASOA的特点微服务优点缺点什么是单体 一个归档包(可以是JAR、WAR、EAR或其它归档格式)包含所有功能的应用程序,通常称为单体应用。而架构单体应用的方法论,就是单体应用架构。单体架构的好处开发简单易于做大规模更改测试简单部署简单横向扩展简单分层架构六边形架构SOA 面向服务的架构(SOA)是一个...
2019-08-29 10:32:26
1131
原创 问题解决:Cause: org.xml.sax.SAXParseException; 文档根元素 "configuration" 必须匹配 DOCTYPE 根 "mapper"
发生此错误的原因:mybatis的映射文件文件头错误,如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"...
2019-08-28 14:17:21
1020
原创 扩展立方体
扩展立方体前言图示X轴扩展Z轴扩展Y轴扩展前言 本文主要介绍在《The Art of Scalability》书中描述的扩展立方体,这是一个描述项目扩展性的模型,主要描述项目演进过程中如何在各个方面进行扩展。图示 扩展立方体定义了三种不同的扩展应用程序的方法:X轴扩展在多个相同实例间实现请求的负载均衡,Y轴扩展通过拆分功能将项目分解为多个服务,Z轴扩展根据请求的属性路由请求。X...
2019-08-28 08:56:30
897
原创 如何设计一个消息队列
如何设计一个消息队列前言面试官心理分析面试题剖析前言 在面试中,消息队列也是经常被考察的点,本文中我们将要来分析的面试题是:如果让你写一个消息队列,该如何进行架构设计?说一下你的思路。面试官心理分析 其实聊到这个问题,一般面试官要考察两块: 你有没有对某一个消息队列做过较为深入的原理的了解,或者从整体了解把握住一个消息队列的架构原理。看看你的设计能力,给你一个常见的系统,就是消息...
2019-08-27 11:16:30
1029
原创 IDEA报错:Unable to save settings: Failed to save settings. Please restart IntelliJ IDEA
Unable to save settings: Failed to save settings. Please restart IntelliJ IDEA 今天启动IDEA的时候遇到了一个问题:Unable to save settings: Failed to save settings. Please restart IntelliJ IDEA。???这是什么情况?让我重启?好吧,然...
2019-08-26 14:54:44
1454
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人